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

CMake: fix undefined reference to pthread_create #146

Merged
merged 1 commit into from
Feb 20, 2024

Conversation

jschueller
Copy link
Contributor

on conda-forge/linux I got this kind of error with 12.0 (ok in 11.x):

-- The CXX compiler identification is GNU 9.3.1
-- Check for working CXX compiler: /opt/rh/devtoolset-9/root/usr/bin/c++
-- Check for working CXX compiler: /opt/rh/devtoolset-9/root/usr/bin/c++ - works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Performing Test atomic64
-- Performing Test atomic64 - Success
-- Performing Test ftree_vectorize
-- Performing Test ftree_vectorize - Success
-- Performing Test fvect_cost_model
-- Performing Test fvect_cost_model - Success
-- Configuring done
-- Generating done
-- Build files have been written to: /usr/local/src/primesieve-12.0
Scanning dependencies of target libprimesieve
[  3%] Building CXX object CMakeFiles/libprimesieve.dir/src/api-c.cpp.o
[  7%] Building CXX object CMakeFiles/libprimesieve.dir/src/api.cpp.o
[ 14%] Building CXX object CMakeFiles/libprimesieve.dir/src/EratMedium.cpp.o
[ 14%] Building CXX object CMakeFiles/libprimesieve.dir/src/CountPrintPrimes.cpp.o
[ 28%] Building CXX object CMakeFiles/libprimesieve.dir/src/EratBig.cpp.o
[ 28%] Building CXX object CMakeFiles/libprimesieve.dir/src/Erat.cpp.o
[ 28%] Building CXX object CMakeFiles/libprimesieve.dir/src/CpuInfo.cpp.o
[ 28%] Building CXX object CMakeFiles/libprimesieve.dir/src/EratSmall.cpp.o
[ 32%] Building CXX object CMakeFiles/libprimesieve.dir/src/iterator-c.cpp.o
[ 35%] Building CXX object CMakeFiles/libprimesieve.dir/src/iterator.cpp.o
[ 39%] Building CXX object CMakeFiles/libprimesieve.dir/src/IteratorHelper.cpp.o
[ 42%] Building CXX object CMakeFiles/libprimesieve.dir/src/LookupTables.cpp.o
[ 46%] Building CXX object CMakeFiles/libprimesieve.dir/src/MemoryPool.cpp.o
[ 50%] Building CXX object CMakeFiles/libprimesieve.dir/src/PrimeGenerator.cpp.o
[ 53%] Building CXX object CMakeFiles/libprimesieve.dir/src/nthPrime.cpp.o
[ 57%] Building CXX object CMakeFiles/libprimesieve.dir/src/ParallelSieve.cpp.o
[ 60%] Building CXX object CMakeFiles/libprimesieve.dir/src/popcount.cpp.o
[ 64%] Building CXX object CMakeFiles/libprimesieve.dir/src/PreSieve.cpp.o
[ 67%] Building CXX object CMakeFiles/libprimesieve.dir/src/PrimeSieve.cpp.o
[ 71%] Building CXX object CMakeFiles/libprimesieve.dir/src/RiemannR.cpp.o
[ 75%] Building CXX object CMakeFiles/libprimesieve.dir/src/SievingPrimes.cpp.o
[ 78%] Linking CXX shared library libprimesieve.so
[ 78%] Built target libprimesieve
Scanning dependencies of target primesieve
[ 82%] Building CXX object CMakeFiles/primesieve.dir/src/app/help.cpp.o
[ 85%] Building CXX object CMakeFiles/primesieve.dir/src/app/main.cpp.o
[ 89%] Building CXX object CMakeFiles/primesieve.dir/src/app/CmdOptions.cpp.o
[ 96%] Building CXX object CMakeFiles/primesieve.dir/src/app/test.cpp.o
[ 96%] Building CXX object CMakeFiles/primesieve.dir/src/app/stressTest.cpp.o
[100%] Linking CXX executable primesieve
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: CMakeFiles/primesieve.dir/src/app/stressTest.cpp.o: undefined reference to symbol 'pthread_create@@GLIBC_2.2.5'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /lib64/libpthread.so.0: error adding symbols: DSO missing from command line

this might be due to primesieve exe using std::threads

@jschueller jschueller marked this pull request as ready for review February 20, 2024 07:26
@kimwalisch
Copy link
Owner

Thanks, too sad my CI didn't catch this. I will likely release 12.1 in two weeks.

@kimwalisch kimwalisch merged commit 78489db into kimwalisch:master Feb 20, 2024
@jschueller jschueller deleted the thread branch February 20, 2024 08:19
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