On 14 Aug 2009, at 0:50, Steve Bennett wrote:

> So, following Greg's suggestion, I turned off .SILENT and checked  
> the command line output.   There were a few irrelevant differences,  
> but the one which really stood out was that the fact that the test  
> folder version was linking statically and directly to "../lib/ 
> libfltk.a" while my version was linking dynamically with "-lfltk".

Does rather sound as if the shared object that is being picked up on  
your system is a different version of the library, not linked against  
XFT. Be interesting to check the sizes / dates / dependencies off any  
libfltk.a and libfltk.so that are on the system and see if that's the  
case, and if so, which one is actually being loaded at runtime by  
your code.

> I changed my makefile to link using "-l:libfltk.a" which forces a  
> static link to the library, and it now works.   Why that should  
> have made any difference, however, is another question entirely.    
> I'd much prefer to use dynamic linking, personally.   Any ideas?

See above - and I see that Greg had suggested much the same.

That said, in the past when we were trying to package a very small  
system we ended up using static linking of our fltk code. It turned  
out that the storage (and runtime) footprint of the code statically  
linked and stripped was actually a whole lot less than the  
dynamically linked version. Seems like the linkage information was  
taking up as much space as the actual code, and of course we did not  
then need to package the libs at all.
YMMV of course, but always worth checking as the result might be  
surprising...

And of course, at the end of the day, static linking avoids all the  
issues with versions and compatibility!

> As for Ian's questions (paraphrased):
>
>> Why 1.1.7?
> Because that's the package currently supported by the Buildroot  
> scripts.   I may upgrade the package scripts to switch to 1.1.9,  
> but it's a tricky process to do so since there are patches involved  
> in getting things to build properly.

OK, fair enough, though I'd advocate making the upgrade, I really do  
think it would be worth the effort.

>> Why Buildroot?
> Buildroot is mainly intended for embedded systems, but it also is  
> quite effective and useful at making small distributions for a  
> desktop.   In this case, we wanted a minimal Linux/x11/fltk boot  
> environment which can be launched from CD or flash drive, is fairly  
> small in size, and runs entirely from the initial ram disk -- once  
> that loads, you don't need any disk at all.   The current build is  
> for x86, but other platforms/processors are planned.

OK - I have to say that I was involved with (but did not do the  
actual packaging work) a project that was packaging live images on  
USB sticks (and boot CD's) and they had very good results using the  
Fedora tools - they were very customisable to produce very compact  
images. And allegedly very easy to use (although I did not do that bit.)
This was only x86 though, so not necessarily all that applicable to  
your needs.

Hope some of that is helpful!
-- 
Ian




_______________________________________________
fltk mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk

Reply via email to