Making all in opentype
gmake[4]: Entering directory `/usr/ports/x11-toolkits/pango/work/pango-1.4.0/pan
go/opentype'
/bin/sh ../../libtool --mode=link cc -O -pipe -mcpu=pentiumpro -Wall -L/usr/lo
cal/lib -L/usr/X11R6/lib -o ottest ottest.o disasm.o libpango-ot.la -L/usr/X11R
6/lib -lfontconfig -L/usr/local/lib -lfreetype -lz
cc -O -pipe -mcpu=pentiumpro -Wall -o ottest ottest.o disasm.o -L/usr/local/lib
-L/usr/X11R6/lib ./.libs/libpango-ot.a -lfontconfig -lfreetype -lz
/usr/bin/ld: warning: libexpat.so.4, needed by /usr/X11R6/lib/libfontconfig.so,
not found (try using -rpath or -rpath-link)
/usr/X11R6/lib/libfontconfig.so: undefined reference to `XML_SetElementHandler'
/usr/X11R6/lib/libfontconfig.so: undefined reference to `XML_SetDoctypeDeclHandl
er'
/usr/X11R6/lib/libfontconfig.so: undefined reference to `XML_ParserFree'
/usr/X11R6/lib/libfontconfig.so: undefined reference to `XML_SetCharacterDataHan
dler'
/usr/X11R6/lib/libfontconfig.so: undefined reference to `XML_ErrorString'
/usr/X11R6/lib/libfontconfig.so: undefined reference to `XML_ParseBuffer'
/usr/ports/UPDATING seemed to suggest portupgrade -rf textproc/expat2
so I did that and got a libexpat.so.5 in /usr/local/lib which didn't help
ln -s libexpat.so.5 libexpat.so.4 in /usr/local/lib got it going again until:
===> Verifying install for /usr/local/bin/intltool-extract in /usr/ports/text
proc/intltool
===> Returning to build of shared-mime-info-0.14_2
===> shared-mime-info-0.14_2 depends on shared library: glib-2.0.400 - found
===> shared-mime-info-0.14_2 depends on shared library: xml2.5 - found
===> Configuring for shared-mime-info-0.14_2
checking for a BSD-compatible install... /usr/bin/install -c -o root -g wheel
checking whether build environment is sane... yes
checking for gawk... no
checking for mawk... no
checking for nawk... nawk
checking whether make sets $(MAKE)... yes
checking for perl... /usr/bin/perl
configure: error: XML::Parser perl module is required for intltool
===> Script "configure" failed unexpectedly.
Please report the problem to gn...@FreeBSD.org [maintainer] and attach the
"/usr/ports/misc/shared-mime-info/work/shared-mime-info-0.14/config.log"
including the output of the failure of your make command. Also, it might be
a good idea to provide an overview of all packages installed on your system
(e.g. an `ls /var/db/pkg`).
*** Error code 1
Tried:
# pkg_add -r p5-XML-Parser
Fetching ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-5.2.1-release/Lat
est/p5-XML-Parser.tbz... Done.
pkg_add: warning: package 'p5-XML-Parser-2.34' requires 'expat-1.95.6_1', but 'e
xpat-1.95.7' is installed
Is there a way around this? Will a real libexpat.so.4 help perhaps?
How could I get it if so?
Thanks,
John.
> /usr/ports/UPDATING seemed to suggest portupgrade -rf textproc/expat2
> so I did that and got a libexpat.so.5 in /usr/local/lib which didn't help
>
> ln -s libexpat.so.5 libexpat.so.4 in /usr/local/lib got it going again
Don't do this. You rather need to get all references to libexpat.so.4 out of
your system. Remove the symlink, rebuild/reinstall fontconfig and build
p5-XML-Parser from source. In general, you really can't use the 5.2.1-R
packages from the FTP servers anymore once you've installed up-to-date ports,
the packages are simply too old and will have all sorts of stale references.
--
,_, | Michael Nottebrock | lo...@freebsd.org
(/^ ^\) | FreeBSD - The Power to Serve | http://www.freebsd.org
\u/ | K Desktop Environment on FreeBSD | http://freebsd.kde.org
>On Wednesday 26 May 2004 19:02, John Murphy wrote:
>
>> /usr/ports/UPDATING seemed to suggest portupgrade -rf textproc/expat2
>> so I did that and got a libexpat.so.5 in /usr/local/lib which didn't help
>>
>> ln -s libexpat.so.5 libexpat.so.4 in /usr/local/lib got it going again
>
>Don't do this. You rather need to get all references to libexpat.so.4 out of
>your system. Remove the symlink, rebuild/reinstall fontconfig and build
>p5-XML-Parser from source. In general, you really can't use the 5.2.1-R
>packages from the FTP servers anymore once you've installed up-to-date ports,
>the packages are simply too old and will have all sorts of stale references.
Thanks again Michael. It worked and the install completed. Seems there are
still references to libexpat.so.4 though as I cant run an xfterm and when I
close the session there is a libexec/ld-elf.so.1:Shared object "libexpat.so.4"
not found error for every time I tried to.
Would a make deinstall and make reinstall in /usr/ports/x11-wm/xfce4 fix it?
Thanks for the tip about packages.
I was going to pkg_add mozilla next but I'll build it from source instead.
John.
> Thanks again Michael. It worked and the install completed. Seems there
> are still references to libexpat.so.4 though as I cant run an xfterm and
> when I close the session there is a libexec/ld-elf.so.1:Shared object
> "libexpat.so.4" not found error for every time I tried to.
>
> Would a make deinstall and make reinstall in /usr/ports/x11-wm/xfce4 fix
> it?
You can find out which port/package installed which file by doing pkg_info
-W /path/to/file. xfterm is installed by x11-wm/xfce - since you seem to
actually want xfce4 you should perhaps just deinstall xfce completely and use
xfterm4, which is xfce4's terminal application?
However, if you actually meant xfterm4, that belongs to sysutils/xfce4-utils,
so you should try reinstalling that (x11-wm/xfce4 is a so-called metaport
which exists mainly to facilitate installing a collection of other ports -
deinstalling and reinstalling it will not change/update any of the ports
which actually provide the programs/data).
However, sometimes you may find that even after recompiling, a binary still
references a shared library which doesn't exist anymore. This can happen if a
different shared library this binary links to is itself linked to the
nonexistent lib. You can find out to what libraries a binary is linked by
doing ldd /path/to/binary. You can then again find out with ldd which of
those libraries link to what other libraries, eventually finding the one
which references the obsolete library, which you can then find the respective
port for with pkg_info -W and recompile (of course you can also ldd and grep
your way through /usr/local/lib and /usr/X11R6/lib).
>However, if you actually meant xfterm4, that belongs to sysutils/xfce4-utils,
/Blush I did indeed. I should be more careful.
>so you should try reinstalling that (x11-wm/xfce4 is a so-called metaport
>which exists mainly to facilitate installing a collection of other ports -
>deinstalling and reinstalling it will not change/update any of the ports
>which actually provide the programs/data).
Tried de and re installing sysutils/xfce4-utils but it didn't help.
>However, sometimes you may find that even after recompiling, a binary still
>references a shared library which doesn't exist anymore. This can happen if a
>different shared library this binary links to is itself linked to the
>nonexistent lib. You can find out to what libraries a binary is linked by
>doing ldd /path/to/binary. You can then again find out with ldd which of
>those libraries link to what other libraries, eventually finding the one
>which references the obsolete library, which you can then find the respective
>port for with pkg_info -W and recompile (of course you can also ldd and grep
>your way through /usr/local/lib and /usr/X11R6/lib).
That's really informative, thank you. Turns out xfterm4 is a script so ldd
complained. The errors referred to ld-elf.so.1 but ldd that shedded no light.
I hate to admit (after your good advice) to symlinking libexpat.so.4 to
libexpat.so.5 again, just to see if it would work, and it did. I expect
something will fail at some stage though.
--
John.
portupgrade -r -f expat\*
will probably take a while to complete, but it will be a clean solution.
I guess your problem comes from updating ports by pkg_deleting and restalling
from the ports collection instead of using portupgrade.
Simon
> That's really informative, thank you. Turns out xfterm4 is a script so ldd
> complained. The errors referred to ld-elf.so.1 but ldd that shedded no
> light.
So look into the script and find out what executable is actually called. Also,
ld-elf.so.1 is not reffered to in the error, it's the program which emits the
error.
>> I hate to admit (after your good advice) to symlinking libexpat.so.4 to
>> libexpat.so.5 again, just to see if it would work, and it did. I expect
>> something will fail at some stage though.
>
>portupgrade -r -f expat\*
>
>will probably take a while to complete, but it will be a clean solution.
Thanks. That fixed it.
>I guess your problem comes from updating ports by pkg_deleting and restalling
>from the ports collection instead of using portupgrade.
Probably. I'll stick to using ports and portupgrade from now.
--
John.