dev-cpp/libcmis need -P to preprocessor Reproducible: Always
Created attachment 401320 [details, diff] patch to build with gcc5
Could it be that easy? Upstream has the following patch in git: http://sourceforge.net/p/libcmis/code/ci/645df9a0885931001e0a7afaf56de39cd33f9119/
I think the "big" upstream patch has to do with C++11 standard being forced by gcc5. For now, in Gentoo dev-libs/boost has: # Do _not_ use C++11 yet, make sure to force GNU C++ 98 standard. append-cxxflags -std=gnu++98 When I removed above line from ebuild and recompiled boost my patch was no longer sufficient.
(In reply to Cănărău Constantin from comment #0) > dev-cpp/libcmis need -P to preprocessor > > Reproducible: Always Just renaming the ebuild libcmis-0.5.0.ebuild into libcmis-9999.ebuild and adding =dev-cpp/libcmis-9999 to /etc/portage/package.accept_keywords solves it for me here (gcc-5.1.0).
(In reply to Cănărău Constantin from comment #1) > Created attachment 401320 [details, diff] [details, diff] > patch to build with gcc5 Neat, thanks, I confirm the problem and that this patch allows libcmis-0.5.0 to build with gcc 5.1.0. There are test failures, from /var/tmp/portage/dev-cpp/libcmis-0.5.0/work/libcmis-0.5.0/qa/libcmis/test-suite.log ============================================== libcmis 0.5.0: qa/libcmis/test-suite.log ============================================== # TOTAL: 8 # PASS: 7 # SKIP: 0 # XFAIL: 0 # FAIL: 1 # XPASS: 0 # ERROR: 0 .. contents:: :depth: 2 FAIL: test-ws ============= .E.E.E.E...E.E.E.E.E..E.E.E.E.E.E..E..E.E.E.E.E.E.E.E.E.E.E.... !!!FAILURES!!! Test Results: Run: 36 Failures: 0 Errors: 27 1) test: WSTest::getRepositoriesTest (E) uncaught exception of type std::logic_error - basic_string::_M_construct null not valid ... more similar failures
upstream fixed version (dev-cpp/libcmis-9999) works at its best. Upstream devs should do a bump.
So, meanwhile I've tried the patch on a pre-gcc-5 system and it doesn't make things worse (i.e. I can't reproduce the test failure).
Created attachment 403294 [details] Modified libcmis-0.5.0.ebuild I did a bit of reading and checking out of what changes upstream did to fix the problem, and noticed they did not apply the -P flag, but rather used a fix included in the boost.m4 file that does... something... with sed to concatenate lines output by gcc after preprocessing. This fix in boost.m4 requires for configure to be re-generated. The way I've gone around the issue is by creating two patches using `git format-patch`. One of the patches has the work they did to fix the gcc5 problem, and the other fixes a bug (probably the one that was failing with tests). With these patches in place, and a modified ebuild to run eautoreconf to update the build scripts, libcmis build fine and tests report no problems. I'll be attaching the patches momentarily.
Created attachment 403296 [details, diff] libcmis-0.5.0-fix-boost-configuration-with-gcc-5.patch Both attachments should go in the files directory of the ebuild.
Created attachment 403298 [details, diff] libcmis-0.5.0-avoid-use-after-delete.patch
The tests pass here anyway, so that's a different problem. Compatibility patch (from upstream) added.
*** Bug 555982 has been marked as a duplicate of this bug. ***