Bug 8281 - Installtion Failed: Cause lt-fc-cache: symbol lookup error: lt-fc-cache: undefined symbo
Summary: Installtion Failed: Cause lt-fc-cache: symbol lookup error: lt-fc-cache: unde...
Status: RESOLVED NOTOURBUG
Alias: None
Product: fontconfig
Classification: Unclassified
Component: fc-cache (show other bugs)
Version: 2.4
Hardware: Other Linux (All)
: high normal
Assignee: Keith Packard
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-09-14 13:47 UTC by Steven Speer
Modified: 2007-07-08 14:21 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Description Steven Speer 2006-09-14 13:47:29 UTC
Couldn't install fontconfig verison 2.4.0 nor 2.3.97 due to following 
warnings/errors on a 64 bit Linux Cluster running Fedora Core 3:

 fc-cache/fc-cache -s -f -v
Fontconfig warning: line 32: unknown element "cachedir"
Fontconfig warning: line 33: unknown element "cachedir"
Fontconfig error: "conf.d", line 1: no element found
and 
/usr/share/fonts: /home/speerst/MY_OPT/GTK_BINDINGS/DEPENDENCIES/fontconfig-2.3.
97/fc-cache/.libs/lt-fc-cache: symbol lookup error: /home/speerst/MY_OPT/GTK_BIN
DINGS/DEPENDENCIES/fontconfig-2.3.97/fc-cache/.libs/lt-fc-cache: undefined symbo
l: FcDirCacheRead

Here is the output from the "make install" stdio dump to screen:
---- Start of output excerpt ------
test -z "/etc/fonts" || mkdir -p -- "/etc/fonts"
 /usr/bin/install -c -m 644 'fonts.dtd' '/etc/fonts/fonts.dtd'
/home/speerst/MY_OPT/GTK_BINDINGS/DEPENDENCIES/fontconfig-2.3.97/install-sh -d /
etc/fonts
if [ -f /etc/fonts/fonts.conf ]; then \
  echo "backing up existing /etc/fonts/fonts.conf"; \
  mv /etc/fonts/fonts.conf /etc/fonts/fonts.conf.bak; \
fi
backing up existing /etc/fonts/fonts.conf
if [ -f ./fonts.conf ]; then \
  echo " /usr/bin/install -c -m 644 ./fonts.conf /etc/fonts/fonts.conf"; \
  /usr/bin/install -c -m 644 ./fonts.conf /etc/fonts/fonts.conf; \
else if [ -f fonts.conf ]; then \
  echo " /usr/bin/install -c -m 644 fonts.conf /etc/fonts/fonts.conf"; \
  /usr/bin/install -c -m 644 fonts.conf /etc/fonts/fonts.conf; \
fi; fi
 /usr/bin/install -c -m 644 ./fonts.conf /etc/fonts/fonts.conf
(if test -z ""; then \
    echo " fc-cache/fc-cache -s -f -v"; \
    fc-cache/fc-cache -s -f -v; \
else \
    echo "***"; \
    echo "*** Warning: fonts.cache not built"; \
    echo "***"; \
    echo "*** Generate this file manually on host system using fc-cache"; \
    echo "***"; \
fi)
 fc-cache/fc-cache -s -f -v
Fontconfig warning: line 32: unknown element "cachedir"
Fontconfig warning: line 33: unknown element "cachedir"
Fontconfig error: "conf.d", line 1: no element found
/usr/share/fonts: /home/speerst/MY_OPT/GTK_BINDINGS/DEPENDENCIES/fontconfig-2.3.
97/fc-cache/.libs/lt-fc-cache: symbol lookup error: /home/speerst/MY_OPT/GTK_BIN
DINGS/DEPENDENCIES/fontconfig-2.3.97/fc-cache/.libs/lt-fc-cache: undefined symbo
l: FcDirCacheRead
make[2]: *** [install-data-local] Error 127
make[2]: Leaving directory `/.automount/home/home/speerst/MY_OPT/GTK_BINDINGS/DE
PENDENCIES/fontconfig-2.3.97'
make[1]: *** [install-am] Error 2
make[1]: Leaving directory `/.automount/home/home/speerst/MY_OPT/GTK_BINDINGS/DE
PENDENCIES/fontconfig-2.3.97'
make: *** [install-recursive] Error 1
---- End of output excerpt ------

