@alfonso.santimone Oops, my platform check is apparently too brittle.
See line 23 of purr-data/l2ork_addons/tar_em_up.sh:
if [[ $os == *"mingw32"* ]]; then
Remove the number "32" and you should be able to build.
Purr Data 2.5.0
@alfonso.santimone Oops, my platform check is apparently too brittle.
See line 23 of purr-data/l2ork_addons/tar_em_up.sh:
if [[ $os == *"mingw32"* ]]; then
Remove the number "32" and you should be able to build.
thanks! building now...i'll report the log when build will finish
@jancsika failed buid...here's attached the super long log in .txt and .sh formatspurr-data-w64-build-log.txt purr-data-w64-build-log.sh
but basically the last lines are critical (i guess other stuff is related to external libraries troubles with win64 platform...is GEN ready for win64 i.e.?)
make[2]: *** [Makefile:106: /c/purr-data/purr-data/externals/creb/modules/dynwav~.o] Error 1
make[2]: Leaving directory '/c/purr-data/purr-data/externals'
make[1]: *** [Makefile:209: externals_install] Error 2
make[1]: Leaving directory '/c/purr-data/purr-data/packages'
make: *** [Makefile:69: prebuilt_install] Error 2
copying pd-l2ork-specific externals...
done with l2ork addons.
mv: cannot stat 'packages/win32_inno/Output/Purr*.exe': No such file or directory
./tar_em_up.sh: 397: command failed with exit code 1, exiting now.
./tar_em_up.sh: 397: mv packages/win32_inno/Output/Purr*.exe .
@alfonso.santimone preemptively-- there are some paths to 32-bit stuff in purr-data/packages/Makefile which need to be changed.
For example, line 84 should be a path to the 64-bit binaries. (Also line 142 and 143.)
make[2]: *** [Makefile:106: /c/purr-data/purr-data/externals/creb/modules/dynwav~.o] Error 1
That's because purr-data/packages/win32_inno/Makefile has build flags that are the right arch for win32 but the wrong arch for win64.
See line 18 for example.
@jancsika thanks but i guess line numbering doesn't match...in my Makefile line 84 is empty
to try to find a match there are my lines 75-83
DEST_PATHS = BUILDLAYOUT_DIR=$(BUILDLAYOUT_DIR)
cvs_root_dir=$(cvs_root_dir)
DESTDIR=$(DESTDIR)
prefix=$(prefix)
libpddir=$(libpddir)
OPT_CFLAGS="$(OPT_CFLAGS)"
UNAME=$(UNAME)
@alfonso.santimone Oops, typo-- I meant purr-data/packages/win32_inno/Makefile
@jancsika Oh i see thanks. Where can i find any doc about architecture flags?
@jancsika used
OPT_CFLAGS += -mcpu=x86-64 -mtune=core2
and here is the log in .sh format (some errors about architecture not supported by fluidsynth and other stuff)purr-data-w64-build-log-02.sh
some errors about architecture not supported by fluidsynth
That's apparently because the "helper" makefile called Makefile.pdlibbuilder
which I used to quickly get a library up and running has the following comment in it under TODO
:
# - Windows 64 bit support
You'll probably run into other similar problems in the externals.
@jancsika Yeah so as i thought there are several externals not supporting Win64. How can i deal with this? I guess is something in the makefile?
@alfonso.santimone I doubt there are really that many which don't work under Win64. After all, all those same externals work fine on 64-bit Linux. So it's probably just junk in the makefiles.
If you want you can go into purr-data/externals/Makefile and just remove the problem library name from the big list assigned to LIB_TARGETS. Do this for each problem library until you get a successful compilation. (And keep track of the ones you've removed.)
@jancsika Thanks i'll try some more divide and conquer
But i see that fluid~.c calls fluidsynth.h ..i can't find it in the directory structure of the whole purr-data folder...
given this
fluid~.c:1:0: error: CPU you selected does not support x86-64 instruction set
#include <fluidsynth.h>
fluid~.c:1:0: error: CPU you selected does not support x86-64 instruction set
i guess something has to be done in the fluid~ sources or in fluidsynth.h regarding architecture stuff
Excluded fluid~ then sendon try. Now i go with the 3rd try with Gem excluded (i commented out line 150 in t purr-data/externals/Makefile
Ok i excluded fluidsynth and Gem stuff so i don't see errors about thos..i het some errors about directory structure and inno setup stuff (is inno setup for 32bit only maybe?) here is the .sh log purr-data-w64-build-log-Innosetup errors.sh
@alfonso.santimone Hm, I'm actually not sure if libdl.dll
is needed in the Windows install. The dynamic loader should be using the Windows API. So you can try commenting that one out (line 115 of packages/win32_inno/Makefile).
@jancsika Thanks. Commented out that line but still errors purr-data-w64-build-log-Further Innosetup errors.sh
There's a lor of stuff called from c/WINDOWS/SysWOW64/ where usally all 32 libs stuff are living.
Given the huge complexity of the Purr Data project and my little confindence with the gcc and g++ compiler and makefiles is difficult to me to understand what's used for what.
Probably a more easy way to go would be to build PD vanilla for win64 (Lucas build works just ok) and then try to compile all the needed libraries for Win64 and the custom Purr Data UI framwork...then pack a special distro for win64.
What do you think about?
@alfonso.santimone That's probably the wrong path for libgcc.
Is there any libgcc* in /mingw64/bin? What does find /mingw64 -name "libgcc*"
give you?
@jancsika said:
find /mingw64 -name "libgcc*"
fremen@fremenCPU MINGW64 ~
$ find /mingw64 -name "libgcc*"
/mingw64/bin/libgcc_s_seh-1.dll
/mingw64/lib/gcc/x86_64-w64-mingw32/6.2.0/libgcc.a
/mingw64/lib/gcc/x86_64-w64-mingw32/6.2.0/libgcc_eh.a
/mingw64/lib/gcc/x86_64-w64-mingw32/6.2.0/libgcc_s.a
Oops! Looks like something went wrong!