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
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@lists.iem.atmailto:Pd-dev@lists.iem.at https://lists.puredata.info/listinfo/pd-dev
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@lists.iem.atmailto:Pd-dev@lists.iem.at https://lists.puredata.info/listinfo/pd-dev
I guess it's working fine for you - and I guess you're compiling it on windows (not cross-compiling form linux, correct)?
Yes.
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.
Very strange.
If you could do it with "wish85.exe 64 bit", why not with 86?
I leave this for the experts.
:)
Mensaje telepatico asistido por maquinas.
On 2/19/2018 8:15 PM, Miller Puckette wrote:
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@lists.iem.atmailto:Pd-dev@lists.iem.at https://lists.puredata.info/listinfo/pd-dev
@ Miller:
Can you try deleting this 32bit files from your pd/bin (from your tk/tcl 8.6.8 test).
pthreadVC.lib msvcr90.dll msvcrt.dll pthreadVC.dll
it could be that "msvcrt.dll" is making troubles to Wine.
I'm not sure why is not the case with wish85 builds. :/
--
Mensaje telepatico asistido por maquinas.
On 2/19/2018 9:04 PM, Lucas Cordiviola wrote:
I guess it's working fine for you - and I guess you're compiling it on windows (not cross-compiling form linux, correct)?
Yes.
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.
Very strange.
If you could do it with "wish85.exe 64 bit", why not with 86?
I leave this for the experts.
:)
Mensaje telepatico asistido por maquinas.
On 2/19/2018 8:15 PM, Miller Puckette wrote:
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@lists.iem.atmailto:Pd-dev@lists.iem.at https://lists.puredata.info/listinfo/pd-dev
Pd-dev mailing list Pd-dev@lists.iem.at https://lists.puredata.info/listinfo/pd-dev
On 02/19/2018 10:42 PM, Miller Puckette wrote:
'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.
could it be (as lucas suspected) that both problems come from the 32bit libraries embedded in the msw/pdprototype.tgz?
or put otherwise: when do the problems occur? during the `make` step or during the `msw-app.sh` step?
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
how about "wine pd-0.48-1test2-ia64/bin/pd.exe"?
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.
"puts" never really worked for me on windows (not even in a proper VM). i think this is related to char/widechar. you might have more luck with logging to a file, something like
~~~ set logfile [open "pd-gui.log" "w" ]
# ...
puts $logfile "foo" # ... puts $logfile "bar"
~~~
fgmsadr IOhannes