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

Reply via email to