Martin's 'net' library builds on all platforms, so you could check there for differences. On Ubuntu, 'meld' is an awesome GUI tool for seeing the differences between versions of a file. 'opendiff' aka FileMerge is a similarly awesome tool on Mac OS X.
.hc On Oct 28, 2011, at 3:58 PM, Roman Haefeli wrote: > Hi Hans, IOhannes > > I'm trying to put iemnet into Pd-extended and adapted the > externals/Makefile accordingly, after I tested it here on my Ubuntu > machine. One day later, Pd-extended builds succeeded only on Linuxes, > but failed on OS X and Windows (where I haven't tested it). > > The reasons seem to be different, though. > > Excerpt from Windows build log: > > <windowslog>------------------------------------------------------ > make -C /home/pd/auto-build/pd-extended/externals/iem/iemnet > CFLAGS="-DPD -DHAVE_G_CANVAS_H -I/home/pd/auto-build/pd-extended/pd/src > -Wall -W -ggdb -I/home/pd/auto-build/pd-extended/externals/Gem > -mms-bitfields -DMSW -DNT -D'O_NONBLOCK=1' -D'srand48(n)=srand((n))' > -D'drand48()=((double)rand()/RAND_MAX)' -D'bzero(p,n)=memset(p,0,n)'" \ > PD_PATH=/home/pd/auto-build/pd-extended/pd > PD_INCLUDE=/home/pd/auto-build/pd-extended/pd/src > make[3]: Entering directory > `/home/pd/auto-build/pd-extended/externals/iem/iemnet' > gcc -I"/home/pd/auto-build/pd-extended/pd/src/pd" > -I"/home/pd/auto-build/pd-extended/pd/src" -DPD -DVERSION='"0.1"' > -mms-bitfields -D'O_NONBLOCK=1' -DPD -DHAVE_G_CANVAS_H > -I/home/pd/auto-build/pd-extended/pd/src -Wall -W -ggdb > -I/home/pd/auto-build/pd-extended/externals/Gem -mms-bitfields -DMSW -DNT > -D'O_NONBLOCK=1' -D'srand48(n)=srand((n))' > -D'drand48()=((double)rand()/RAND_MAX)' -D'bzero(p,n)=memset(p,0,n)' -o > "tcpserver.o" -c "tcpserver.c" > In file included from tcpserver.c:30:0: > iemnet.h: In function 'debug_dummy': > iemnet.h:255:37: warning: unused parameter 'format' > tcpserver.c: In function 'tcpserver_fixindex': > tcpserver.c:149:7: warning: format '%d' expects type 'int', but argument 5 > has type 't_int' > tcpserver.c: In function 'tcpserver_send_client': > tcpserver.c:285:61: warning: unused parameter 's' > tcpserver.c: In function 'tcpserver_broadcast': > tcpserver.c:308:59: warning: unused parameter 's' > tcpserver.c: In function 'tcpserver_broadcastbut': > tcpserver.c:328:18: warning: unused variable 'chunk' > tcpserver.c:325:7: warning: unused variable 'client' > tcpserver.c:323:62: warning: unused parameter 's' > tcpserver.c: In function 'tcpserver_defaulttarget': > tcpserver.c:358:5: warning: format '%d' expects type 'int', but argument 4 > has type 't_int' > tcpserver.c: In function 'tcpserver_send_socket': > tcpserver.c:380:61: warning: unused parameter 's' > tcpserver.c: In function 'tcpserver_connectpoll': > tcpserver.c:490:63: warning: pointer targets in passing argument 3 of > 'accept' differ in signedness > c:\mingw\bin\../lib/gcc/mingw32/4.5.2/../../../../include/winsock2.h:536:35: > note: expected 'int *' but argument is of type 'unsigned int *' > tcpserver.c: At top level: > tcpserver.c:323:13: warning: 'tcpserver_broadcastbut' defined but not used > gcc -I"/home/pd/auto-build/pd-extended/pd/src/pd" > -I"/home/pd/auto-build/pd-extended/pd/src" -DPD -DVERSION='"0.1"' > -mms-bitfields -D'O_NONBLOCK=1' -DPD -DHAVE_G_CANVAS_H > -I/home/pd/auto-build/pd-extended/pd/src -Wall -W -ggdb > -I/home/pd/auto-build/pd-extended/externals/Gem -mms-bitfields -DMSW -DNT > -D'O_NONBLOCK=1' -D'srand48(n)=srand((n))' > -D'drand48()=((double)rand()/RAND_MAX)' -D'bzero(p,n)=memset(p,0,n)' -o > "iemnet.o" -c "iemnet.c" > In file included from iemnet.c:25:0: > iemnet.h: In function 'debug_dummy': > iemnet.h:255:37: warning: unused parameter 'format' > iemnet.c: In function 'iemnet_debuglevel': > iemnet.c:137:29: warning: unused parameter 'x' > iemnet.c: At top level: > iemnet.h:255:13: warning: 'debug_dummy' defined but not used > gcc -I"/home/pd/auto-build/pd-extended/pd/src/pd" > -I"/home/pd/auto-build/pd-extended/pd/src" -DPD -DVERSION='"0.1"' > -mms-bitfields -D'O_NONBLOCK=1' -DPD -DHAVE_G_CANVAS_H > -I/home/pd/auto-build/pd-extended/pd/src -Wall -W -ggdb > -I/home/pd/auto-build/pd-extended/externals/Gem -mms-bitfields -DMSW -DNT > -D'O_NONBLOCK=1' -D'srand48(n)=srand((n))' > -D'drand48()=((double)rand()/RAND_MAX)' -D'bzero(p,n)=memset(p,0,n)' -o > "iemnet_data.o" -c "iemnet_data.c" > In file included from iemnet_data.c:28:0: > iemnet.h: In function 'debug_dummy': > iemnet.h:255:37: warning: unused parameter 'format' > gcc -I"/home/pd/auto-build/pd-extended/pd/src/pd" > -I"/home/pd/auto-build/pd-extended/pd/src" -DPD -DVERSION='"0.1"' > -mms-bitfields -D'O_NONBLOCK=1' -DPD -DHAVE_G_CANVAS_H > -I/home/pd/auto-build/pd-extended/pd/src -Wall -W -ggdb > -I/home/pd/auto-build/pd-extended/externals/Gem -mms-bitfields -DMSW -DNT > -D'O_NONBLOCK=1' -D'srand48(n)=srand((n))' > -D'drand48()=((double)rand()/RAND_MAX)' -D'bzero(p,n)=memset(p,0,n)' -o > "iemnet_receiver.o" -c "iemnet_receiver.c" > In file included from iemnet_receiver.c:28:0: > iemnet.h: In function 'debug_dummy': > iemnet.h:255:37: warning: unused parameter 'format' > iemnet_receiver.c: In function 'iemnet__receiver_readthread': > iemnet_receiver.c:114:3: warning: comparison between signed and unsigned > integer expressions > iemnet_receiver.c:136:17: error: 'MSG_DONTWAIT' undeclared (first use in this > function) > iemnet_receiver.c:136:17: note: each undeclared identifier is reported only > once for each function it appears in > iemnet_receiver.c:146:63: warning: pointer targets in passing argument 2 of > 'recvfrom' differ in signedness > c:\mingw\bin\../lib/gcc/mingw32/4.5.2/../../../../include/winsock2.h:548:32: > note: expected 'char *' but argument is of type 'unsigned char *' > make[3]: *** [iemnet_receiver.o] Error 1 > make[3]: Leaving directory > `/home/pd/auto-build/pd-extended/externals/iem/iemnet' > make[2]: *** [iemnet] Error 2 > make[2]: Leaving directory `/home/pd/auto-build/pd-extended/externals' > make[1]: *** [externals_install] Error 2 > make[1]: Leaving directory `/home/pd/auto-build/pd-extended/packages' > make: *** [prebuilt_install] Error 2 > </windowslog>------------------------------------------------------------------ > > I don't have a clue what MSG_DONTWAIT is. I think I need some help (from > IOhannes?) to get this one fixed. > > From the OS X log: > > <maclog>----------------------------------------------------------------------- > make -C /Users/pd/auto-build/pd-extended/externals/iem/iemnet CFLAGS="-DPD > -DHAVE_G_CANVAS_H -I/Users/pd/auto-build/pd-extended/pd/src -Wall -W -ggdb > -I/Users/pd/auto-build/pd-extended/externals/Gem -I/sw/include > -I/Users/pd/auto-build/pd-extended/externals/pdp/include -DMACOSX -DUNIX > -Dunix -DDL_OPEN" \ > PD_PATH=/Users/pd/auto-build/pd-extended/pd > PD_INCLUDE=/Users/pd/auto-build/pd-extended/pd/src > cc -I"/Users/pd/auto-build/pd-extended/pd/src/pd" > -I"/Users/pd/auto-build/pd-extended/pd/src" -DPD -DVERSION='"0.1"' -fPIC > -I/sw/include -I/Applications/Pd-extended.app/Contents/Resources/include -DPD > -DHAVE_G_CANVAS_H -I/Users/pd/auto-build/pd-extended/pd/src -Wall -W -ggdb > -I/Users/pd/auto-build/pd-extended/externals/Gem -I/sw/include > -I/Users/pd/auto-build/pd-extended/externals/pdp/include -DMACOSX -DUNIX > -Dunix -DDL_OPEN -o "tcpserver.o" -c "tcpserver.c" > cc1: error: /Users/pd/auto-build/pd-extended/pd/src/pd: not a directory > make[3]: *** [tcpserver.o] Error 1 > make[2]: *** [iemnet] Error 2 > make[1]: *** [externals_install] Error 2 > make: *** [extended_install] Error 2 > </maclog>----------------------------------------------------------------------- > > The problem here seems to be that the Pd build directory was not clean > and thus there is still the pd binary lying around. Since the iemnet > Makefile defines ALL_CFLAGS as: > > ALL_CFLAGS = -I"$(PD_INCLUDE)/pd" -I"$(PD_INCLUDE)" > > where the former is there to make it find Pd headers also in the pd > directory (since Pd 0.43), it stumbles across the binary pd files in the > src directory and complains that it is not a directory. > > What is the best solution here? Cleaning the pd/src directory before > building the externals? Including the headers from the install location > instead of the source location? Removing '-I"$(PD_INCLUDE)/pd"' from > ALL_CFLAGS (which actually should stay there for future Pd versions)? > > Altough I had the same error once on Linux (I didn't do 'make clean'), > it doesn't happen in the Linux autobuilds, probably because the pd/src > directory is clean at the time of externals build. > > Hints/help is appreciated. > > Roman > > > > > > > _______________________________________________ > Pd-dev mailing list > [email protected] > http://lists.puredata.info/listinfo/pd-dev ---------------------------------------------------------------------------- I spent 33 years and four months in active military service and during that period I spent most of my time as a high class muscle man for Big Business, for Wall Street and the bankers. - General Smedley Butler _______________________________________________ Pd-dev mailing list [email protected] http://lists.puredata.info/listinfo/pd-dev
