Opened 3 months ago

Last modified 2 days ago

#74 accepted defect

make static failures - Divine 4.3.2

Reported by: imartisko Owned by: mornfall
Priority: major Milestone: 4.3
Component: other Keywords:
Cc: jamartis@…, kdudka@…

Description

Hello,

based on the info from the issue #73, we are trying to make the static build of the divine, however the build fails with errors.

The build fails with the attached error log, this causes the cmake, to fail the tests regarding the c++11 compatibility and ends with the "C++11 or greater is required but the compiler does not support c++11" error. When we tried to build/link the "cmTC_a6c04" file manually, we were able to get rid of the error by removing the "-nodefaultlibs" option.

We use the patches from the issue #71, and build using the gcc/g++ (switching to clang did not seem to have any effect). We use the stable 4.3.2 release.

Thanks,
Jakub

Attachments (1)

CMakeError.log (241.6 KB) - added by imartisko 3 months ago.

Download all attachments as: .zip

Change History (4)

Changed 3 months ago by imartisko

Attachment: CMakeError.log added

comment:1 Changed 3 months ago by mornfall

Can you try setting LDFLAGS = -lgcc in local.make? The -nodefaultlibs comes from libc++ upstream and I would prefer to not change their cmake stuff more than required. Hopefully this will get resolved when we update libc++.

comment:2 Changed 2 months ago by imartisko

I've tried the using the local.make, but the build still fails, and there seems to be no changes int the error log (I've tried this with the 4.3.4 version).

comment:3 Changed 2 days ago by mornfall

Status: newaccepted

The magic incantation that works around the problem on Debian stable is LDFLAGS = -lc -lgcc -lgcc_eh ... don't ask. I am not sure there is a portable fix for this, other than waiting for libc++ to get their act together (we are currently at libc++ 9, which is pretty new and the build still fails on Debian without the above... it works okay on Alpine, which we normally use for static builds, since that way they are actually static, unlike the mess one gets with glibc).

Note: See TracTickets for help on using tickets.