[PD] Externals built with MSYS2/MinGW won't load

Christof Ressi christof.ressi at gmx.at
Thu Apr 7 19:41:50 CEST 2016


Hi Jan,

thanks for your thoughts!

There are no spaces in my path. I'm doing everything within a folder called C:/pd_externals.
Also, I'm actually compiling for 32-bits, at least that's what I thought mingw32 is supposed to do... 
It's only the overall MSYS2 release that is 64bit.

Anyway, if there's anyone who has compiled simple externals for Windows using MINGW recently, please let me know and show me how you did it!

> Gesendet: Donnerstag, 07. April 2016 um 17:20 Uhr
> Von: "Fred Jan Kraan" <fjkraan at xs4all.nl>
> An: pd-list at lists.iem.at
> Betreff: Re: [PD] Externals built with MSYS2/MinGW won't load
>
> Hi Christof,
> 
> > I should add that I followed the steps given here:
> >
> > https://lists.puredata.info/pipermail/pd-list/2007-06/051560.html
> 
> 2007 is quite a long time ago. I have success with this description: 
> http://puredata.info/docs/developer/WindowsMinGW, but this is 32-bits. 
> Is there a special reason for compiling for 64-bits? I noticed 32-bits 
> excutables works ok on a 64-bits Windows. And all externals at deken are 
> 32-bits...
> >
> > However, "-export_dynamic" gave me:
> >
> > C:\msys64\mingw32\bin\ld.exe: warning: cannot find entry symbol xport_dynamic; defaulting to 10001000
> >
> > trying "-E" and "--export-dynamic":
> 
> Some time ago the gmu compiler switched to '--export-dynamic' for this 
> option.
> >
> > C:\msys64\mingw32\bin\ld.exe: warning: --export-dynamic is not supported for PE targets, did you mean --export-all-symbols?
> >
> >
> > so I tried with "--export-all-symbols" and this worked for obj1.c and obj2.c. I can't, however, see why it doesn't work for obj3.c as the difference to obj2.c is rather marginal (adds an outlet and a state variable).
> >
> > Any hints are greatly appreciated!
> 
> About the previous errors; make really dislikes spaces in paths. Try it 
> with paths without spaces.
> 
> Greetings & success,
> 
> Fred Jan
> >
> >
> >> Gesendet: Donnerstag, 07. April 2016 um 02:22 Uhr
> >> Von: "Christof Ressi" <christof.ressi at gmx.at>
> >> An: Pd-List <pd-list at lists.iem.at>
> >> Betreff: [PD] Externals built with MSYS2/MinGW won't load
> >>
> >> Dear list,
> >>
> >> I tried to compile the test externals in doc/6.externs on Windows 7 from the command line using MSYS2/MinGW.
> >> I put everything (source files, m_pd.h and pd.dll) in one folder for the sake of convenience.
> >>
> >> I compile with
> >> $ gcc -c obj1.c -o obj1.o
> >> and link with
> >> $ ld --export-all-symbols -shared -o test-obj3.dll obj3.o pd.dll
> >>
> >> compiling and linking works without any errors or warnings.
> >> test-obj1 and test-obj2 seem to load and work fine in Pd, but for test-obj3 Pd console tells me:
> >>
> >> "C:\\Program Files (x86)\\pd vanilla\\extra\\stuff\\test-obj3.dll: couldn't load"
> >>
> >> The same thing happens when I try to build test-obj4, test-obj5 and test-dspobj~.
> >> What could be the problem? I took the source files as they were and built all objects the exact same way...
> >>
> >> Many thanks in advance!
> >>
> >>
> >> _______________________________________________
> >> Pd-list at lists.iem.at mailing list
> >> UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
> >>
> >
> > _______________________________________________
> > Pd-list at lists.iem.at mailing list
> > UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
> >
> 
> _______________________________________________
> Pd-list at lists.iem.at mailing list
> UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
> 



More information about the Pd-list mailing list