[PD-dev] cross-compiling linus-to-windows 64 bit using automake

Miller Puckette msp at ucsd.edu
Tue Feb 20 00:15:23 CET 2018


I guess it's working fine for you - and I guess you're compiling it
on windows (not cross-compiling form linux, correct)?

I should have mentioned that not only do I get garbage but also it
doesn't work in the first place (no GUI appears) when I compile it.

cheers
Miller

On Mon, Feb 19, 2018 at 10:23:42PM +0000, Lucas Cordiviola wrote:
> It all builds fine and I'm able to run wish86.exe all right; but when I try
> to test it as in:
> 
> wine pd-0.48-1test2-ia64/bin/wish86.exe `pwd`/pd-0.48-1test2-ia64/tcl/pd-gui.tcl
> 
> I get signs of memory corruption that I haven't been able to track down (my
> debugging statements in pd-gui.tcl generate binary garbage).  This seems to
> be an interaction between wine and tcl/tk and is almost certainly too deep
> for me to figure out.
> 
> 
> I have a Windows MinGW64 build using "wish86.exe" (64-bit) --> http://lucarda.com.ar/x/Pd-0.48-1-all-w64.zip
> 
> What do I have to type in the cmd to test if i get "binary garbage"?
> 
> Note: building on Windows with Msys2 I get the correct 64bit "libwinpthread-1.dll" copied to pd/bin.
> 
> 
> --
> 
> Mensaje telepatico asistido por maquinas.
> 
> On 2/19/2018 6:42 PM, Miller Puckette wrote:
> 
> I'm able to sucessfuilly cross-compile 64-bit windows targets from linux
> now, albeit a bit shakily.  Here's what I've found so far:
> 
> 'libtool' has a library dependency, -lmsvcrt , which breaks compilation.  It
> works just to delete it.
> 
> Somehow a 32-bit version of libwinpthread-1.dll gets installed - I have to
> manually replace it with a 64-bit one.
> 
> and... try as I might I still can't get it working with tcl/tk 8.6 - I have to
> yse 8.5.  More on that later.
> 
> My compilation steps currently look like this (after making a clean directory
> to put it in, /home/msp/bis/work/pd-versions/build-dirs/test85):
> 
> v=0.48-1test3-ia64
> tkversion=8.5.19
> s=/home/msp/tmp/clean-pd-source
> 
> git clone ~/pd $s
> cd $s
> ./autogen.sh
> cd /home/msp/bis/work/pd-versions/build-dirs/test85
> $s/configure --host=x86_64-w64-mingw32 CPPFLAGS='-DPD_LONGINTTYPE=__int64'
> sed -i '/-lmsvcrt/s/-lmsvcrt//g' libtool
> make
> cd msw
> cp -a /home/msp/bis/work/pd-versions/build-tk-on-win64/msw/tcltk-$tkversion .
> /home/msp/bis/work/pd-versions/build-tk-on-win64/msw/msw-app.sh \
>    --builddir ..  --tk tcltk-$tkversion $v
> cp /usr/x86_64-w64-mingw32/sys-root/mingw/bin/libwinpthread-1.dll \
>    pd-$v/bin/
> 
> (note: I make the clone of the Pd source so I don't have to run automake in my
> 'clean' source tree).
> 
> When I try this for 8.6.8 I change the configuration line as follws:
> $s/configure --host=x86_64-w64-mingw32 \
>     --with-wish=wish86.exe \
>     CPPFLAGS='-DPD_LONGINTTYPE=__int64 -DWISH=\"wish86.exe\"'
> 
> It all builds fine and I'm able to run wish86.exe all right; but when I try
> to test it as in:
> 
> wine pd-0.48-1test2-ia64/bin/wish86.exe `pwd`/pd-0.48-1test2-ia64/tcl/pd-gui.tcl
> 
> I get signs of memory corruption that I haven't been able to track down (my
> debugging statements in pd-gui.tcl generate binary garbage).  This seems to
> be an interaction between wine and tcl/tk and is almost certainly too deep
> for me to figure out.
> 
> This doesn't seem to be a fatal problem though - if my "test" 64-bit build works
> OK I can live with that for at least until 8.7 comes out (and who knows what
> problems that might fix and/or introduce)
> 
> cheers
> Miller
> 
> 
> _______________________________________________
> Pd-dev mailing list
> Pd-dev at lists.iem.at<mailto:Pd-dev at lists.iem.at>
> https://lists.puredata.info/listinfo/pd-dev
> 
> 



More information about the Pd-dev mailing list