Page MenuHomeFreeBSD

Update CMake to 3.11.0
ClosedPublic

Authored by adridg on Feb 25 2018, 9:16 PM.
Tags
None
Referenced Files
Unknown Object (File)
Tue, Apr 2, 10:23 AM
Unknown Object (File)
Feb 28 2024, 8:23 AM
Unknown Object (File)
Feb 6 2024, 2:24 AM
Unknown Object (File)
Jan 28 2024, 2:55 AM
Unknown Object (File)
Jan 17 2024, 7:47 AM
Unknown Object (File)
Dec 27 2023, 5:02 AM
Unknown Object (File)
Dec 27 2023, 5:02 AM
Unknown Object (File)
Dec 27 2023, 4:59 AM

Details

Summary

Updates to latest release. This makes some of our patches
unnecessary, since they have gone upstream. Apply some new
hacks to get it to build BLAS and OpenMP.

Test Plan
  • It builds on amd64 11.1, i386 10.3
  • Needs testing on aarch64

Diff Detail

Repository
rP FreeBSD ports repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

I think I had some threading issues here when trying to build CMake from git a while ago too. Do you have the exact error message at hand so we could investigate? A quick build of 3.11.0-rc1 on Fedora shows me something like this:

[ 90%] Linking CXX executable ../bin/cmake
/usr/bin/ld: libCMakeLib.a(cmQtAutoGeneratorMocUic.cxx.o): undefined reference to symbol 'pthread_create@@GLIBC_2.2.5'
//usr/lib64/libpthread.so.0: error adding symbols: DSO missing from command line

but everything works fine with master.

devel/cmake/Makefile
22 ↗(On Diff #39718)

USES=libarchive was added by bapt in r392537. Was there a specific reason to remove it? Does not removing it fix the threading issues you mentioned?

[ 90%] Linking CXX executable ../bin/cmake
/usr/bin/ld: libCMakeLib.a(cmQtAutoGeneratorMocUic.cxx.o): undefined reference to symbol 'pthread_create@@GLIBC_2.2.5'
//usr/lib64/libpthread.so.0: error adding symbols: DSO missing from command line
[ 87%] Linking CXX executable ../bin/cmake
/usr/bin/ld: undefined reference to symbol `pthread_create@@FBSD_1.0' (try adding -lthr)
//lib/libthr.so.3: could not read symbols: Bad value
c++: error: linker command failed with exit code 1 (use -v to see invocation)

but everything works fine with master.

It's not about the code, though: the port builds with configure --system-libs, but usually when you build by hand you just run configure. And whatever it's doing then (finding some of the libraries in the system) is getting -pthread into the linker flags, which does the trick as well.

devel/cmake/Makefile
22 ↗(On Diff #39718)

USES adds a dependency on ports libarchive, while libpkg depends in base libarchive, and I was getting linker warnings that libarchive.so.13 might conflict with libarchive.so.6. I don't think this has anything to do with the threading issues -- I have ports libarchive installed and it is found and used if I don't enable the pkg generator in CPack but the threading issue persists.

devel/cmake-doc/pkg-plist
1 ↗(On Diff #39718)

empty line.

devel/cmake-doc/pkg-plist
3 ↗(On Diff #39718)

^ this should not be %%CMAKE_BUILD_TYPE%% but explictely release

Update to 3.11.0 final, fix FindBLAS and FindOpenMP; 0 new fallout
failures on a local 11.1 build.

adridg retitled this revision from Update CMake to 3.11.0-rc1 to Update CMake to 3.11.0.Apr 8 2018, 12:59 PM
adridg edited the summary of this revision. (Show Details)

Fix up plist for cmake-doc

Marked stuff as done (plist-issues, and about libarchive).

This revision was not accepted when it landed; it landed in state Needs Review.Apr 15 2018, 9:44 PM
This revision was automatically updated to reflect the committed changes.