Hi;
Trying to emerge gtk+ (well, actually, bluefish html editor... but
this is a dependency) and I get an error:
checking for XOpenDisplay in -lX11
error: *** libX11 not found. Check 'config.log' for more details.
In config.log, I see that the test it is failing is:
configure:14508: checking for XOpenDisplay in -lX11
configure:14535: i686-pc-linux-gnu-gcc -o conftest -march=i686 -O2 -pipe -Wall\
conftest.c -lX11 -L/usr/X11R6/lib -lXft -lfreetype -lXrender -lfontconfig\
-lX11 -lfreetype >&5
/usr/lib/libfontconfig.so: undefined reference to `FT_Get_Next_Char'
Looking in libfontconfig, I see:
# nm /usr/lib/libfontconfig.so
U FT_Get_Next_Char
and then with ldd:
# ldd /usr/lib/libfontconfig.so
libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x40037000)
libexpat.so.0 => /usr/lib/libexpat.so.0 (0x40093000)
libc.so.6 => /lib/libc.so.6 (0x400bc000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)
I figure FT_ must mean freetype, so:
# nm /usr/lib/libfreetype.so
0000bfa0 T FT_Get_Next_Char
and there it is...
My freetype is up-to-date:
# emerge -s freetype
* media-libs/freetype
Latest version available: 2.1.3-r2
Latest version installed: 2.1.3-r2
I was thinking maybe it was finding the wrong lib:
# ldconfig -p | grep libfr
libfreetype.so.6 (libc6) => /usr/lib/libfreetype.so.6
libfreetype.so.6 (libc6) => /usr/X11R6/lib/libfreetype.so.6
libfreetype.so (libc6) => /usr/lib/libfreetype.so
libfreetype.so (libc6) => /usr/X11R6/lib/libfreetype.so
Hmm.. that is strange. There are two libfreetype entries in 2 different
places.
# ls -l /usr/lib/libfreetype.so*
lrwxrwxrwx 1 root root 20 Apr 1 03:37 /usr/lib/libfreetype.so\
-> libfreetype.so.6.3.2
lrwxrwxrwx 1 root root 20 Apr 1 03:37 /usr/lib/libfreetype.so.6\
-> libfreetype.so.6.3.2
-rwxr-xr-x 1 root root 286544 Jun 28 2002 /usr/lib/libfreetype.so.6.3.0
-rwxr-xr-x 1 root root 406610 Apr 1 03:37 /usr/lib/libfreetype.so.6.3.2
# ls -l /usr/X11R6/lib/libfreetype.so*
lrwxrwxrwx 1 root root 18 May 21 2002 /usr/X11R6/lib/libfreetype.so\
-> libfreetype.so.6.2
lrwxrwxrwx 1 root root 18 May 21 2002 /usr/X11R6/lib/libfreetype.so.6\
-> libfreetype.so.6.2
-rwxr-xr-x 1 root root 269512 May 21 2002 /usr/X11R6/lib/libfreetype.so.6.2
Examining the other libfreetype:
# nm /usr/X11R6/lib/libfreetype.so.6.2
nm: /usr/X11R6/lib/libfreetype.so.6.2: no symbols
Ah.. ok.
So, I moved the older libs in to a temporary cell:
mkdir /usr/X11R6/lib/libfreetype.hide
mv /usr/X11R6/lib/libfreetype.* /usr/X11R6/lib/libfreetype.hide
And now gtk+ builds!
And so does bluefish :o)
i posted the same fix a couple of days ago.
And that is just the reason linux is not for the crowd but for the few
who have an education/grade in info tech
Why does it have to be so complicated?
I hope one day I can install linux on my mom and dads pc and they can
even work with it. I have dream.
And how often are your parents going to be installing gtk?
How often do they install lowlevel libraries on Windows?
--
Jon Portnoy
avenj/irc.freenode.net
Well... here's another difference:
- windows _does_ have problems similar to this (think registry...), but
- this was not my own system, but I was able to log in to my
friend's computer over the network and fix it from home.
So, if your folks have a problem, they are down until they can bring
it in to the shop and get it fixed, but with Linux it could be fixed
immediately.
About everytime MS comes up with a new security patch, or they install a new
program that depends upon some .dll and they don't pay attention to the
warning message, blah.blah.dll 5.25.25 is older then blah.blah.dll 4.25.2,
do you want to overwrite?