[PD-dev] flext and gnu/windows - 'undefined reference' with pd global vars?

Hans-Christoph Steiner hans at at.or.at
Mon Apr 4 17:14:47 CEST 2011


'undefined reference' generally means that the linker has found  
symbols in the .o files that it can't find a reference to.  I.e. take  
the function 'foo', if myobject.o uses foo() from the bar lib, and the  
bar lib is not including the linking, because its not specified or not  
in the lib path, the you'll get an 'undefined reference'.  Basically  
it means it can't find the code that matches a given symbol (i.e.  
function, variable, etc).

.hc

On Apr 4, 2011, at 9:33 AM, dmotd wrote:

> fwd'd from flext list..
>
> background: i've been working on a new autotools template for flext  
> based libs and started testing on windows platform with cygwin +  
> mingw, immediate issues with building flext lib itself.
>
> have any pd-devs experienced this 'undefined reference' issue with  
> the linker?
>
> i'm testing against millers pd-0.43-0.msw.zip on win2k and winxp  
> virtualbox images. build logs attached.
>
> cheers,
> dmotd
>
> -------- Original Message --------
> Subject: Re: [flext] autotools builders - flext and gnu/windows
> Date: Mon, 4 Apr 2011 14:27:52 +0200
> From: Thomas Grill <gr at grrrr.org>
> To: dmotd <inaudible at simplesuperlativ.es>
> CC: flext at grrrr.org
>
> hi dmotd, many thanks for your efforts,
>
>> mingw (gcc 4.5.2):
>> with both your buildsys (cmd prompt) and autoconf (msys shell),
>> mingw will build all the static libs, but fails at the linker stage
>> when building the dynamic library, with a bunch of undefined
>> references (see attachment).
>>
>> i have attempted to encourage the build further by passing linker
>> flags (-Wl,--as-needed and -Wl,--no-undefined *plus numerous others/
>> combinations*) but nothing seems to make it budge. i'm not sure if
>> the compiler is being pedantic or i'm just not understanding
>> something.
>>
>
> I can remember that problem - it is connected to the way how global
> variables (like garray_class, s_float etc.) in Pd are defined for the
> linker.
> I must have found a solution once....
>
>> cygwin (gcc 3.4.4)
>> cygwin breaks with your buildsys due to what appears to be an issue
>> with the environment (see attachment). with autoconf it acts much
>> like mingw - it can successfully build static libs but fails to make
>> the shared dll, a few more undefined references than with mingw (see
>> attachment).
>>
>
> The flext-build output seems to indicate a c++ namespace problem which
> should not be too hard to fix.
> The autoconf output seems different, probably a mixture of problems.
>
> i'm not sure if i can spare any time for that soon but it's good to
> know the weak spots.
>
> all the best,
> Thomas
> <flext-autotools-cygwin.txt><flext-build-cygwin.txt><flext-build- 
> mingw.txt>_______________________________________________
> Pd-dev mailing list
> Pd-dev at iem.at
> http://lists.puredata.info/listinfo/pd-dev




----------------------------------------------------------------------------

                             kill your television





More information about the Pd-dev mailing list