Hello,
I'd like to compile PureData with 64bit building tools on msys2, here is my gcc version:
$ gcc -v Using built-in specs. COLLECT_GCC=C:\msys64\mingw64\bin\gcc.exe COLLECT_LTO_WRAPPER=C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/6.2.0/lto-wrapper.exe Target: x86_64-w64-mingw32 Configured with: ../gcc-6.2.0/configure --prefix=/mingw64 --with-local-prefix=/mingw64/local --build=x86_64-w64-mingw32 --host=x86_64-w64-mingw32 --target=x86_64-w64-mingw32 --with-native-system-header-dir=/mingw64/x86_64-w64-mingw32/include --libexecdir=/mingw64/lib --enable-bootstrap --with-arch=x86-64 --with-tune=generic --enable-languages=c,lto,c++,objc,obj-c++,fortran,ada --enable-shared --enable-static --enable-libatomic --enable-threads=posix --enable-graphite --enable-fully-dynamic-string --enable-libstdcxx-time=yes --disable-libstdcxx-pch --disable-libstdcxx-debug --disable-isl-version-check --enable-lto --enable-libgomp --disable-multilib --enable-checking=release --disable-rpath --disable-win32-registry --disable-nls --disable-werror --disable-symvers --with-libiconv --with-system-zlib --with-gmp=/mingw64 --with-mpfr=/mingw64 --with-mpc=/mingw64 --with-isl=/mingw64 --with-pkgversion='Rev2, Built by MSYS2 project' --with-bugurl=https://sourceforge.net/projects/msys2 --with-gnu-as --with-gnu-ld Thread model: posix gcc version 6.2.0 (Rev2, Built by MSYS2 project)
I don't get why gcc is saying this:
gcc -DPACKAGE_NAME="pd" -DPACKAGE_TARNAME="pd" -DPACKAGE_VERSION="0.47.1" -DPACKAGE_STRING="pd\ 0.47.1" -DPACKAGE_BUGREPORT="" -DPACKAGE_URL="" -DPACKAGE="pd" -DVERSION="0.47.1" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DLT_OBJDIR=".libs/" -DSTDC_HEADERS=1 -DHAVE_ALLOCA=1 -DHAVE_FCNTL_H=1 -DHAVE_LIMITS_H=1 -DHAVE_MALLOC_H=1 -DHAVE_STDDEF_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_SYS_PARAM_H=1 -DHAVE_SYS_TIME_H=1 -DHAVE_SYS_TIMEB_H=1 -DHAVE_UNISTD_H=1 -Dvfork=fork -DHAVE_STDLIB_H=1 -DHAVE_MALLOC=1 -DHAVE_STDLIB_H=1 -DHAVE_REALLOC=1 -DRETSIGTYPE=void -DHAVE_DUP2=1 -DHAVE_FLOOR=1 -DHAVE_GETCWD=1 -DHAVE_GETTIMEOFDAY=1 -DHAVE_MEMMOVE=1 -DHAVE_MEMSET=1 -DHAVE_POW=1 -DHAVE_SQRT=1 -DHAVE_STRCHR=1 -DHAVE_STRERROR=1 -DHAVE_STRRCHR=1 -DHAVE_STRSTR=1 -DHAVE_STRTOL=1 -I. -DPD -DINSTALL_PREFIX="/usr" -g -O2 -MT pd-g_canvas.o -MD -MP -MF .deps/pd-g_canvas.Tpo -c -o pd-g_canvas.o `test -f 'g_canvas.c' || echo './'`g_canvas.c g_canvas.c:47:10: warning: 'canvas_class' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes] t_class *canvas_class; ^~~~~~~~~~~~ g_canvas.c:65:39: error: initializer element is not constant static t_symbol *canvas_newfilename = &s_; ^ g_canvas.c:66:40: error: initializer element is not constant static t_symbol *canvas_newdirectory = &s_; ^ g_canvas.c:71:6: warning: 'canvas_updatewindowlist' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes] void canvas_updatewindowlist( void) ^~~~~~~~~~~~~~~~~~~~~~~ g_canvas.c:98:6: warning: 'canvas_setargs' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes] void canvas_setargs(int argc, t_atom *argv) ^~~~~~~~~~~~~~
...
<snip>
...
g_canvas.c:1280:6: warning: 'canvas_redrawallfortemplatecanvas' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes] void canvas_redrawallfortemplatecanvas(t_canvas *x, int action) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ g_canvas.c: In function 'check_exists': g_canvas.c:1386:5: warning: implicit declaration of function 'u8_utf8toucs2' [-Wimplicit-function-declaration] u8_utf8toucs2(ucs2path, MAXPDSTRING, pathbuf, MAXPDSTRING-1); ^~~~~~~~~~~~~ g_canvas.c:1387:19: warning: implicit declaration of function '_waccess' [-Wimplicit-function-declaration] return (0 == _waccess(ucs2path, 0)); ^~~~~~~~ g_canvas.c: At top level: g_canvas.c:1536:5: warning: 'canvas_open' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes] int canvas_open(t_canvas *x, const char *name, const char *ext, ^~~~~~~~~~~ g_canvas.c:1563:5: warning: 'canvas_path_iterate' redeclared without dllimport attribute after being referenced with dll linkage int canvas_path_iterate(t_canvas*x, t_canvas_path_iterator fun, void *user_data) ^~~~~~~~~~~~~~~~~~~ g_canvas.c:1650:10: warning: 'pd_checkglist' redeclared without dllimport attribute after being referenced with dll linkage t_glist *pd_checkglist(t_pd *x) ^~~~~~~~~~~~~ make[2]: *** [Makefile:871: pd-g_canvas.o] Error 1
<end of shell paste>
Am I missing something there?
Le 11/07/2017 à 17:37, IOhannes m zmoelnig a écrit :
On 2017-07-11 17:26, patrice colet wrote:
I don't get why gcc is saying this:
there's at least one pull request on github that tries to eliminate duplicate declarations (which is one of the errors you are getting). did you try it?
I've just tried with git sources, those errors have disappeared, meanwhile the attached patch helps to recognize my platform, I've forked mingw flags following this command return:
$ uname -a MSYS_NT-10.0 DESKTOP-GUFTF62 2.6.0(0.304/5/3) 2016-09-07 20:45 x86_64 Msys
I'm pleased to see that build system works without src/makefile.mingw, --enable-asio works if I export the asiosdk headers directories, I don't know how to tweak the makefiles for having portaudio finding them.
pc
fgmasdr IOhannes
Pd-dev mailing list Pd-dev@lists.iem.at https://lists.puredata.info/listinfo/pd-dev
On 2017-07-12 04:05, patrice colet wrote:
I'm pleased to see that build system works without src/makefile.mingw, --enable-asio works if I export the asiosdk headers directories, I don't know how to tweak the makefiles for having portaudio finding them.
great that it works.
two things:
- on w32, the autotools build is known to produce binaries that "somehow" work, but there are also know problems when it comes to compiling and/or loading externals; see [25]
- do you want to do a PR on github to include your changes to configure.ac?
- would it be possible to configure your mail-client to properly quote the emails you reply to? i'm spending more time figuring out what is a reply to what and who said what than with the actual content.
fmgsdr IOhannes
On Mit, 2017-07-12 at 09:55 +0200, IOhannes m zmoelnig wrote:
- would it be possible to configure your mail-client to properly
quote the emails you reply to? i'm spending more time figuring out what is a reply to what and who said what than with the actual content.
Both versions of PC's last email, html and plaintext, are displaying quoting correctly on my mail-client.
Just to give you another data point...
Roman
On 2017-07-12 10:11, Roman Haefeli wrote:
On Mit, 2017-07-12 at 09:55 +0200, IOhannes m zmoelnig wrote:
- would it be possible to configure your mail-client to properly
quote the emails you reply to? i'm spending more time figuring out what is a reply to what and who said what than with the actual content.
Both versions of PC's last email, html and plaintext, are displaying quoting correctly on my mail-client.
Just to give you another data point...
indeed, when i view the mail in a webmail client, it displays correctly. not so in my thunderbird.
i've now taken a closer look, and it turned out, that thunderbird discovered the diff file in the mail, and switched to "diff mode" (extension mania [1]), which does nice highlighting of the diff file, but as a side-effect swallows the quotation marks in the mail body. urgh.
/me blushes. apologies for the ungrounded accusations.
fgamsdr IOhannes
Le 12/07/2017 à 09:55, IOhannes m zmoelnig a écrit :
great that it works.
and it give a confirmation that pd has to be compiled with 64bit compiler for detecting uad apollo twin soundcard:
$ pd -listdev audio input devices: 1. MMIO:Mappeur de sons Microsoft - Input 2. MMIO:Microphone (Realtek Audio) 3. MMIO:Microphone (Apollo Thunderbolt 4. ASIO:ASIO4ALL v2 5. ASIO:Realtek ASIO 6. ASIO:Universal Audio Apollo TB <---- this is really a good new! audio output devices: 1. MMIO:Mappeur de sons Microsoft - Output 2. MMIO:Haut-parleurs (Apollo Thunderbo 3. MMIO:Haut-parleurs / ▒couteurs (Real 4. MMIO:VX228 (Son Intel(R) pour ▒crans 5. ASIO:ASIO4ALL v2 6. ASIO:Realtek ASIO 7. ASIO:Universal Audio Apollo TB API number 4
two things:
- on w32, the autotools build is known to produce binaries that
"somehow" work, but there are also know problems when it comes to compiling and/or loading externals; see [25]
Also "make install" doesn't seem to put everything in the right place, for example:
Once installed in /c/msys64/usr/lib by this command, pd looks for /c/msys64/usr/tcl/pd-gui.tcl
we have to admit that it's not very convenient, but pd launches the GUI if I put the GUI scripts in this place. I can load/edit patches to make some tests but the help browser doesn't find anything.
Next step would be about building DLLs with the autotools, so I'd be able to share resulting binaries, and externals would work
- do you want to do a PR on github to include your changes to configure.ac?
I've commited changes to configure.ac
pc
On 07/12/2017 04:25 PM, patrice colet wrote:
Also "make install" doesn't seem to put everything in the right place, for example:
Once installed in /c/msys64/usr/lib by this command, pd looks for /c/msys64/usr/tcl/pd-gui.tcl
i guess that's not high priority, as the number of users who would want to install pd on standard unix paths on a W32 system is probably <5.
gmdsar IOhannes