From Bugzilla Helper: User-Agent: Mozilla/4.77 [en] (X11; U; Linux 2.2.19-kim.3 i486) Description of problem: Unable to rebuild libxml2-2.4.19-1.src.rpm without a previous version of libxml2 installed. Rebuild breaks due to list check failure on libxml2mod.so. Apparent cause is libtool attempt to relink libxml2mod.so against not yet finally installed -lxml2. Version-Release number of selected component (if applicable): libxml2-2.4.19-1 How reproducible: Always Steps to Reproduce: 1.$ CC=gcc3 ; export CC 2.$ rpmbuild --rebuild libxml2-2.4.19-1.src.rpm 2>&1 | tee build.log Actual Results: (Extracted lines from build log--with line numbers--note line wraps and skips.) 1 Installing libxml2-2.4.19-1.src.rpm 414 Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.56322 476 make[2]: Entering directory `/home/nedu/rpm/BUILD/libxml2-2.4.19' 479 /bin/sh ./libtool --mode=install /usr/bin/install -c libxml2.la /var/tm 479 p/libxml2-2.4.19-root/usr/lib/libxml2.la 480 /usr/bin/install -c .libs/libxml2.so.2.4.19 /var/tmp/libxml2-2.4.19-root 480 /usr/lib/libxml2.so.2.4.19 481 (cd /var/tmp/libxml2-2.4.19-root/usr/lib && rm -f libxml2.so.2 && ln -s 481 libxml2.so.2.4.19 libxml2.so.2) 482 (cd /var/tmp/libxml2-2.4.19-root/usr/lib && rm -f libxml2.so && ln -s li 482 bxml2.so.2.4.19 libxml2.so) 483 /usr/bin/install -c .libs/libxml2.lai /var/tmp/libxml2-2.4.19-root/usr/l 483 ib/libxml2.la 484 /usr/bin/install -c .libs/libxml2.a /var/tmp/libxml2-2.4.19-root/usr/lib 484 /libxml2.a 485 ranlib /var/tmp/libxml2-2.4.19-root/usr/lib/libxml2.a 486 chmod 644 /var/tmp/libxml2-2.4.19-root/usr/lib/libxml2.a 487 libtool: install: warning: remember to run `libtool --finish /usr/lib' 558 make[3]: Entering directory `/home/nedu/rpm/BUILD/libxml2-2.4.19/python' 563 /bin/sh ../libtool --mode=install /usr/bin/install -c libxml2mod.la /va 563 r/tmp/libxml2-2.4.19-root/usr/lib/python1.5/site-packages/libxml2mod.la 564 libtool: install: warning: relinking `libxml2mod.la' 565 cd /home/nedu/rpm/BUILD/libxml2-2.4.19/python; /bin/sh ../libtool --mode 565 =relink gcc3 -O2 -mcpu=i486 -Wall -o libxml2mod.la -rpath /usr/lib/pytho 565 n1.5/site-packages -module -avoid-version libxml.lo types.lo libxml2-py. 565 lo ../libxml2.la 566 gcc3 -shared libxml.lo types.lo libxml2-py.lo -L/usr/lib -lxml2 -Wl, 566 -soname -Wl,libxml2mod.so -o .libs/libxml2mod.so 567 /usr/bin/ld: cannot find -lxml2 568 collect2: ld returned 1 exit status 569 libtool: install: error: relink `libxml2mod.la' with the above command b 569 efore installing it 570 libtool: install: warning: remember to run `libtool --finish /usr/lib/py 570 thon1.5/site-packages' 610 + make PYTHON=/usr/bin/python1.5 PYTHON_INCLUDES=/usr/include/python1.5 610 PYTHON_VERSION=1.5 611 Making all in . 612 make[1]: Entering directory `/home/nedu/rpm/BUILD/libxml2-2.4.19/python' 636 /bin/sh ../libtool --mode=link gcc3 -O2 -mcpu=i486 -Wall -o libxml2mod 636 .la -rpath /usr/lib/python1.5/site-packages -module -avoid-version libxm 636 l.lo types.lo libxml2-py.lo ../libxml2.la 637 rm -fr .libs/libxml2mod.la .libs/libxml2mod.* .libs/libxml2mod.* 638 gcc3 -shared libxml.lo types.lo libxml2-py.lo -Wl,--rpath -Wl,/home/ne 638 du/rpm/BUILD/libxml2-2.4.19/.libs ../.libs/libxml2.so -Wl,-soname -Wl 638 ,libxml2mod.so -o .libs/libxml2mod.so 639 ar cru .libs/libxml2mod.a libxml.o types.o libxml2-py.o 640 ranlib .libs/libxml2mod.a 641 creating libxml2mod.la 642 (cd .libs && rm -f libxml2mod.la && ln -s ../libxml2mod.la libxml2mod.la 642 ) 649 + make PYTHON=/usr/bin/python1.5 PYTHON_INCLUDES=/usr/include/python1.5 649 PYTHON_VERSION=1.5 prefix=/var/tmp/libxml2-2.4.19-root/usr mandir=/var/t 649 mp/libxml2-2.4.19-root/usr/man install 652 make[2]: Entering directory `/home/nedu/rpm/BUILD/libxml2-2.4.19/python' 655 /bin/sh ../libtool --mode=install /usr/bin/install -c libxml2mod.la /va 655 r/tmp/libxml2-2.4.19-root/usr/lib/python1.5/site-packages/libxml2mod.la 656 libtool: install: warning: relinking `libxml2mod.la' 657 cd /home/nedu/rpm/BUILD/libxml2-2.4.19/python; /bin/sh ../libtool --mode 657 =relink gcc3 -O2 -mcpu=i486 -Wall -o libxml2mod.la -rpath /usr/lib/pytho 657 n1.5/site-packages -module -avoid-version libxml.lo types.lo libxml2-py. 657 lo ../libxml2.la 658 gcc3 -shared libxml.lo types.lo libxml2-py.lo -L/usr/lib -lxml2 -Wl, 658 -soname -Wl,libxml2mod.so -o .libs/libxml2mod.so 659 /usr/bin/ld: cannot find -lxml2 660 collect2: ld returned 1 exit status 661 libtool: install: error: relink `libxml2mod.la' with the above command b 661 efore installing it 662 libtool: install: warning: remember to run `libtool --finish /usr/lib/py 662 thon1.5/site-packages' 718 Processing files: libxml2-python-2.4.19-1 719 error: File not found by glob: /var/tmp/libxml2-2.4.19-root/usr/lib/pyth 719 on*/site-packages/libxml2mod.so 736 RPM build errors: 737 File not found by glob: /var/tmp/libxml2-2.4.19-root/usr/lib/python* 737 /site-packages/libxml2mod.so Expected Results: Successful build. Additional info: The libtool 1.4 documentation clearly states: "In the current implementation, libtool libraries may not depend on other uninstalled libtool libraries"
Could you retry with libxml2-2.4.20 which I released earlier this week at ftp://xmlsoft.org/ , I think this got fixed in that release, and if not I would really like to learn about it, Daniel
New package libxml2-2.4.20-1.src.rpm builds successfully for me. (RH 6.2 + some RH 7.2 build environment). Supplementary note: Fix is apparently in python/Makefile.am: 25c25 < libxml2mod_la_LDFLAGS = -module -avoid-version --- > libxml2mod_la_LDFLAGS = -module -avoid-version -L$(top_builddir)/.libs resulting in: /bin/sh ../libtool --mode=link gcc3 -O2 -mcpu=i486 -Wall -o libxml2mod.la -rpath /usr/lib/python1.5/site-packages -module -avoid-version -L../.libs libxml.lo types.lo libxml2-py.lo ../libxml2.la But cf. libtool 1.4 documentation note: "(1) However, you should avoid using `-L' or `-l' flags to link against an uninstalled libtool library. Just specify the relative path to the `.la' file, such as `../intl/libintl.la'. This is a design decision to eliminate any ambiguity when linking against uninstalled shared libraries." So, while this issue is resolved for me, I just don't know enough about libtool internals to predict what "ambiguity" might do in other configurations.
Yes this requires a "not too old" version of libtools. There is unfortunately now way to keep it working on all libtool versions/ platform combinations. At least for Red Hat Linux this seems to fix the problem. I have pushed libxml2-2.4.20 internally so I expect this get solved in RawHide. Thanks for the feedback, Daniel