[PD-dev] pdlibbuilder and static linking pthread by default on Windows.

Lucas Cordiviola lucarda27 at hotmail.com
Wed Feb 7 19:48:51 CET 2018


Is it possible to just use one pthread dll for all the externals, the one that comes with Pd?


Yes but they need recompiling (and re-upload to deken).

I'm a "windows native" so i'm just having breakfast on compiling. :)

From the few things that I know is up to the compiler to handle its implementation of pthread.h

Also [externals] can be compiled with VC, Msys1, Msys2, Cygwin ...

So the uploder has to ship the needed pthread.dll

Because the uploader might forget to do so, I'm paranoid.

My paranoia was already explained.

So to avoid this to happen is why i think is better to statically link pthread. This gives the [external] it own way to not depend on Pd's pthread. (actually this is happening to all "extended" era [externals] that were linked against pthreadGC-2.dll)

Mensaje telepatico asistido por maquinas.

On 2/7/2018 3:13 PM, Martin Peach wrote:

On Wed, Feb 7, 2018 at 11:50 AM, Lucas Cordiviola <lucarda27 at hotmail.com<mailto:lucarda27 at hotmail.com>> wrote:

There were many problems back in 2016 with people that didn't have pd-extended installed. For them when downloading from deken many objects didn't work. One of the causes was that those "extended" .dlls where using pthread-GC-2.dll. This file was installed by pd-extended installer on windows system folders.

Attached is a list of missing dlls on 2016.

Now we have included those dlls in each pkg so [externals] work without having pd-extended installed.

The actual libwinpthread-1.dll could change in future MinGWs so externals compiled today may stop working.

Is it possible to just use one pthread dll for all the externals, the one that comes with Pd? They should all have the same functions in them, so it would just be a matter of changing the linker LIBS.
In externals/Makefile pthreadGC2 occurs just once at the beginning, this is the one used in mrpeach.
I attach a list of all the lpthreads mentioned in all the files in the externals directory (at https://sourceforge.net/p/pure-data/svn/HEAD/tree/trunk/externals/).
Most of them are pthread for linux or MacOS (except iem/iemnet/Makefile:41:LIBS_windows=-lpthread), 18 are pthreadGC and four are pthreadVC. It's possible some of the pthreads are for Windows as well.

Martin



_______________________________________________
Pd-dev mailing list
Pd-dev at lists.iem.at<mailto:Pd-dev at lists.iem.at>
https://lists.puredata.info/listinfo/pd-dev


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-dev/attachments/20180207/f5f64af3/attachment-0001.html>


More information about the Pd-dev mailing list