Here is the fonts.conf file as well showing "cachedir" on lines 32 and 33
---- first 33 lines of fonts.conf file dump ----
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<!-- /etc/fonts/fonts.conf file to configure system font access -->
<fontconfig>

<!--
        DO NOT EDIT THIS FILE.
        IT WILL BE REPLACED WHEN FONTCONFIG IS UPDATED.
        LOCAL CHANGES BELONG IN 'local.conf'.

        The intent of this standard configuration file is to be adequate for
        most environments.  If you have a reasonably normal environment and
        have found problems with this configuration, they are probably
        things that others will also want fixed.  Please submit any
        problems to the fontconfig bugzilla system located at fontconfig.org

        Note that the normal 'make install' procedure for fontconfig is to
        replace any existing fonts.conf file with the new version.  Place
        any local customizations in local.conf which this file references.

        Keith Packard
-->

<!-- Font directory list -->

        <dir>/usr/share/fonts</dir>
        <dir>/usr/X11R6/lib/X11/fonts</dir>
        <dir>~/.fonts</dir>

<!-- Font cache directory list -->

        <cachedir>/usr/var/cache/fontconfig</cachedir>
        <cachedir>~/.fontconfig</cachedir>
---- end of fonts.conf file dump ----


What can I do to fix the problem and get fontconfig to install?

Thanks

Steven
Comment 1 Keith Packard 2006-09-14 14:24:10 UTC
the fc-cache program is clearly not pointing at the correct fontconfig library
for some reason. Instead, it is using the installed fontconfig library which
doesn't contain the new symbols. There is probably something in your
configuration which is breaking the way libtool executes programs before they
are installed.
Comment 2 Steven Speer 2006-09-15 11:32:11 UTC
Thanks for the reply.

I was able to get the problem resolved after some more searching and 
configuration struggles. After manually moving old fontconfig libraries out of 
the way and installing the new libraries and symbolic links in /usr/lib and 
usr/lib64, changes I detail below, the rerunning the 'make install' command 
completed successfully with out error.  Also the 'make check' test passed 
successfully.

Here is what I had to do though.

The make script was only adding the fontconfig libraries to the /usr/lib 
directory.  I had to move the old libfontconfig.so.1.0.4 library to a personal 
back-up directory.  The install script added the 5 libraries
1)libfontconfig.a
2)libfontconfig.ls
3)libfontconfig.so -> libfontconfig.so.1.1.0
4)libfontconfig.so.1-> libfontconfig.so.1.1.0 
5)libfontconfig.so.1.1.0

However the install didn't add the libraries to the lib64 directory.  I needed 
to do this manually. I needed to move the old libfontconfig.a, 
libconfig.so.1.0.4 and two symbolic links libfontconfig.so and 
libfontconfig.so.1 which both pointed to libconfig.so.1.0.4 to my personal back-
up directory. Then I was able to install the newly created libaries from make 
in this /usr/lib64 directory.
Comment 3 Daniel Phillips 2007-07-08 14:21:17 UTC
(In reply to comment #1)
> the fc-cache program is clearly not pointing at the correct fontconfig library
> for some reason. Instead, it is using the installed fontconfig library which
> doesn't contain the new symbols. There is probably something in your
> configuration which is breaking the way libtool executes programs before they
> are installed.

My solution was:

# mv ld.so.cache ld.so.cache.borked
# mv ld.so.conf ld.so.conf.borked

You figure it out :)


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.