The Samba-Bugzilla – Attachment 9974 Details for
Bug 10626
talloc-2.1.1: unusable libraries because of an incorrect LC_ID_DYLIB
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
Steps to reproduce, additional info
talloc-2.1.1-report.txt (text/plain), 5.92 KB, created by
Axel Luttgens
on 2014-05-24 09:33:55 UTC
(
hide
)
Description:
Steps to reproduce, additional info
Filename:
MIME Type:
Creator:
Axel Luttgens
Created:
2014-05-24 09:33:55 UTC
Size:
5.92 KB
patch
obsolete
>Let's suppose I want to have the headers installed into /Tests/include, and the libraries into /Tests/lib: > > $ cd /Tests/src/talloc-2.1.1 > $ ./configure --prefix=/Tests > Checking for program gcc or cc : /usr/bin/gcc > Checking for program cpp : /usr/bin/cpp > [...] > Checking linker accepts -Wl,-no-undefined : no > Checking linker accepts ['-undefined', 'dynamic_lookup'] : yes > 'configure' finished successfully (29.013s) > >So, configure succeeded; let's thus compile the project: > > $ make > WAF_MAKE=1 PATH=buildtools/bin:../../buildtools/bin:$PATH waf build > Waf: Entering directory `/Tests/src/talloc-2.1.1/bin' > Checking project rules ... > Project rules pass > [ 1/21] Compiling lib/replace/replace.c > [...] > [11/21] Compiling lib/replace/test/os2_delete.c > ../lib/replace/test/os2_delete.c:41:28: warning: expression result unused [-Wunused-value] > mkdir(TESTDIR, 0700) == 0 || FAILED("mkdir"); > ~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~ > ../lib/replace/test/os2_delete.c:84:22: warning: expression result unused [-Wunused-value] > unlink(fname) == 0 || FAILED("unlink"); > ~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~ > ../lib/replace/test/os2_delete.c:113:31: warning: expression result unused [-Wunused-value] > strcmp(de->d_name, ".") == 0 || FAILED("match ."); > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~ > ../lib/replace/test/os2_delete.c:115:32: warning: expression result unused [-Wunused-value] > strcmp(de->d_name, "..") == 0 || FAILED("match .."); > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~ > ../lib/replace/test/os2_delete.c:126:22: warning: expression result unused [-Wunused-value] > rmdir(TESTDIR) == 0 || FAILED("rmdir"); > ~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~ > 5 warnings generated. > [12/21] Compiling lib/replace/test/getifaddrs.c > [...] > [17/21] Compiling pytalloc.c > [18/21] Linking default/libtalloc.dylib > ld: warning: directory not found for option '-L/usr/local/lib' > [19/21] Linking default/libpytalloc-util.dylib > ld: warning: directory not found for option '-L/usr/local/lib' > [20/21] Linking default/pytalloc.so > ld: warning: directory not found for option '-L/usr/local/lib' > [21/21] Linking default/talloc_testsuite > ld: warning: directory not found for option '-L/usr/local/lib' > Waf: Leaving directory `/Tests/src/talloc-2.1.1/bin' > 'build' finished successfully (0.975s) > >I've left some more pieces of the the output: > >- this is the opportunity to reports some warnings, >- who exactly insists on looking into /usr/local/lib? > >Anyway, let's run the tests: > > $ make test > WAF_MAKE=1 PATH=buildtools/bin:../../buildtools/bin:$PATH waf test > test: ref1 > # SINGLE REFERENCE FREE > [...] > # TALLOC AUTOFREE CONTEXT > success: autofree > testsuite returned 0 > >Fine; it seems one may install the product: > > $ make install > WAF_MAKE=1 PATH=buildtools/bin:../../buildtools/bin:$PATH waf install > Waf: Entering directory `/Tests/src/talloc-2.1.1/bin' > * installing bin/default/talloc.pc as /Tests/lib/pkgconfig/talloc.pc > * installing bin/default/pytalloc-util.pc as /Tests/lib/pkgconfig/pytalloc-util.pc > [21/24] Linking default/libtalloc.inst.dylib > ld: warning: directory not found for option '-L/usr/local/lib' > [22/24] Linking default/libpytalloc-util.inst.dylib > ld: warning: directory not found for option '-L/usr/local/lib' > [23/24] Linking default/pytalloc.inst.so > ld: warning: directory not found for option '-L/usr/local/lib' > [24/24] Linking default/talloc_testsuite.inst > ld: warning: directory not found for option '-L/usr/local/lib' > * installing bin/default/libtalloc.inst.dylib as /Tests/lib/libtalloc.2.1.1.dylib > * symlink /Tests/lib/libtalloc.2.dylib (-> libtalloc.2.1.1.dylib) > * symlink /Tests/lib/libtalloc.dylib (-> libtalloc.2.1.1.dylib) > * installing bin/default/libpytalloc-util.inst.dylib as /Tests/lib/libpytalloc-util.2.1.1.dylib > * symlink /Tests/lib/libpytalloc-util.2.dylib (-> libpytalloc-util.2.1.1.dylib) > * symlink /Tests/lib/libpytalloc-util.dylib (-> libpytalloc-util.2.1.1.dylib) > * installing bin/default/pytalloc.inst.so as /Tests/lib/python2.7/site-packages/talloc.so > * installing talloc.h as /Tests/include/talloc.h > * installing pytalloc.h as /Tests/include/pytalloc.h > Waf: Leaving directory `/Tests/src/talloc-2.1.1/bin' > 'install' finished successfully (0.157s) > >Again, those attempts to link against would be libraries in /usr/local/lib. >But the expected pieces are there: > > $ cd /Tests/lib > $ ls -aln > total 192 > drwxr-xr-x 10 502 0 340 24 mai 10:33 . > drwxr-xr-x 6 502 0 204 24 mai 10:33 .. > -rwxr-xr-x 1 502 0 9668 24 mai 10:33 libpytalloc-util.2.1.1.dylib > lrwxr-xr-x 1 502 0 28 24 mai 10:33 libpytalloc-util.2.dylib -> libpytalloc-util.2.1.1.dylib > lrwxr-xr-x 1 502 0 28 24 mai 10:33 libpytalloc-util.dylib -> libpytalloc-util.2.1.1.dylib > -rwxr-xr-x 1 502 0 66812 24 mai 10:33 libtalloc.2.1.1.dylib > lrwxr-xr-x 1 502 0 21 24 mai 10:33 libtalloc.2.dylib -> libtalloc.2.1.1.dylib > lrwxr-xr-x 1 502 0 21 24 mai 10:33 libtalloc.dylib -> libtalloc.2.1.1.dylib > drwxr-xr-x 4 502 0 136 24 mai 10:33 pkgconfig > drwxr-xr-x 3 502 0 102 24 mai 10:33 python2.7 > >Let's have a look at the talloc library (the same holds for pytalloc-util): > > $ otool -l libtalloc.2.1.1.dylib > libtalloc.2.1.1.dylib: > [...] > Load command 3 > cmd LC_ID_DYLIB > cmdsize 88 > name /Tests/src/talloc-2.1.1/bin/default/libtalloc.inst.dylib (offset 24) > time stamp 1 Thu Jan 1 01:00:01 1970 > current version 0.0.0 > compatibility version 0.0.0 > [...] > >With such an ID, the library is unusable: trying to link another project against it will fail. > >The "damage" may be repaired that way: > > $ install_name_tool -id /Tests/lib/libtalloc.2.1.1.dylib libtalloc.2.1.1.dylib > $ otool -l libtalloc.2.1.1.dylib > libtalloc.2.1.1.dylib: > [...] > Load command 3 > cmd LC_ID_DYLIB > cmdsize 64 > name /Tests/lib/libtalloc.2.1.1.dylib (offset 24) > time stamp 1 Thu Jan 1 01:00:01 1970 > current version 0.0.0 > compatibility version 0.0.0 > [...] >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 10626
: 9974 |
16309