On Tue, 2007-06-19 at 14:57 -0700, John Wendel wrote: > Markku Kolkka wrote: > > Les kirjoitti viestissään (lähetysaika tiistai 19 kesäkuu 2007): > >> So just to prove that this didn't change anything I tried: > >> gcc -L X11 GuiExample.cpp > > > > The option is "-lX11", not "-L X11". Linux is case sensitive and > > spaces are also significant. > > > >> I am sorry, and this is probably clear to some of you, but I > >> am at a loss to understand why this doesn't work. If I use > >> gcc, the presence or absence of a library .a or .so shouldn't > >> matter since the compiler should create the link chain based > >> on the extern definition, which could be resolved at load > >> time. > > > > The extern definition doesn't tell which library contains the > > symbol, just the function prototype or variable declaration. > > _You_ must tell the compiler which libraries to link in order to > > resolve the references. > > > > > Actually, in this case, case is important but spaces are not > significant; -l X11 or -lX11 will will work. Thanks, John, I am getting closer. This gave me: gcc -l X11 GuiExample.cpp /tmp/ccMKt1MK.o:(.eh_frame+0x11): undefined reference to `__gxx_personality_v0' collect2: ld returned 1 exit status So now there is an internal reference that is messed up, and that could be a difference in library constructs. I will check the source code and see what it offers for a solution to this issue. Regards, Les H