[PD-dev] cross-compiling linus-to-windows 64 bit using automake
Miller Puckette
msp at ucsd.edu
Mon Feb 19 22:42:28 CET 2018
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
More information about the Pd-dev
mailing list