relevant build log part: Making all in exrheader make[1]: Entering directory '/storage/tmp/paludis/media-libs-openexr-2.0.1-r1/work/openexr-2.0.1-amd64/exrheader' /bin/sh ../libtool --tag=CXX --mode=link x86_64-pc-linux-gnu-g++ -pipe -O2 -ggdb -pipe -march=native -minline-stringops-dynamically -mtls-dialect=gnu2 -floop-block -floop-interchange -ftree-loop-distribution -floop-strip-mine -ftree-vectorize -fmerge-all-constants -fira-loop-pressure -Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,--enable-new-dtags -Wl,--gc-sections -Wl,--hash-style=gnu -o exrheader main.o -lImath -lHalf -lIex -lIexMath -lIlmThread -pthread ../IlmImf/libIlmImf.la -lz libtool: link: x86_64-pc-linux-gnu-g++ -pipe -O2 -ggdb -pipe -march=native -minline-stringops-dynamically -mtls-dialect=gnu2 -floop-block -floop-interchange -ftree-loop-distribution -floop-strip-mine -ftree-vectorize -fmerge-all-constants -fira-loop-pressure -Wl,-O1 -Wl,--sort-common -Wl,--enable-new-dtags -Wl,--gc-sections -Wl,--hash-style=gnu -o .libs/exrheader main.o -pthread -Wl,--as-needed ../IlmImf/.libs/libIlmImf.so -lImath -lHalf -lIex -lIexMath -lIlmThread -lz -pthread /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.2/../../../../lib64/libIlmThread.so: undefined reference to `sem_init' /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.2/../../../../lib64/libIlmThread.so: undefined reference to `sem_destroy' /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.2/../../../../lib64/libIlmThread.so: undefined reference to `pthread_create' /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.2/../../../../lib64/libIlmThread.so: undefined reference to `sem_post' /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.2/../../../../lib64/libIlmThread.so: undefined reference to `sem_trywait' /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.2/../../../../lib64/libIlmThread.so: undefined reference to `sem_getvalue' /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.2/../../../../lib64/libIlmThread.so: undefined reference to `sem_wait' /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.2/../../../../lib64/libIlmThread.so: undefined reference to `pthread_join' collect2: error: ld returned 1 exit status Makefile:299: recipe for target 'exrheader' failed Reproducible: Always Some investigation: # Getting a real path to gilty lib root@gentop〉~〉realpath /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.2/../../../../lib64/libIlmThread.so /usr/lib64/libIlmThread-2_0.so.10.0.1 # Get a guilty package root@gentop〉~〉cave owner /usr/lib64/libIlmThread-2_0.so.10.0.1 media-libs/ilmbase-2.0.1-r1::installed # Note that library do not depends on libpthread! root@gentop〉~〉ldd -r /usr/lib64/libIlmThread-2_0.so.10.0.1 linux-vdso.so.1 (0x00007fffc33ff000) libIex-2_0.so.10 => /usr/lib64/libIex-2_0.so.10 (0x00007fe6f199e000) libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.2/libstdc++.so.6 (0x00007fe6f188d000) libm.so.6 => /lib64/libm.so.6 (0x00007fe6f1591000) libc.so.6 => /lib64/libc.so.6 (0x00007fe6f11ea000) libgcc_s.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.2/libgcc_s.so.1 (0x00007fe6f11d4000) /lib64/ld-linux-x86-64.so.2 (0x00007fe6f1dfe000) undefined symbol: sem_init (/usr/lib64/libIlmThread-2_0.so.10.0.1) undefined symbol: sem_destroy (/usr/lib64/libIlmThread-2_0.so.10.0.1) undefined symbol: pthread_create (/usr/lib64/libIlmThread-2_0.so.10.0.1) undefined symbol: sem_post (/usr/lib64/libIlmThread-2_0.so.10.0.1) undefined symbol: sem_trywait (/usr/lib64/libIlmThread-2_0.so.10.0.1) undefined symbol: sem_getvalue (/usr/lib64/libIlmThread-2_0.so.10.0.1) undefined symbol: sem_wait (/usr/lib64/libIlmThread-2_0.so.10.0.1) undefined symbol: pthread_join (/usr/lib64/libIlmThread-2_0.so.10.0.1) # Trying to rebuild guilty package (media-libs/ilmbase-2.0.1-r1) # Link command was: /bin/sh ../libtool --tag=CXX --mode=link x86_64-pc-linux-gnu-g++ -pipe -O2 -ggdb -pipe -march=native -minline-stringops-dynamically -mtls-dialect=gnu2 -floop-block -floop-interchange -ftree-loop-distribution -floop-strip-mine -ftree-vectorize -fmerge-all-constants -fira-loop-pressure -pthread -version-info 10:1:0 -no-undefined -release 2_0 -Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,--enable-new-dtags -Wl,--gc-sections -Wl,--hash-style=gnu -o libIlmThread.la -rpath /usr/lib64 IlmThreadPool.lo IlmThread.lo IlmThreadSemaphore.lo IlmThreadMutex.lo IlmThreadPosix.lo IlmThreadSemaphorePosix.lo IlmThreadSemaphorePosixCompat.lo IlmThreadMutexPosix.lo ../Iex/libIex.la -pthread <<< Attention here! >>> libtool: link: x86_64-pc-linux-gnu-g++ -shared -nostdlib /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.2/../../../../lib64/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.2/crtbeginS.o .libs/IlmThreadPool.o .libs/IlmThread.o .libs/IlmThreadSemaphore.o .libs/IlmThreadMutex.o .libs/IlmThreadPosix.o .libs/IlmThreadSemaphorePosix.o .libs/IlmThreadSemaphorePosixCompat.o .libs/IlmThreadMutexPosix.o -Wl,-rpath -Wl,/storage/tmp/paludis/media-libs-ilmbase-2.0.1-r1/work/ilmbase-2.0.1-amd64/Iex/.libs -Wl,--as-needed ../Iex/.libs/libIex.so -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.2 -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.2/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.2/../../../../x86_64-pc-linux-gnu/lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.2/../../.. -lstdc++ -lm -lc -lgcc_s /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.2/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.2/../../../../lib64/crtn.o -march=native -minline-stringops-dynamically -mtls-dialect=gnu2 -pthread -Wl,-O1 -Wl,--sort-common -Wl,--enable-new-dtags -Wl,--gc-sections -Wl,--hash-style=gnu -pthread -pthread -Wl,-soname -Wl,libIlmThread-2_0.so.10 -o .libs/libIlmThread-2_0.so.10.0.1 libtool: link: (cd ".libs" && rm -f "libIlmThread-2_0.so.10" && ln -s "libIlmThread-2_0.so.10.0.1" "libIlmThread-2_0.so.10") libtool: link: (cd ".libs" && rm -f "libIlmThread.so" && ln -s "libIlmThread-2_0.so.10.0.1" "libIlmThread.so") libtool: link: ( cd ".libs" && rm -f "libIlmThread.la" && ln -s "../libIlmThread.la" "libIlmThread.la" ) Look close to a place marked w/ 'Attention here!": The command produced by libtool contains '-nostdlib'! it is why final libIlmThread-2_0.so.10.0.1 do not have libpthread in dependencies
related link: http://permalink.gmane.org/gmane.comp.gnu.libtool.patches/11704
*** This bug has been marked as a duplicate of bug 496810 ***