Re: portupgrades fail because of missing /usr/local/lib/liblzma.la

2011-08-05 Thread Ewald Jenisch
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

2011-08-04 Thread Matthew Seaman
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

2011-08-04 Thread Ewald Jenisch
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

2011-08-03 Thread Gurpreet Singh
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

2011-08-03 Thread Matthew Seaman
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