Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 497612 - [media-libs/openexr-2.0.1-r1] build failure
Summary: [media-libs/openexr-2.0.1-r1] build failure
Status: RESOLVED DUPLICATE of bug 496810
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Linux bug wranglers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-01-09 07:20 UTC by Alex Turbov
Modified: 2014-01-09 11:21 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Alex Turbov 2014-01-09 07:20:30 UTC
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
Comment 1 Alex Turbov 2014-01-09 07:44:18 UTC
related link: http://permalink.gmane.org/gmane.comp.gnu.libtool.patches/11704
Comment 2 Jeroen Roovers (RETIRED) gentoo-dev 2014-01-09 11:21:10 UTC

*** This bug has been marked as a duplicate of bug 496810 ***