Missing Library? Compile fail.

Archives Forums/Linux Discussion/Missing Library? Compile fail.

Richard Betson(Posted 2012) [#1]
Hi I get the following compile error:
Building phoenixss_client_a88_Ga_Server
Compiling:inertia_01.bmx
flat assembler  version 1.68  (32768 kilobytes memory)
4 passes, 31221 bytes.
Compiling:minitimer.bmx
flat assembler  version 1.68  (32768 kilobytes memory)
3 passes, 4164 bytes.
Compiling:Collision_01.bmx
flat assembler  version 1.68  (32768 kilobytes memory)
3 passes, 6520 bytes.
Compiling:phoenix_window_01.bmx
flat assembler  version 1.68  (32768 kilobytes memory)
3 passes, 23952 bytes.
Compiling:map_engine_02_strict.bmx
flat assembler  version 1.68  (32768 kilobytes memory)
3 passes, 54138 bytes.
Compiling:phoenixss_client_a88_Ga_Server.bmx
flat assembler  version 1.68  (32768 kilobytes memory)
7 passes, 102771 bytes.
Linking:phoenixss_client_a88_Ga_Server
/usr/bin/ld: cannot find -lXft
collect2: error: ld returned 1 exit status
Build Error: Failed to link /home/vidiot/Programing/Phoenix_SS/phoenixss_client_a88_Ga_Server
Process complete


Am I missing a library (/usr/bin/ld: cannot find -lXft)? I think this has to do with fonts. I'm loading a true type font, should I use something else?

Edit- Removed font code. Still does it.mmm

Thanks,

Last edited 2012

Last edited 2012


dawlane(Posted 2012) [#2]
I think you need libxft-dev installed which it should be if your using BlitzMax. If it is installed and your using a 64bit OS then you will need to make a link to the .so/.a file in /usr/lib32.


Richard Betson(Posted 2012) [#3]
How do I install it dawlane?

EDIT- Nevermind got it.. "apt-get install libxft-dev:i386"

Thanks

Last edited 2012


dawlane(Posted 2012) [#4]
If you used this
apt-get install libglu1-mesa-dev:i386 x11proto-core-dev:i386 x11proto-gl-dev:i386 x11proto-kb-dev:i386 libxxf86vm-dev:i386 libasound2-dev:i386 libfreetype6-dev:i386 libxpm-dev:i386 libxft-dev:i386
when setting up BlitzMax you will see that the last one on the line installs it (the i386 version).
In the tutorial for both Ubunt 12.04 64bit and Debian 7 64bit there is this bit.
If you compile and you get can't find such and such due to an update etc, then use the method above to create a symbolic link by first finding the actual target libs true name. The symbolic's links usually the targets name with every thing to the right of the .so removed.

So
ln -s /usr/lib/i386-linux-gnu/libXft.so.2.3.1 /usr/lib32/libXft.so
will link the missing library in Debian if it's installed and the same version (2.3.1).

NOTE: Those OS's that use the LINUX kernel are case sensitive, so libxft is not the same as libXft.

Last edited 2012