Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Travis CI config #554

Merged
merged 2 commits into from
Feb 9, 2016
Merged

Conversation

jszuppe
Copy link
Contributor

@jszuppe jszuppe commented Feb 8, 2016

  • disable running tests in linux build as fglrx does not work,
  • use OpenCL-ICD to in linux build (now we can at least build tests),
  • enable OSX build
    • currently it's allowed to fail as there are many Invalid Work Group Size errors, some are legit, some are very weird
    • only clang as building with gcc gives Undefined symbols for architecture x86_64: errors I don't know how to fix (see https://travis-ci.org/boostorg/compute/jobs/107840912#L3677)

I'll later try POCL drivers + linux. I don't know if we can use Intel OpenCL driver as it works only on Intel CPU (Core, Xeon etc.) and I'm not sure if builds always run on machine with Xeon CPU.

@jszuppe jszuppe force-pushed the update-travis-ci branch 8 times, most recently from 8dc8582 to e527c42 Compare February 8, 2016 18:54
Disable testing in Linux (fglrx does not work), use
OpenCL-ICD to build in Linux, enable OSX build.
@jszuppe
Copy link
Contributor Author

jszuppe commented Feb 9, 2016

I added -Wno-deprecated-declarations to all builds, because OpenCL 1.2 cl.h file is used and Boost.Compute contains calls to deprecated OpenCL API functions in order to maintain backward compatibility. It was explained here a few times. I don't know why after suppressing deprecated declaration warnings are still printed. There is also another solution to this problem:

#pragma GCC diagnostic push 
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
//use deprecated stuff
#pragma GCC diagnostic pop

-Wno-c99-extensions was added to OSX build, because otherwise this error occurs roboptim/roboptim-core#74 error: empty macro arguments are a C99 feature. Maybe someone has better solution?

In OSX build the newest available Boost is used, in Trusty build 1.55 version and in precise 1.48 version. I think we should add linux build with up-to-date Boost, unfortunately we would need to build it..

kylelutz added a commit that referenced this pull request Feb 9, 2016
@kylelutz kylelutz merged commit c2cac3b into boostorg:develop Feb 9, 2016
@kylelutz
Copy link
Collaborator

kylelutz commented Feb 9, 2016

Awesome! Thanks for getting this to work again!

@kylelutz
Copy link
Collaborator

kylelutz commented Feb 9, 2016

Yeah, building Boost from source may be to much work. Are there still time limits for Travis builds on the new infrastructure?

Instead we may just want to wait until Ubuntu 16.04 comes out in a couple months. As this is the new LTS, hopefully Travis will update and we'll get the newer Boost with that.

@jszuppe
Copy link
Contributor Author

jszuppe commented Feb 9, 2016

Well, we just need to build System, Filesystem, Test and Thread. I think it's possible to build it and cache it using ccache (https://docs.travis-ci.com/user/caching/#ccache-cache). But first I'll try to use POCL.

As for time limits:

Because it is very common for test suites or build scripts to hang, Travis CI has specific time limits for each job. If a script or test suite takes longer than 50 minutes (or 120 minutes on travis-ci.com), or if there is not log output for 10 minutes, it is terminated, and a message is written to the build log.

I'll also look into OSX-related bugs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants