imm wrote:
> On 30 Sep 2007, at 20:07, Gonzalo Garramuño wrote:
>> Nope.  Try the different fltk2-config switches I sent and you'll see
>> fltk2-config is doing all sorts of crappy stuff.
> 
> Certainly might need a bit of a tidy-out...
> 
>> And fltk2-r5940 is afaik, broken on windows, where it won't even  
>> compile
>> due to scandir issues.
> 
> Err... It compiled just fine for me this afternoon. Maybe mingw  
> behaves differently from whatever compiler you have?

mingw uses the gcc toolchain, not the microsoft one, so yes, it behaves 
quite differently.

> 
> You did check the Readme first, did you?

Guilty.  I did read it, but never got to the actual building docs.

I did have fltk1 and fltk2 installed, and it would not compile out of 
the box with neither.

I traced the fltk1 problem to a bad "make uninstall" which left a legacy 
local fltk-config still installed.
The fist fltk2 problem I run into was my user error.  The second one 
with HelpView link issues, I'm still not totally sure.

> 
> I don't think it is *severely* broken. Just a bit broken...!
> 

Oh, come on!  A bit?

This is what I get with a fresh svn, just recompiled:


 > fltk2-config --use-images --libs
/usr/local/lib/libfltk2.a

 > fltk2-config --ldflags
-L/usr/local/lib -lfltk2 -lX11 -lXi -lXinerama -lXft -lpthread -lm 
-lXext -lsupc++

 > fltk2-config --use-images --ldflags
-L/usr/local/lib -lfltk2_images -lpng -lfltk2_images -ljpeg -lz -lfltk2 
-lX11 -lXi -lXinerama -lXft -lpthread -lm -lXext -lsupc++

 > fltk2-config --use-images --ldstaticflags
-L/usr/local/lib /usr/local/lib/libfltk2_images.a 
/usr/local/lib/libfltk2.a -lX11 -lXi -lXinerama -lXft -lpthread -lm 
-lXext -lsupc++ -lpng -lfltk2_images -ljpeg -lz

 > fltk2-config --ldflags
-L/usr/local/lib -lfltk2 -lX11 -lXi -lXinerama -lXft -lpthread -lm 
-lXext -lsupc++

 > fltk2-config --ldstaticflags
-L/usr/local/lib /usr/local/lib/libfltk2.a -lX11 -lXi -lXinerama -lXft 
-lpthread -lm -lXext -lsupc++


It is a MESS!  Afaik, NONE of those is correct!

You have libraries repeated twice, flags that don't work, libraries that 
change order between static and shared builds (good luck debugging that 
if a problem arises), X libraries in potentially the wrong order, etc.
Notice that the --use-images --ldstaticflags has a dynamic fltk2_images 
at the end with no fltk2 following it.  That will simply not link 
without manually adding -lfltk2 to it if the dynamic and static libs are 
different versions (which was probably my problem with HelpView).

> 
> Actually - that's quite common, a lot of config scripts do that...  
> The --ld* options provide a list of all the "flags" that need to be  
> passed to the linker, many of which aren't "flags" at all!
> 

No, it is not common.  Or at least it shouldn't be.

If you do that, you can easily get link (or worse, runtime) errors that 
are VERY hard to fix or track.

LDFLAGS=$(shell fltk2-config --ldflags)
LIBS=$(shell fltk2-config --libs)

ld $(LDFLAGS) $(LIBS)  # Potential LINK or RUNTIME BOOM!



-- 
Gonzalo Garramuño
[EMAIL PROTECTED]

AMD4400 - ASUS48N-E
GeForce7300GT
Kubuntu Edgy

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

Reply via email to