Re: portupgrades fail because of missing /usr/local/lib/liblzma.la
On Thu, Aug 04, 2011 at 01:45:02PM -0400, b. f. wrote: > > o) What can I do to get ports recognize the correct location of the > > xz-libraries? > > As I wrote above, some more information would help. I'm guessing that > you have a port that (unfortunately) uses libtool to perform linking, > and has an erroneous /usr/local/lib/lzma.la entry in a libtool archive > file (*.la), or is using some combination of uncommon linker flags > and sloppy use of -L/usr/local/lib. Does a search like: > > fgrep -e lzma -nHr /usr/local/lib --include='*.la' > > yield any results? If you see any references in a libtool archive to > the nonexistent "/usr/local/lib/liblzma.la", try removing and then > rebuilding the port that owns that libtool archive -- you should be > able to determine the port by running "pkg_info -W" with the full path > of the libtool archive as an argument. > Hi, First of all I'm posting my reply to both -questions where I sent my original question to as well as -ports where you sent your reply so others are seeing this too. In short - thanks to your hints everything's healthy again :-)) Here's what I did (in case others are suffering from this problem too): fgrep -e lzma -nHr /usr/local/lib --include='*.la' yielded a bunch of results - grep-ed for "/usr/local/lib/liblzma.la". Then feeded these into pkg_info -W which nicely pointed me to the corresponding port where this library comes from. The only thing I had to do then was to make deinstall;make clean; make install this port. In my case it was e.g. the "ImageMagick-6.7.0.10_1" port causing all the mess. So thanks to you all who responded. It's great to have such a knowledgeable and helpful community out there - you indeed learn something new every day. -ewald ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "freebsd-questions-unsubscr...@freebsd.org"
Re: portupgrades fail because of missing /usr/local/lib/liblzma.la
On 04/08/2011 13:14, Ewald Jenisch wrote: > So I tried "portupgrade -arR" again - sure enough it failed with the > same errors: > > /usr/local/lib/liblzma.la: No such file or directory > > So how can I rebuild all ports that depend on "xz" without even > knowing which ones depend on xz (because pkg_info -Rx says nothing > depends on xz)?? Do you know which port is causing that error message to be emitted? If you can identify it, then a little sleuthing in the ports it depends on may well turn up some clues. It's a matter of looking at the Makefiles for the ports further up the dependency tree to see if they would have a dependency on xz(1) or liblzma in older versions of FreeBSD; try grepping Makefiles for 'DEPENDS.*/archivers/xz' Then try rebuilding those ports, and so on up the dependency tree until you get to the problem port. Or you can sledgehammer it, by forcibly rebuilding everything that the complaining port depends on -- portupgrade -fR portname (IIRC. I may have mixed up the 'r' and 'R' flags there) or portmaster -f portname That could take a lot of time and CPU cycles but it will probably sort things out in the end. Also, what do you get from this command: % ldconfig -r | grep lzma 38:-llzma.5 => /usr/lib/liblzma.so.5 Unless the output is similar to as shown, you've got a stray copy of liblzma.so floating about that may be confusing things. Cheers, Matthew -- Dr Matthew J Seaman MA, D.Phil. 7 Priory Courtyard Flat 3 PGP: http://www.infracaninophile.co.uk/pgpkey Ramsgate JID: matt...@infracaninophile.co.uk Kent, CT11 9PW signature.asc Description: OpenPGP digital signature
Re: portupgrades fail because of missing /usr/local/lib/liblzma.la
Hi Matthew, Unfortunately this doesn't work as expected: # pkg_info -Rx xz Information for xz-5.0.3: # so it seems like nothing depens on xz. Next, I did a fresh cvsup for the ports-tree followed by a "pkgdb -L"; then again "pkg_info -Rx xz" - again nothing seems to depend on xz. So I tried "portupgrade -arR" again - sure enough it failed with the same errors: /usr/local/lib/liblzma.la: No such file or directory So how can I rebuild all ports that depend on "xz" without even knowing which ones depend on xz (because pkg_info -Rx says nothing depends on xz)?? Puzzled... :-|. Thanks much in advance for your help! -ewald ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "freebsd-questions-unsubscr...@freebsd.org"
Re: portupgrades fail because of missing /usr/local/lib/liblzma.la
On Wed, Aug 3, 2011 at 5:24 PM, Matthew Seaman < m.sea...@infracaninophile.co.uk> wrote: > On 03/08/2011 11:00, Ewald Jenisch wrote: > > So here are my questions? > > > > o) Why doesn't the build process of ports recognize the xz-libraries > > in /usr/lib? (BTW, not even "make deinstall && make clean && make > > install" helps) > I am also having same problem. Started a thread in the forum too: http://forums.freebsd.org/showthread.php?t=25449 > You should first get a list of all your installed ports that depend on > archivers/xz (pkg_info -Rx xz), then force delete the archivers/xz port > and then rebuild all the ports that linked against it. > pkg_info is unable to find xz package; "$ pkg_info|grep xz" returns nothing. same for pkg_deinstall sudo pkg_deinstall xz ** No matching package found. If I go to xz's directory in ports (under archivers) and try to do make deinstall: xz$ sudo make deinstall ===> Deinstalling for archivers/xz ===> xz not installed, skipping So this also fails as xz is not installed at all, it is in the base itself. I cannot seem to get around the problem as even after I deinstalled evince and installed xpdf "portmaster -a" is still trying to install evince. Regards, Gurpreet Singh -- A: Because it fouls the order in which people normally read text. Q: Why is top-posting such a bad thing? A: Top-posting. Q: What is the most annoying thing on usenet and in e-mail? ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "freebsd-questions-unsubscr...@freebsd.org"
Re: portupgrades fail because of missing /usr/local/lib/liblzma.la
On 03/08/2011 11:00, Ewald Jenisch wrote: > So here are my questions? > > o) Why doesn't the build process of ports recognize the xz-libraries > in /usr/lib? (BTW, not even "make deinstall && make clean && make > install" helps) xz(1) and the associated libraries are now part of the base system in stable/8 and above. Actually it (the ports build process) does. However, if you have a version of liblzma.so installed from ports, autoconf will find that and assume that's your preferred version to link against. > o) What can I do to get ports recognize the correct location of the > xz-libraries? You should first get a list of all your installed ports that depend on archivers/xz (pkg_info -Rx xz), then force delete the archivers/xz port and then rebuild all the ports that linked against it. Note that portupgrade(8) defaults to keeping a copy of the old liblzma.so shlib in /usr/local/lib/compat/pkg, and portmaster(8) will do similarly if given the '-w' option: this will allow un-rebuilt ports to continue working during your upgrade, but shouldn't confuse the ports build process. Remember to delete the old shlib once you're done rebuilding. Cheers, Matthew -- Dr Matthew J Seaman MA, D.Phil. 7 Priory Courtyard Flat 3 PGP: http://www.infracaninophile.co.uk/pgpkey Ramsgate JID: matt...@infracaninophile.co.uk Kent, CT11 9PW signature.asc Description: OpenPGP digital signature