Travis build failure

Having trouble installing or compiling FreeCAD? Get help here.
triplus
Posts: 8786
Joined: Mon Dec 12, 2011 4:45 pm

Re: Travis build failure

Postby triplus » Thu Aug 22, 2019 1:45 am

ezzieyguywuf wrote:
Thu Aug 22, 2019 1:30 am
If not can you post the error?
Sure, we can discuss this further tomorrow, after the build will finish. I believe that Boost issue should be resolved now and Netgen will likely need to get disabled too. Best to wait for the logs to get produced first.
I browsed around the travis-ci a bit but couldn't find a failing build.
If you will click on the last link @sgrogan provided, there are build jobs listed. Clicking on one of them should take you to the log for that build job.

P.S. As for changing the matrix, quick search indicated Bionic isn't supported yet on Travis, hence Py3/Qt5 builds aren't a feasible option for now. Updating to Xenial and having Py2/Py3/Qt4/GCC/Clang in the matrix, using OCCT 7.3 from the stable PPA. This therefore is the set goal for now.
wmayer
Site Admin
Posts: 14988
Joined: Thu Feb 19, 2009 10:32 am

Re: Travis build failure

Postby wmayer » Thu Aug 22, 2019 5:35 pm

gcc with Python2 works now but clang with Python2 stops due to a linking error in FreeCADApp and gcc with Python3 stops because shiboken cannot be found.

I think the build matrix for clang should be changed to use Python3 as this will be the default Python version. Possibly this solves also the linking error.
User avatar
sgrogan
Posts: 5453
Joined: Wed Oct 22, 2014 5:02 pm

Re: Travis build failure

Postby sgrogan » Thu Aug 22, 2019 8:52 pm

triplus wrote:
Thu Aug 22, 2019 1:45 am
P.S. As for changing the matrix, quick search indicated Bionic isn't supported yet on Travis
I saw all the bionic stuff in the Travis docs and thought it was supported. I now see its beta and only partially supported
https://travis-ci.community/t/for-dist- ... -rust/4487
triplus
Posts: 8786
Joined: Mon Dec 12, 2011 4:45 pm

Re: Travis build failure

Postby triplus » Fri Aug 23, 2019 2:05 am

OK, i guess we are down to Clang. The underlying issue is related to the toolchain itself. GCC 5, Boost and Clang 3.8 (on Xenial) don't play along nicely, due to introduction of attribute abi_tag ([abi:cxx11]). The Clang package on Xenial did got patched, but the issue still occurs. Tomorrow i will investigate on why and what are possible solutions. Currently i am thinking that trying to upgrade Clang might end up being an option.
triplus
Posts: 8786
Joined: Mon Dec 12, 2011 4:45 pm

Re: Travis build failure

Postby triplus » Fri Aug 23, 2019 3:51 pm

Regarding Clang o Xenial. I am afraid that there is an underlying toolchain related issue at play and it can't be easily fixed. Travis uses some customization on top of the Xenial. Hence looking closely they actually use Clang 7 by default. But somehow the GCC 5, Boost and Clang 3.8 related abi_tag ([abi:cxx11]) issue persist. I updated all packages, used the official instructions on how to use different Clang version (tested with Clang 8) and have installed Clang 6 from Xenial repositories and have set is as default. None of that had any effect on the abi_tag issue and the build always failed consistently. Bionic will likely resolve this issue, but currently it is said only some scripting languages are supported, for C++ builds it still uses a Xenial image as a fallback.
triplus
Posts: 8786
Joined: Mon Dec 12, 2011 4:45 pm

Re: Travis build failure

Postby triplus » Fri Aug 23, 2019 4:25 pm

I dig a bit further and i think i understand on why it's failing. The main problem is while Clang 3.8+ did got a patch, libboost-regex1.58 in Xenial never did. I found a PPA that provides the latest Boost (currently 1.70). I will try it out in a couple of hours or tomorow.
triplus
Posts: 8786
Joined: Mon Dec 12, 2011 4:45 pm

Re: Travis build failure

Postby triplus » Fri Aug 23, 2019 11:20 pm

The Boost related PPA is missing boost_python, CMake will error as the result. In short, the mentioned abi_tag related issue is more or less preventing us to use Xenial on Travis in some straightforward fashion. Upgrading from Trusty to Xenial therefore likely won't happen anytime soon, if we would like to have the Clang option on Xenial in the matrix. On the good side, i tried the Bionic option, and it looks like it could already work for us. Contrary to what people has been saying, just a few days back, i don't see any fallback to Xenial for GCC/Clang build jobs. Therefore i will do more tests in the following days and hopefully we can get Bionic up and running.

What should be the targeted matrix? Py3/Qt5 option is something we can explore now, GCC/Clang and what about Py2?
wmayer
Site Admin
Posts: 14988
Joined: Thu Feb 19, 2009 10:32 am

Re: Travis build failure

Postby wmayer » Sat Aug 24, 2019 11:14 am

Thanks for testing!
What should be the targeted matrix? Py3/Qt5 option is something we can explore now, GCC/Clang and what about Py2?
IMO, we could drop Py2 completely because it's only a bit more than 4 months when Py2 support officially expires.
User avatar
sgrogan
Posts: 5453
Joined: Wed Oct 22, 2014 5:02 pm

Re: Travis build failure

Postby sgrogan » Sat Aug 24, 2019 12:47 pm

triplus wrote:
Fri Aug 23, 2019 11:20 pm
The Boost related PPA is missing boost_python
An option would be to USE_PYBIND11, this removes the boost-python dependency. Bionic would be better because of QT5.
wmayer
Site Admin
Posts: 14988
Joined: Thu Feb 19, 2009 10:32 am

Re: Travis build failure

Postby wmayer » Sat Aug 24, 2019 2:53 pm

sgrogan wrote:
Sat Aug 24, 2019 12:47 pm
triplus wrote:
Fri Aug 23, 2019 11:20 pm
The Boost related PPA is missing boost_python
An option would be to USE_PYBIND11, this removes the boost-python dependency. Bionic would be better because of QT5.
Don't know if this works because on my Xubuntu 18.04 using the pybind11 package leads to tons of build failures.