hi
i moved this to gem-dev.
Cefn Hoile wrote:
Thanks, IOhannes
Now building from latest cvs source of the Gem module from cvs.gem.iem.at:/cvsroot/pd-gem
Have to change both CFLAGS, CPPFLAGS and CXXFLAGS to include the pd-39_2 source folder, else you get...
configure: WARNING: m_pd.h: accepted by the compiler, rejected by the preprocessor!
...or...
error: m_pd.h: No such file or directory
configure expects m_pd.h to be in the default search paths. this should probably be handled by the "-with-pd" flag to configure (but it is not).
it might work if you set the INCLUDES when running configure:
%> INCLUDES="-I/Users/cefn/Documents/curiosity/pdplay/pd-intel/" ./configure ...
(this is one line!)
this should save you from the following:
So for me it was export CFLAGS=-I/Users/cefn/Documents/curiosity/pdplay/pd-intel/ pd-0.39-2/src/ export CPPFLAGS=-I/Users/cefn/Documents/curiosity/pdplay/pd-intel/ pd-0.39-2/src/ export CXXFLAGS=-I/Users/cefn/Documents/curiosity/pdplay/pd-intel/ pd-0.39-2/src/
But I run into exactly the same error as before, even with the CVS version.
If I run ./configure --disable-SIMD I get the same
what is the output of configure? how do Make.config and Base/configDarwin.h look like? (that is: after configure)
is there any mention of "mmx" somewhere?
I am now building the latest source from the Gem CVS repository. Anyone any ideas what options I could throw at GCC version 4 to make it more forgiving of these errors, or alternatively, what the error means (I'm not an experienced C coder)...
g++ -c -fPIC -I/Users/cefn/Documents/curiosity/pdplay/pd-intel/ pd-0.39-2/src/ -I.. pix_coloralpha.cpp -o pix_coloralpha.o pix_chroma_key.cpp: In member function 'virtual void pix_chroma_key::processRGBA_MMX(imageStruct&, imageStruct&)': pix_chroma_key.cpp:277: error: expected unqualified-id before numeric constant pix_chroma_key.cpp:288: error: cannot convert 'int' to 'int __vector__' for argument '2' to 'int __vector__ _mm_cmpeq_pi32(int __vector__, int __vector__)'
it seems to be a problem with MMX.
however, looking at the code again, it might be that there is a problem with variable name "nil" (as defined in line277 of pix_chroma_key.cpp) you could try to replace all occurences of "nil" with "null64". probably that's all. (if so, you might have to change it in a couple of other files too)
if you still get the same errors, then there IS an issue with MMX. you might try to add "-U__MMX__" to the gcc-flags. or add a a "#undef __MMX__" somewhere at the beginning of Base/GemSIMD.h (line 30 seems to be fine)
mfg.ads IOhannes
Thanks IOhannes.
Sounds like gem-dev's a more relevant list for these harder gem issues. I'm now subscribed to gem-dev too. I'm still wondering whether GCC can be called with a more generous interpretation of the C code so it doesn't raise these spurious errors on a codebase which is demonstrated to work for GCC3.3.
Anyway I've attached the latest useful looking build files for you to look at. This is from the first build attempt described below with nil swapped for null64, not the second, abortive one with MMX disabled.
To carry out the first build attempt I executed the global code changes you mentioned to check if the nil value is causing the problem.
So I used perl -pi -e 's/nil/null64/g' `find Pixes/ -type f -name '*.cpp'` for a global find replace of all files in place switching lowercase 'nil' for 'null64'.
<BTW> Can I not just change it at the following line... Pixes/pix_chroma_key.cpp:277: const __m64 nil=_mm_setzero_si64(); </BTW>
Then I get as far as...
g++ -c -fPIC -I/Users/cefn/Documents/curiosity/pdplay/pd-intel/ pd-0.39-2/src/ -I.. pix_filmQT.cpp -o pix_filmQT.o pix_filmDarwin.cpp: In member function 'virtual void pix_filmDarwin::closeMess()': pix_filmDarwin.cpp:63: warning: 'DisposeGWorld' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/ Frameworks/QD.framework/Headers/QDOffscreen.h:226) pix_filmDarwin.cpp:63: warning: 'DisposeGWorld' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/ Frameworks/QD.framework/Headers/QDOffscreen.h:226) pix_filmDarwin.cpp:69: warning: 'DisposeGWorld' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/ Frameworks/QD.framework/Headers/QDOffscreen.h:226) pix_filmDarwin.cpp:69: warning: 'DisposeGWorld' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/ Frameworks/QD.framework/Headers/QDOffscreen.h:226) pix_filmDarwin.cpp:75: warning: 'DisposeGWorld' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/ Frameworks/QD.framework/Headers/QDOffscreen.h:226) pix_filmDarwin.cpp:75: warning: 'DisposeGWorld' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/ Frameworks/QD.framework/Headers/QDOffscreen.h:226) pix_filmDarwin.cpp: In member function 'virtual void pix_filmDarwin::realOpen(char*)': pix_filmDarwin.cpp:205: warning: 'OffsetRect' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/ Frameworks/QD.framework/Headers/Quickdraw.h:2422) pix_filmDarwin.cpp:205: warning: 'OffsetRect' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/ Frameworks/QD.framework/Headers/Quickdraw.h:2422) pix_filmDarwin.cpp:278: warning: 'SetRect' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/ Frameworks/QD.framework/Headers/Quickdraw.h:2401) pix_filmDarwin.cpp:278: warning: 'SetRect' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/ Frameworks/QD.framework/Headers/Quickdraw.h:2401) pix_filmDarwin.cpp:326: error: 'null64' was not declared in this scope pix_filmDarwin.cpp:330: warning: 'GetGWorldDevice' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/ Frameworks/QD.framework/Headers/QDOffscreen.h:416) pix_filmDarwin.cpp:330: warning: 'GetGWorldDevice' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/ Frameworks/QD.framework/Headers/QDOffscreen.h:416) pix_filmDarwin.cpp: In member function 'virtual void pix_filmDarwin::getFrame()': pix_filmDarwin.cpp:413: error: 'null64' was not declared in this scope pix_filmDarwin.cpp:424: error: 'null64' was not declared in this scope make[1]: *** [pix_filmDarwin.o] Error 1 make[1]: *** Waiting for unfinished jobs.... pix_filmYUV.h:150: error: ISO C++ forbids declaration of 'pixStruct' with no type pix_filmYUV.h:150: error: expected ';' before '*' token pix_filmDarwinYUV.cpp: In member function 'virtual void pix_filmDarwinYUV::closeMess()': pix_filmDarwinYUV.cpp:56: warning: 'DisposeGWorld' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/ Frameworks/QD.framework/Headers/QDOffscreen.h:226) pix_filmDarwinYUV.cpp:56: warning: 'DisposeGWorld' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/ Frameworks/QD.framework/Headers/QDOffscreen.h:226) pix_filmDarwinYUV.cpp:64: warning: 'DisposeGWorld' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/ Frameworks/QD.framework/Headers/QDOffscreen.h:226) pix_filmDarwinYUV.cpp:64: warning: 'DisposeGWorld' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/ Frameworks/QD.framework/Headers/QDOffscreen.h:226) pix_filmDarwinYUV.cpp:72: warning: 'DisposeGWorld' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/ Frameworks/QD.framework/Headers/QDOffscreen.h:226) pix_filmDarwinYUV.cpp:72: warning: 'DisposeGWorld' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/ Frameworks/QD.framework/Headers/QDOffscreen.h:226) pix_filmDarwinYUV.cpp: In member function 'virtual void pix_filmDarwinYUV::realOpen(char*)': pix_filmDarwinYUV.cpp:174: warning: 'OffsetRect' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/ Frameworks/QD.framework/Headers/Quickdraw.h:2422) pix_filmDarwinYUV.cpp:174: warning: 'OffsetRect' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/ Frameworks/QD.framework/Headers/Quickdraw.h:2422) pix_filmDarwinYUV.cpp:207: warning: 'GetGWorldDevice' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/ Frameworks/QD.framework/Headers/QDOffscreen.h:416) pix_filmDarwinYUV.cpp:207: warning: 'GetGWorldDevice' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/ Frameworks/QD.framework/Headers/QDOffscreen.h:416) make[1]: *** [pix_filmDarwinYUV.o] Error 1 pix_filmQT.cpp: In member function 'virtual void pix_filmQT::closeMess ()': pix_filmQT.cpp:103: warning: 'DisposeGWorld' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/ Frameworks/QD.framework/Headers/QDOffscreen.h:226) pix_filmQT.cpp:103: warning: 'DisposeGWorld' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/ Frameworks/QD.framework/Headers/QDOffscreen.h:226) pix_filmQT.cpp:109: warning: 'DisposeGWorld' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/ Frameworks/QD.framework/Headers/QDOffscreen.h:226) pix_filmQT.cpp:109: warning: 'DisposeGWorld' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/ Frameworks/QD.framework/Headers/QDOffscreen.h:226) pix_filmQT.cpp:115: warning: 'DisposeGWorld' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/ Frameworks/QD.framework/Headers/QDOffscreen.h:226) pix_filmQT.cpp:115: warning: 'DisposeGWorld' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/ Frameworks/QD.framework/Headers/QDOffscreen.h:226) pix_filmQT.cpp: In member function 'virtual void pix_filmQT::realOpen (char*)': pix_filmQT.cpp:177: warning: 'CopyCStringToPascal' is deprecated (declared at /System/Library/Frameworks/CoreServices.framework/ Frameworks/CarbonCore.framework/Headers/TextUtils.h:619) pix_filmQT.cpp:177: warning: 'CopyCStringToPascal' is deprecated (declared at /System/Library/Frameworks/CoreServices.framework/ Frameworks/CarbonCore.framework/Headers/TextUtils.h:619) pix_filmQT.cpp:179: warning: 'FSMakeFSSpec' is deprecated (declared at /System/Library/Frameworks/CoreServices.framework/Frameworks/ CarbonCore.framework/Headers/Files.h:8967) pix_filmQT.cpp:179: warning: 'FSMakeFSSpec' is deprecated (declared at /System/Library/Frameworks/CoreServices.framework/Frameworks/ CarbonCore.framework/Headers/Files.h:8967) pix_filmQT.cpp:226: warning: 'OffsetRect' is deprecated (declared at / System/Library/Frameworks/ApplicationServices.framework/Frameworks/ QD.framework/Headers/Quickdraw.h:2422) pix_filmQT.cpp:226: warning: 'OffsetRect' is deprecated (declared at / System/Library/Frameworks/ApplicationServices.framework/Frameworks/ QD.framework/Headers/Quickdraw.h:2422) pix_filmQT.cpp:268: warning: 'GetGWorldDevice' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/ Frameworks/QD.framework/Headers/QDOffscreen.h:416) pix_filmQT.cpp:268: warning: 'GetGWorldDevice' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/ Frameworks/QD.framework/Headers/QDOffscreen.h:416) pix_filmQT.cpp: In member function 'virtual void pix_filmQT::getFrame ()': pix_filmQT.cpp:316: warning: 'GetGWorld' is deprecated (declared at / System/Library/Frameworks/ApplicationServices.framework/Frameworks/ QD.framework/Headers/QDOffscreen.h:240) pix_filmQT.cpp:316: warning: 'GetGWorld' is deprecated (declared at / System/Library/Frameworks/ApplicationServices.framework/Frameworks/ QD.framework/Headers/QDOffscreen.h:240) pix_filmQT.cpp:317: warning: 'SetGWorld' is deprecated (declared at / System/Library/Frameworks/ApplicationServices.framework/Frameworks/ QD.framework/Headers/QDOffscreen.h:254) pix_filmQT.cpp:317: warning: 'SetGWorld' is deprecated (declared at / System/Library/Frameworks/ApplicationServices.framework/Frameworks/ QD.framework/Headers/QDOffscreen.h:254) pix_filmQT.cpp:320: warning: 'GetGWorldPixMap' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/ Frameworks/QD.framework/Headers/QDOffscreen.h:480) pix_filmQT.cpp:320: warning: 'GetGWorldPixMap' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/ Frameworks/QD.framework/Headers/QDOffscreen.h:480) pix_filmQT.cpp:321: warning: 'GetPixBaseAddr' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/ Frameworks/QD.framework/Headers/QDOffscreen.h:364) pix_filmQT.cpp:321: warning: 'GetPixBaseAddr' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/ Frameworks/QD.framework/Headers/QDOffscreen.h:364) make: *** [Pixes] Error 2
...and in a second build attempt after following your suggestion to add the undef to the gcc flags like...
src (501) : export CFLAGS="$CFLAGS -U__MMX__" src (502) : export CPPFLAGS="$CPPFLAGS -U__MMX__" src (503) : export CXXFLAGS="$CXXFLAGS -U__MMX__"
I get make -C Base -f ..//Makefile.subdir -j4 In file included from /usr/lib/gcc/i686-apple-darwin8/4.0.1/include/ xmmintrin.h:39, from /usr/lib/gcc/i686-apple-darwin8/4.0.1/include/ emmintrin.h:35, from GemSIMD.h:40, from GemSIMD.cpp:1: /usr/lib/gcc/i686-apple-darwin8/4.0.1/include/mmintrin.h:35:3: error: #error "MMX instruction set not enabled" make[1]: *** [GemSIMD.d] Error 1 make[1]: *** Waiting for unfinished jobs.... In file included from /usr/lib/gcc/i686-apple-darwin8/4.0.1/include/ xmmintrin.h:39, from /System/Library/Frameworks/ CoreServices.framework/Frameworks/CarbonCore.framework/Headers/ MachineExceptions.h:29, from /System/Library/Frameworks/ CoreServices.framework/Frameworks/CarbonCore.framework/Headers/ DriverServices.h:32, from /System/Library/Frameworks/ CoreServices.framework/Frameworks/CarbonCore.framework/Headers/ CarbonCore.h:125, from /System/Library/Frameworks/ CoreServices.framework/Headers/CoreServices.h:21, from /System/Library/Frameworks/Carbon.framework/ Headers/Carbon.h:20, from GemWinCreateMac.cpp:17: /usr/lib/gcc/i686-apple-darwin8/4.0.1/include/mmintrin.h:35:3: error: #error "MMX instruction set not enabled" In file included from /usr/lib/gcc/i686-apple-darwin8/4.0.1/include/ xmmintrin.h:39, from /System/Library/Frameworks/ CoreServices.framework/Frameworks/CarbonCore.framework/Headers/ MachineExceptions.h:29, from /System/Library/Frameworks/ CoreServices.framework/Frameworks/CarbonCore.framework/Headers/ DriverServices.h:32, from /System/Library/Frameworks/ CoreServices.framework/Frameworks/CarbonCore.framework/Headers/ CarbonCore.h:125, from /System/Library/Frameworks/ CoreServices.framework/Headers/CoreServices.h:21, from /System/Library/Frameworks/Carbon.framework/ Headers/Carbon.h:20, from GemMan.h:23, from GemSetup.cpp:20: /usr/lib/gcc/i686-apple-darwin8/4.0.1/include/mmintrin.h:35:3: error: #error "MMX instruction set not enabled" make[1]: *** [GemSetup.d] Error 1 make: *** [Base] Error
Cefn http://cefn.com
On 27 Mar 2006, at 13:30, IOhannes m zmoelnig wrote:
hi
i moved this to gem-dev.
Cefn Hoile wrote:
Thanks, IOhannes
Now building from latest cvs source of the Gem module from cvs.gem.iem.at:/cvsroot/pd-gem
Have to change both CFLAGS, CPPFLAGS and CXXFLAGS to include the pd-39_2 source folder, else you get...
configure: WARNING: m_pd.h: accepted by the compiler, rejected by the preprocessor!
...or...
error: m_pd.h: No such file or directory
configure expects m_pd.h to be in the default search paths. this should probably be handled by the "-with-pd" flag to configure (but it is not).
it might work if you set the INCLUDES when running configure:
%> INCLUDES="-I/Users/cefn/Documents/curiosity/pdplay/pd-intel/" ./configure ...
(this is one line!)
this should save you from the following:
So for me it was export CFLAGS=-I/Users/cefn/Documents/curiosity/pdplay/pd-intel/ pd-0.39-2/src/ export CPPFLAGS=-I/Users/cefn/Documents/curiosity/pdplay/pd-intel/ pd-0.39-2/src/ export CXXFLAGS=-I/Users/cefn/Documents/curiosity/pdplay/pd-intel/ pd-0.39-2/src/
But I run into exactly the same error as before, even with the CVS version.
If I run ./configure --disable-SIMD I get the same
what is the output of configure? how do Make.config and Base/configDarwin.h look like? (that is: after configure)
is there any mention of "mmx" somewhere?
I am now building the latest source from the Gem CVS repository. Anyone any ideas what options I could throw at GCC version 4 to make it more forgiving of these errors, or alternatively, what the error means (I'm not an experienced C coder)...
g++ -c -fPIC -I/Users/cefn/Documents/curiosity/pdplay/pd-intel/ pd-0.39-2/src/ -I.. pix_coloralpha.cpp -o pix_coloralpha.o pix_chroma_key.cpp: In member function 'virtual void pix_chroma_key::processRGBA_MMX(imageStruct&, imageStruct&)': pix_chroma_key.cpp:277: error: expected unqualified-id before numeric constant pix_chroma_key.cpp:288: error: cannot convert 'int' to 'int __vector__' for argument '2' to 'int __vector__ _mm_cmpeq_pi32(int __vector__, int __vector__)'
it seems to be a problem with MMX.
however, looking at the code again, it might be that there is a problem with variable name "nil" (as defined in line277 of pix_chroma_key.cpp) you could try to replace all occurences of "nil" with "null64". probably that's all. (if so, you might have to change it in a couple of other files too)
if you still get the same errors, then there IS an issue with MMX. you might try to add "-U__MMX__" to the gcc-flags. or add a a "#undef __MMX__" somewhere at the beginning of Base/ GemSIMD.h (line 30 seems to be fine)
mfg.ads IOhannes
Cefn Hoile wrote:
Thanks IOhannes.
Sounds like gem-dev's a more relevant list for these harder gem issues. I'm now subscribed to gem-dev too. I'm still wondering whether GCC can be called with a more generous interpretation of the C code so it doesn't raise these spurious errors on a codebase which is demonstrated to work for GCC3.3.
well, not necessarily. people (including me) have had serious problems building Gem with gcc3.3 recently. thats why i say: "use gcc>=4.0"
Anyway I've attached the latest useful looking build files for you to look at. This is from the first build attempt described below with nil swapped for null64, not the second, abortive one with MMX disabled.
To carry out the first build attempt I executed the global code changes you mentioned to check if the nil value is causing the problem.
So I used perl -pi -e 's/nil/null64/g' `find Pixes/ -type f -name '*.cpp'` for a global find replace of all files in place switching lowercase 'nil' for 'null64'.
<BTW> Can I not just change it at the following line... Pixes/pix_chroma_key.cpp:277: const __m64 nil=_mm_setzero_si64(); </BTW>
yes of course you are right. i was implying that.
Then I get as far as...
good, so it _was_ the "nil" thing
g++ -c -fPIC -I/Users/cefn/Documents/curiosity/pdplay/pd-intel/ pd-0.39-2/src/ -I.. pix_filmQT.cpp -o pix_filmQT.o pix_filmDarwin.cpp: In member function 'virtual void pix_filmDarwin::closeMess()': pix_filmDarwin.cpp:63: warning: 'DisposeGWorld' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/ Frameworks/QD.framework/Headers/QDOffscreen.h:226)
well, we cannot do anything about that currently. while it seems to be deprecated, it is still valid (and not an error, so i don't care _now_)
pix_filmDarwin.cpp: In member function 'virtual void pix_filmDarwin::getFrame()': pix_filmDarwin.cpp:413: error: 'null64' was not declared in this scope pix_filmDarwin.cpp:424: error: 'null64' was not declared in this scope make[1]: *** [pix_filmDarwin.o] Error 1 make[1]: *** Waiting for unfinished jobs....
yep, here we have the reverse error as before: the QuickDraw-framework _does_ declare a "nil" value, which broke the MMX-code. now that you have replaced _all_ "nil"s, they are missing there where they need to be "nil". so run your inverse perl-script on "*film*" and "*movie*".
pix_filmYUV.h:150: error: ISO C++ forbids declaration of 'pixStruct' with no type pix_filmYUV.h:150: error: expected ';' before '*' token
wow, i don't have a line150 here in pix_filmYUV.h (it is only 51lines long)
...and in a second build attempt after following your suggestion to add the undef to the gcc flags like...
well, i think this is not needed; the errors really were in the "nil"-name.
so the suggestions below, are trying to fix _these_ problems though the _real_ problems are above...
src (501) : export CFLAGS="$CFLAGS -U__MMX__" src (502) : export CPPFLAGS="$CPPFLAGS -U__MMX__" src (503) : export CXXFLAGS="$CXXFLAGS -U__MMX__"
i assume you are setting these at the shell? i guess you should rather set all these CFLAGS within the Make.config setting them on the commandline should override the settings in Make.config which is not what we want! we want both.
anyhow, your Make.config reveals that you (of course!) also have sse2 enabled; that's what makes the errors in your 2nd build. you should disable that too. just remove the "-msse2" and "-mmmx" parts from Make.config.
did you run configure with "--disable-SIMD" for the files you sent? if so, the checks are seriously broken. it would also be nice to have the output of configure, like with
./configure --disable-SIMD > myconf.log
(don't use config.log since that is already used by configure itself)
mfg.asdr IOhannes
IOhannes m zmoelnig wrote:
Cefn Hoile wrote:
yep, here we have the reverse error as before: the QuickDraw-framework _does_ declare a "nil" value, which broke the MMX-code. now that you have replaced _all_ "nil"s, they are missing there where they need to be "nil". so run your inverse perl-script on "*film*" and "*movie*".
and on "*video*"!
actually it's these files, where the "nil" needs to be "nil": filmQT.cpp pix_filmDarwin.cpp pix_movieDarwin.cpp pix_videoDarwin.cpp
mfg.asd.r IOhannes
The global find and replace, filtered to block the files you stated.
perl -pi -e 's/nil/null64/g' `find Pixes/ -type f -name '*.cpp' | grep -v --regexp '/pix.*Darwin.cpp' | grep -v /filmQT.cpp`
...gets me as far as...
g++ -c -fPIC -I/Users/cefn/Documents/curiosity/pdplay/pd-intel/ pd-0.39-2/src/ -I.. -I/Users/cefn/Documents/curiosity/pdplay/pd- intel/pd-0.39-2/src/ pix_filmQT.cpp -o pix_filmQT.o pix_filmDarwin.cpp: In member function 'virtual void pix_filmDarwin::closeMess()': pix_filmDarwin.cpp:63: warning: 'DisposeGWorld' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/ Frameworks/QD.framework/Headers/QDOffscreen.h:226) pix_filmDarwin.cpp:63: warning: 'DisposeGWorld' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/ Frameworks/QD.framework/Headers/QDOffscreen.h:226) pix_filmDarwin.cpp:69: warning: 'DisposeGWorld' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/ Frameworks/QD.framework/Headers/QDOffscreen.h:226) pix_filmDarwin.cpp:69: warning: 'DisposeGWorld' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/ Frameworks/QD.framework/Headers/QDOffscreen.h:226) pix_filmDarwin.cpp:75: warning: 'DisposeGWorld' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/ Frameworks/QD.framework/Headers/QDOffscreen.h:226) pix_filmDarwin.cpp:75: warning: 'DisposeGWorld' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/ Frameworks/QD.framework/Headers/QDOffscreen.h:226) pix_filmDarwin.cpp: In member function 'virtual void pix_filmDarwin::realOpen(char*)': pix_filmDarwin.cpp:205: warning: 'OffsetRect' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/ Frameworks/QD.framework/Headers/Quickdraw.h:2422) pix_filmDarwin.cpp:205: warning: 'OffsetRect' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/ Frameworks/QD.framework/Headers/Quickdraw.h:2422) pix_filmDarwin.cpp:278: warning: 'SetRect' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/ Frameworks/QD.framework/Headers/Quickdraw.h:2401) pix_filmDarwin.cpp:278: warning: 'SetRect' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/ Frameworks/QD.framework/Headers/Quickdraw.h:2401) pix_filmDarwin.cpp:330: warning: 'GetGWorldDevice' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/ Frameworks/QD.framework/Headers/QDOffscreen.h:416) pix_filmDarwin.cpp:330: warning: 'GetGWorldDevice' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/ Frameworks/QD.framework/Headers/QDOffscreen.h:416) pix_filmYUV.h:150: error: ISO C++ forbids declaration of 'pixStruct' with no type pix_filmYUV.h:150: error: expected ';' before '*' token
If I remove the "msse2" and "-mmmx" from Make.config I get the same thing. If I do this and call configure with --disable-SIMD I get the same thing.
By the way the use of the INCLUDES environment variable doesn't work. Even when it's visible in the configure script, and set to the correct directory, prefixed with -I, then I get errors about m_pd.h not being there, unless I set CFLAGS CPPFLAGS AND/OR CXXFLAGS, I haven't worked out which yet. This could be masking some issues, as I guess these then dominate the settings in Make.config...
FRAGMENTARY OUTPUT FROM checking m_pd.h usability... no checking m_pd.h presence... no checking for m_pd.h... no checking whether compiler accepts "-freg-struct-return"... yes enabling "register struct return" allows to make use of FreeFrame-effects without recompiling them might break things, if you are using several different compilers checking whether compiler accepts "-O3"... yes checking whether compiler accepts "-fno-builtin"... yes checking whether compiler accepts "-falign-loops=16 -funroll- loops"... yes checking whether compiler accepts "-ffast-math"... yes checking whether linker accepts "-shared -Wl,-export-dynamic"... no checking whether linker accepts "-bundle -bundle_loader "... no checking for strip... strip checking if strip is GNU strip... no checking for dos2unix... true configure: creating ./config.status config.status: creating Make.config config.status: creating Base/configDarwin.h
Result: Target : Gem.pd_darwin Objects : Base Controls Geos Manips MarkEx Nongeos Particles Pixes openGL
Configuration: Compiler : g++ CXXFLAGS : -g -O2 -freg-struct-return -O3 -fno- builtin -falign-loops=16 -funroll-loops -ffast-math : INCLUDES : -I/Users/cefn/Documents/curiosity/pdplay/ pd-intel/pd-0.39-2/src/
END FRAGMENTARY OUTPUT
What's the proper way to set these?
The full configure output which leads to the ISO C++ forbids... error looks like this....
src (603) : ./configure --disable-SIMD checking for Base/configDarwin.h.in... yes checking for g++... g++ checking for C++ compiler default output file name... a.out checking whether the C++ compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C++ compiler... yes checking whether g++ accepts -g... yes checking for gcc... gcc checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ANSI C... none needed checking for a BSD-compatible install... /usr/bin/install -c checking whether ln -s works... yes checking for sin in -lm... yes checking for main in -lz... yes checking for dlopen in -ldl... yes checking how to run the C preprocessor... gcc -E checking for X... disabled checking for glInitNames in -lGL... no checking for gluLookAt in -lGLU... no checking for "OpenGL"-framework... yes checking for "AGL"-framework... yes checking for "Carbon"-framework... yes checking for "QuickTime"-framework... yes checking for pkg-config... /sw/bin/pkg-config checking pkg-config is at least version 0.9.0... yes checking for PKG_IMAGEMAGICK___CFLAGS... checking for PKG_IMAGEMAGICK___LIBS... checking for ImageMagick++-config... no checking for main in -lMagick++... no checking for PKG_TIFF_CFLAGS... checking for PKG_TIFF_LIBS... checking for tiff-config... no checking for TIFFOpen in -ltiff... no checking for PKG_JPEG_CFLAGS... checking for PKG_JPEG_LIBS... checking for jpeg-config... no checking for jpeg_read_header in -ljpeg... no checking for PKG_LIBQUICKTIME_CFLAGS... checking for PKG_LIBQUICKTIME_LIBS... checking for libquicktime-config... no checking for quicktime_init in -lquicktime... no checking for PKG_LQT_CFLAGS... checking for PKG_LQT_LIBS... checking for lqt-config... no checking for quicktime_init in -lquicktime... no checking for PKG_MPEG3_CFLAGS... checking for PKG_MPEG3_LIBS... checking for mpeg3-config... no checking for mpeg3_check_sig in -lmpeg3... no checking for PKG_MPEG_CFLAGS... checking for PKG_MPEG_LIBS... checking for mpeg-config... no checking for OpenMPEG in -lmpeg... no checking for PKG_AVIFILE_CFLAGS... checking for PKG_AVIFILE_LIBS... checking for avifile-config... no checking for CreateIAviReadFile in -laviplay... no checking for PKG_FFMPEG_CFLAGS... checking for PKG_FFMPEG_LIBS... checking for ffmpeg-config... no checking for av_open_input_file in -lavformat... no checking for egrep... grep -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking linux/videodev.h usability... no checking linux/videodev.h presence... no checking for linux/videodev.h... no checking for PKG_IEEE1394_CFLAGS... checking for PKG_IEEE1394_LIBS... checking for ieee1394-config... no checking for main in -ldv... no checking for PKG_FTGL_CFLAGS... checking for PKG_FTGL_LIBS... checking for ftgl-config... no checking for main in -lftgl... no checking for PKG_GLTT_CFLAGS... checking for PKG_GLTT_LIBS... checking for gltt-config... no checking for GLTTFont in -lgltt... no checking for pthread_create in -lpthread... yes checking for X... disabled checking for ANSI C header files... (cached) yes checking fcntl.h usability... yes checking fcntl.h presence... yes checking for fcntl.h... yes checking float.h usability... yes checking float.h presence... yes checking for float.h... yes checking for memory.h... (cached) yes checking stddef.h usability... yes checking stddef.h presence... yes checking for stddef.h... yes checking for stdlib.h... (cached) yes checking for string.h... (cached) yes checking for strings.h... (cached) yes checking sys/ioctl.h usability... yes checking sys/ioctl.h presence... yes checking for sys/ioctl.h... yes checking sys/time.h usability... yes checking sys/time.h presence... yes checking for sys/time.h... yes checking termios.h usability... yes checking termios.h presence... yes checking for termios.h... yes checking for unistd.h... (cached) yes checking for stdbool.h that conforms to C99... yes checking for _Bool... yes checking for an ANSI C-conforming const... yes checking for inline... inline checking for size_t... yes checking whether time.h and sys/time.h may both be included... yes checking for GLsizeiptrARB... yes checking for unsigned int... yes checking size of unsigned int... 4 checking for void *... yes checking size of void *... 4 checking for error_at_line... no checking for pid_t... yes checking for unistd.h... (cached) yes checking vfork.h usability... no checking vfork.h presence... no checking for vfork.h... no checking for fork... yes checking for vfork... yes checking for working fork... yes checking for working vfork... (cached) yes checking whether gcc needs -traditional... no checking for stdlib.h... (cached) yes checking for GNU libc compatible malloc... yes checking for stdlib.h... (cached) yes checking for unistd.h... (cached) yes checking for getpagesize... yes checking for working mmap... yes checking for bzero... yes checking for floor... yes checking for gettimeofday... yes checking for memset... yes checking for munmap... yes checking for pow... yes checking for sqrt... yes checking for strchr... yes checking for strdup... yes checking for strrchr... yes checking for strstr... yes checking for lqt_add_video_track... no checking for glBindProgramARB... yes checking for glBindProgramNV... no disabling NV-extensions checking m_pd.h usability... yes checking m_pd.h presence... yes checking for m_pd.h... yes checking whether compiler accepts "-freg-struct-return"... yes enabling "register struct return" allows to make use of FreeFrame-effects without recompiling them might break things, if you are using several different compilers checking whether compiler accepts "-O3"... yes checking whether compiler accepts "-fno-builtin"... yes checking whether compiler accepts "-falign-loops=16 -funroll- loops"... yes checking whether compiler accepts "-ffast-math"... yes checking whether linker accepts "-shared -Wl,-export-dynamic"... no checking whether linker accepts "-bundle -bundle_loader "... no checking for strip... strip checking if strip is GNU strip... no checking for dos2unix... true configure: creating ./config.status config.status: creating Make.config config.status: creating Base/configDarwin.h config.status: Base/configDarwin.h is unchanged
Result: Target : Gem.pd_darwin Objects : Base Controls Geos Manips MarkEx Nongeos Particles Pixes openGL
Configuration: Compiler : g++ CXXFLAGS : -I/Users/cefn/Documents/curiosity/pdplay/ pd-intel/pd-0.39-2/src/ -freg-struct-return -O3 -fno-builtin -falign- loops=16 -funroll-loops -ffast-math : INCLUDES : DEFINES :
LIBS : -ldl -lz -lm -lpthread : LDFLAGS : -framework QuickTime -framework Carbon - framework AGL -framework OpenGL :
Strip : strip -x
Install path : /usr/local
pure-data: version : 0.0
used optional libraries:
font-rendering :
image-support use ImageMagick : no use TIFF : no use JPEG : no video-support use mpeg : no use mpeg-3 : no use QuickTime : yes (framework) use aviplay : no use ffmpeg : no input-support use v4l : no use ieee1394 : no
misc using ARB-extensions : yes using NV-extensions : no using reg-struct-ret : yes
Now run make ...
And the current CVS DIFF (ignoring whitespace) relative to the Gem source looks like this...
src (613) : cvs diff -w ? Make.config ? config.log ? config.status ? myconf.log ? Base/CPPExtern.d ? Base/GemBase.d ? Base/GemCache.d ? Base/GemEvent.d ? Base/GemFuncUtil.d ? Base/GemGLUtil.d ? Base/GemGluObj.d ? Base/GemLoadObj.d ? Base/GemMan.d ? Base/GemModelData.d ? Base/GemPBuffer.d ? Base/GemPathBase.d ? Base/GemPixConvertAltivec.d ? Base/GemPixConvertSSE2.d ? Base/GemPixDualObj.d ? Base/GemPixImageLoad.d ? Base/GemPixImageSave.d ? Base/GemPixObj.d ? Base/GemPixUtil.d ? Base/GemPixUtil.d.4497 ? Base/GemSIMD.d ? Base/GemSIMD.d.4429 ? Base/GemSIMD.d.4496 ? Base/GemSetup.d ? Base/GemSetup.d.10249 ? Base/GemSetup.d.29363 ? Base/GemSetup.d.4422 ? Base/GemSetup.d.4495 ? Base/GemSetup.d.6343 ? Base/GemShape.d ? Base/GemShape.d.10248 ? Base/GemShape.d.11497 ? Base/GemShape.d.29352 ? Base/GemShape.d.2964 ? Base/GemShape.d.6342 ? Base/GemShape.d.8022 ? Base/GemState.d ? Base/GemVector.d ? Base/GemWinCreateMac.d ? Base/GemWinCreateMac.d.10226 ? Base/GemWinCreateMac.d.11478 ? Base/GemWinCreateMac.d.29336 ? Base/GemWinCreateMac.d.2940 ? Base/GemWinCreateMac.d.4396 ? Base/GemWinCreateMac.d.4494 ? Base/GemWinCreateMac.d.6341 ? Base/GemWinCreateMac.d.8003 ? Base/GemWinCreateNT.d ? Base/GemWinCreateXWin.d ? Base/Matrix.d ? Base/TextBase.d ? Base/TextBase.d.10191 ? Base/TextBase.d.11450 ? Base/TextBase.d.2909 ? Base/TextBase.d.29301 ? Base/TextBase.d.6340 ? Base/TextBase.d.7967 ? Base/glew.d ? Base/sgiimage.d cvs diff: -m wrapper option is not supported remotely; ignored cvs diff: Diffing . cvs diff: Diffing Base Index: Base/configDarwin.h =================================================================== RCS file: /cvsroot/pd-gem/Gem/src/Base/configDarwin.h,v retrieving revision 1.2 diff -w -r1.2 configDarwin.h 1c1,19 < #define FTGL ---
/* Base/configDarwin.h. Generated by configure. */ /* font rendering */ /* #undef HAVE_LIBFTGL */
/* image loading / saving */ /* #undef HAVE_LIBMAGICKPLUSPLUS */
/* disable the use of openGL-ARB extensions */ /* #undef DONT_USE_ARB */
/* disable the use of openGL-nvidia extensions */ #define DONT_USE_NV 1
/* types, structures, compiler characteristics, ... */ #define SIZEOF_VOID_P 4 #define SIZEOF_UNSIGNED_INT 4
#define HAVE_GLSIZEIPTRARB 1
cvs diff: Diffing Controls cvs diff: Diffing Geos cvs diff: Diffing Gnu cvs diff: Diffing Manips cvs diff: Diffing MarkEx cvs diff: Diffing Nongeos cvs diff: Diffing Output cvs diff: Diffing Particles cvs diff: Diffing Pixes Index: Pixes/pix_chroma_key.cpp =================================================================== RCS file: /cvsroot/pd-gem/Gem/src/Pixes/pix_chroma_key.cpp,v retrieving revision 1.7 diff -w -r1.7 pix_chroma_key.cpp 277c277 < const __m64 nil=_mm_setzero_si64(); ---
const __m64 null64=_mm_setzero_si64();
288,289c288,289 < b0=_mm_cmpeq_pi32 (b0, nil); < b1=_mm_cmpeq_pi32 (b1, nil); ---
b0=_mm_cmpeq_pi32 (b0, null64); b1=_mm_cmpeq_pi32 (b1, null64);
305,306c305,306 < b0=_mm_cmpeq_pi32 (b0, nil); < b1=_mm_cmpeq_pi32 (b1, nil); ---
b0=_mm_cmpeq_pi32 (b0, null64); b1=_mm_cmpeq_pi32 (b1, null64);
346c346 < const __m64 nil=_mm_setzero_si64(); ---
const __m64 null64=_mm_setzero_si64();
357,358c357,358 < b0=_mm_cmpeq_pi32 (b0, nil); < b1=_mm_cmpeq_pi32 (b1, nil); ---
b0=_mm_cmpeq_pi32 (b0, null64); b1=_mm_cmpeq_pi32 (b1, null64);
374,375c374,375 < b0=_mm_cmpeq_pi32(b0, nil); < b1=_mm_cmpeq_pi32(b1, nil); ---
b0=_mm_cmpeq_pi32(b0, null64); b1=_mm_cmpeq_pi32(b1, null64);
415c415 < const __m64 nil=_mm_setzero_si64(); ---
const __m64 null64=_mm_setzero_si64();
426,427c426,427 < b0=_mm_cmpeq_pi32 (b0, nil); < b1=_mm_cmpeq_pi32 (b1, nil); ---
b0=_mm_cmpeq_pi32 (b0, null64); b1=_mm_cmpeq_pi32 (b1, null64);
443,444c443,444 < b0=_mm_cmpeq_pi32(b0, nil); < b1=_mm_cmpeq_pi32(b1, nil); ---
b0=_mm_cmpeq_pi32(b0, null64); b1=_mm_cmpeq_pi32(b1, null64);
Index: Pixes/pix_composite.cpp =================================================================== RCS file: /cvsroot/pd-gem/Gem/src/Pixes/pix_composite.cpp,v retrieving revision 1.6 diff -w -r1.6 pix_composite.cpp 132c132 < const __m64 nil= _mm_setzero_si64(); ---
const __m64 null64= _mm_setzero_si64();
153,158c153,158 < l1=_mm_unpackhi_pi8(l0, nil); < r1=_mm_unpackhi_pi8(r0, nil); < l0=_mm_unpacklo_pi8(l0, nil); < r0=_mm_unpacklo_pi8(r0, nil); < b =_mm_unpackhi_pi8(a , nil); < a =_mm_unpacklo_pi8(a , nil); ---
l1=_mm_unpackhi_pi8(l0, null64); r1=_mm_unpackhi_pi8(r0, null64); l0=_mm_unpacklo_pi8(l0, null64); r0=_mm_unpacklo_pi8(r0, null64); b =_mm_unpackhi_pi8(a , null64); a =_mm_unpacklo_pi8(a , null64);
Index: Pixes/pix_mix.cpp =================================================================== RCS file: /cvsroot/pd-gem/Gem/src/Pixes/pix_mix.cpp,v retrieving revision 1.12 diff -w -r1.12 pix_mix.cpp 154c154 < __m64 nil = _mm_setzero_si64(); ---
__m64 null64 = _mm_setzero_si64();
161,164c161,164 < l2=_mm_unpackhi_pi8 (l1, nil); < l1=_mm_unpacklo_pi8 (l1, nil); < r2=_mm_unpackhi_pi8 (r1, nil); < r1=_mm_unpacklo_pi8 (r1, nil); ---
l2=_mm_unpackhi_pi8 (l1, null64); l1=_mm_unpacklo_pi8 (l1, null64); r2=_mm_unpackhi_pi8 (r1, null64); r1=_mm_unpacklo_pi8 (r1, null64);
Index: Pixes/pix_motionblur.cpp =================================================================== RCS file: /cvsroot/pd-gem/Gem/src/Pixes/pix_motionblur.cpp,v retrieving revision 1.10 diff -w -r1.10 pix_motionblur.cpp 270c270 < __m64 nil = _mm_setzero_si64(); ---
__m64 null64 = _mm_setzero_si64();
278,281c278,281 < newpix2 = _mm_unpackhi_pi8(newpix1, nil); < newpix1 = _mm_unpacklo_pi8(newpix1, nil); < oldpix2 = _mm_unpackhi_pi8(oldpix1, nil); < oldpix1 = _mm_unpacklo_pi8(oldpix1, nil); ---
newpix2 = _mm_unpackhi_pi8(newpix1, null64); newpix1 = _mm_unpacklo_pi8(newpix1, null64); oldpix2 = _mm_unpackhi_pi8(oldpix1, null64); oldpix1 = _mm_unpacklo_pi8(oldpix1, null64);
Index: Pixes/pix_multiply.cpp =================================================================== RCS file: /cvsroot/pd-gem/Gem/src/Pixes/pix_multiply.cpp,v retrieving revision 1.6 diff -w -r1.6 pix_multiply.cpp 129c129 < __m64 nil = _mm_setzero_si64(); ---
__m64 null64 = _mm_setzero_si64();
134,137c134,137 < l0=_mm_unpacklo_pi8(l1, nil); < r0=_mm_unpacklo_pi8(r1, nil); < l1=_mm_unpackhi_pi8(l1, nil); < r1=_mm_unpackhi_pi8(r1, nil); ---
l0=_mm_unpacklo_pi8(l1, null64); r0=_mm_unpacklo_pi8(r1, null64); l1=_mm_unpackhi_pi8(l1, null64); r1=_mm_unpackhi_pi8(r1, null64);
191c191 < __m64 nil = _mm_setzero_si64(); ---
__m64 null64 = _mm_setzero_si64();
198,201c198,201 < l0=_mm_unpacklo_pi8(l1, nil); < r0=_mm_unpacklo_pi8(r1, nil); < l1=_mm_unpackhi_pi8(l1, nil); < r1=_mm_unpackhi_pi8(r1, nil); ---
l0=_mm_unpacklo_pi8(l1, null64); r0=_mm_unpacklo_pi8(r1, null64); l1=_mm_unpackhi_pi8(l1, null64); r1=_mm_unpackhi_pi8(r1, null64);
Index: Pixes/pix_subtract.cpp =================================================================== RCS file: /cvsroot/pd-gem/Gem/src/Pixes/pix_subtract.cpp,v retrieving revision 1.13 diff -w -r1.13 pix_subtract.cpp 135c135 < __m64 nil = _mm_setzero_si64(); ---
__m64 null64 = _mm_setzero_si64();
142,145c142,145 < l0=_mm_unpacklo_pi8 (l1, nil); < r0=_mm_unpacklo_pi8 (r1, nil); < l1=_mm_unpackhi_pi8 (l1, nil); < r1=_mm_unpackhi_pi8 (r1, nil); ---
l0=_mm_unpacklo_pi8 (l1, null64); r0=_mm_unpacklo_pi8 (r1, null64); l1=_mm_unpackhi_pi8 (l1, null64); r1=_mm_unpackhi_pi8 (r1, null64);
cvs diff: Diffing TV cvs diff: Diffing Vertex cvs diff: Diffing openGL cvs diff: Diffing yuv
LATEST
Having tried to recreate the whole thing, checked out again from CVS, run the find replace script, run the INCLUDES line as suggested, I now get a Make.config without the --mmx and --msse options make which behaves like this. Giving up for today. Perhaps sanity will return tomorrow...
src (626) : make make -C Base -f ..//Makefile.subdir -j4 g++ -c -fPIC -g -O2 -freg-struct-return -O3 -fno-builtin -falign- loops=16 -funroll-loops -ffast-math -I.. -I/Users/cefn/Documents/ curiosity/pdplay/pd-intel/pd-0.39-2/src/ CPPExtern.cpp -o CPPExtern.o g++ -c -fPIC -g -O2 -freg-struct-return -O3 -fno-builtin -falign- loops=16 -funroll-loops -ffast-math -I.. -I/Users/cefn/Documents/ curiosity/pdplay/pd-intel/pd-0.39-2/src/ GemBase.cpp -o GemBase.o g++ -c -fPIC -g -O2 -freg-struct-return -O3 -fno-builtin -falign- loops=16 -funroll-loops -ffast-math -I.. -I/Users/cefn/Documents/ curiosity/pdplay/pd-intel/pd-0.39-2/src/ GemCache.cpp -o GemCache.o g++ -c -fPIC -g -O2 -freg-struct-return -O3 -fno-builtin -falign- loops=16 -funroll-loops -ffast-math -I.. -I/Users/cefn/Documents/ curiosity/pdplay/pd-intel/pd-0.39-2/src/ GemEvent.cpp -o GemEvent.o g++ -c -fPIC -g -O2 -freg-struct-return -O3 -fno-builtin -falign- loops=16 -funroll-loops -ffast-math -I.. -I/Users/cefn/Documents/ curiosity/pdplay/pd-intel/pd-0.39-2/src/ GemFuncUtil.cpp -o GemFuncUtil.o g++ -c -fPIC -g -O2 -freg-struct-return -O3 -fno-builtin -falign- loops=16 -funroll-loops -ffast-math -I.. -I/Users/cefn/Documents/ curiosity/pdplay/pd-intel/pd-0.39-2/src/ GemGLUtil.cpp -o GemGLUtil.o g++ -c -fPIC -g -O2 -freg-struct-return -O3 -fno-builtin -falign- loops=16 -funroll-loops -ffast-math -I.. -I/Users/cefn/Documents/ curiosity/pdplay/pd-intel/pd-0.39-2/src/ GemGluObj.cpp -o GemGluObj.o g++ -c -fPIC -g -O2 -freg-struct-return -O3 -fno-builtin -falign- loops=16 -funroll-loops -ffast-math -I.. -I/Users/cefn/Documents/ curiosity/pdplay/pd-intel/pd-0.39-2/src/ GemLoadObj.cpp -o GemLoadObj.o g++ -c -fPIC -g -O2 -freg-struct-return -O3 -fno-builtin -falign- loops=16 -funroll-loops -ffast-math -I.. -I/Users/cefn/Documents/ curiosity/pdplay/pd-intel/pd-0.39-2/src/ GemMan.cpp -o GemMan.o g++ -c -fPIC -g -O2 -freg-struct-return -O3 -fno-builtin -falign- loops=16 -funroll-loops -ffast-math -I.. -I/Users/cefn/Documents/ curiosity/pdplay/pd-intel/pd-0.39-2/src/ GemModelData.cpp -o GemModelData.o g++ -c -fPIC -g -O2 -freg-struct-return -O3 -fno-builtin -falign- loops=16 -funroll-loops -ffast-math -I.. -I/Users/cefn/Documents/ curiosity/pdplay/pd-intel/pd-0.39-2/src/ GemPBuffer.cpp -o GemPBuffer.o g++ -c -fPIC -g -O2 -freg-struct-return -O3 -fno-builtin -falign- loops=16 -funroll-loops -ffast-math -I.. -I/Users/cefn/Documents/ curiosity/pdplay/pd-intel/pd-0.39-2/src/ GemPathBase.cpp -o GemPathBase.o GemPBuffer.cpp:522:1: warning: unknown escape sequence '\p' g++ -c -fPIC -g -O2 -freg-struct-return -O3 -fno-builtin -falign- loops=16 -funroll-loops -ffast-math -I.. -I/Users/cefn/Documents/ curiosity/pdplay/pd-intel/pd-0.39-2/src/ GemPixConvertAltivec.cpp -o GemPixConvertAltivec.o g++ -c -fPIC -g -O2 -freg-struct-return -O3 -fno-builtin -falign- loops=16 -funroll-loops -ffast-math -I.. -I/Users/cefn/Documents/ curiosity/pdplay/pd-intel/pd-0.39-2/src/ GemPixConvertSSE2.cpp -o GemPixConvertSSE2.o g++ -c -fPIC -g -O2 -freg-struct-return -O3 -fno-builtin -falign- loops=16 -funroll-loops -ffast-math -I.. -I/Users/cefn/Documents/ curiosity/pdplay/pd-intel/pd-0.39-2/src/ GemPixDualObj.cpp -o GemPixDualObj.o g++ -c -fPIC -g -O2 -freg-struct-return -O3 -fno-builtin -falign- loops=16 -funroll-loops -ffast-math -I.. -I/Users/cefn/Documents/ curiosity/pdplay/pd-intel/pd-0.39-2/src/ GemPixImageLoad.cpp -o GemPixImageLoad.o GemPixConvertSSE2.cpp: In function 'void UYVY_to_RGB_SSE2(unsigned char*, size_t, unsigned char*)': GemPixConvertSSE2.cpp:418: error: unrecognizable insn: (insn 403 148 150 2 GemPixConvertSSE2.cpp:355 (set (reg:TI 23 xmm2) (const_double 83879543079305216 [0x12a0000012a0000] 83879543079305216 [0x12a0000012a0000] 0 [0x0])) -1 (nil) (nil)) GemPixConvertSSE2.cpp:418: internal compiler error: in extract_insn, at recog.c:2033 Please submit a full bug report, with preprocessed source if appropriate. See URL:http://developer.apple.com/bugreporter for instructions. make[1]: *** [GemPixConvertSSE2.o] Error 1 make[1]: *** Waiting for unfinished jobs.... GemPixImageLoad.cpp: In function 'imageStruct* QTImage2mem (ComponentInstanceRecord*)': GemPixImageLoad.cpp:217: warning: 'OffsetRect' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/ Frameworks/QD.framework/Headers/Quickdraw.h:2422) GemPixImageLoad.cpp:217: warning: 'OffsetRect' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/ Frameworks/QD.framework/Headers/Quickdraw.h:2422) GemPixImageLoad.cpp:262: warning: 'DisposeGWorld' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/ Frameworks/QD.framework/Headers/QDOffscreen.h:226) GemPixImageLoad.cpp:262: warning: 'DisposeGWorld' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/ Frameworks/QD.framework/Headers/QDOffscreen.h:226) make: *** [Base] Error 2
Only pix_filmDarwin.cpp and pix_filmMovie.cpp are currently used on OSX. You can ditch pix_filmYUV permanently and pix_filmQT temporarily.
Did anyone succeed at getting PD and Gem to run on Intel Mac?
I'm currently stuck with the following dependency missing. I'm running on Mac OS X intel 10.4.7 trying to build the Gem.pd_darwin component suitable for this platform.
PD builds and runs OK with a few mods, but the powerpc version of the Gem 'extra' I built on PowerPC is understandably not very happy, hence I'm trying from source.
Thoughts how to fix this problem? There doesn't appear to be a file named like this anywhere obvious. My configure call looked like...
./configure --disable-SIMD --disable-sse2 --disable-mmx
and I had to delete Base/GemPixConvertSSE2.cpp to get rid of some spurious errors so far.
make make -C Base -f ..//Makefile.subdir -j4 make[1]: Nothing to be done for `default'. make -C Controls -f ..//Makefile.subdir -j4 make[1]: Nothing to be done for `default'. make -C Geos -f ..//Makefile.subdir -j4 make[1]: Nothing to be done for `default'. make -C Manips -f ..//Makefile.subdir -j4 make[1]: Nothing to be done for `default'. make -C MarkEx -f ..//Makefile.subdir -j4 make[1]: Nothing to be done for `default'. make -C Nongeos -f ..//Makefile.subdir -j4 make[1]: Nothing to be done for `default'. make -C Particles -f ..//Makefile.subdir -j4 make[1]: Nothing to be done for `default'. make -C Pixes -f ..//Makefile.subdir -j4 filmQT4L.cpp:19:25: error: colormodels.h: No such file or directory make[1]: *** [filmQT4L.d] Error 1 make: *** [Pixes] Error 2
On 27 Mar 2006, at 20:07, chris clepper wrote:
Only pix_filmDarwin.cpp and pix_filmMovie.cpp are currently used on OSX. You can ditch pix_filmYUV permanently and pix_filmQT temporarily.
On Mon, 10 Jul 2006, Cefn Hoile wrote:
Did anyone succeed at getting PD and Gem to run on Intel Mac? I'm currently stuck with the following dependency missing. I'm running on Mac OS X intel 10.4.7 trying to build the Gem.pd_darwin component suitable for this platform.
filmQT4L.cpp:19:25: error: colormodels.h: No such file or directory
colormodels.h is from libquicktime. In recent versions of libquicktime, the name of the folder for the *.h files has changed, which may be a problem. Another possibility is if you don't want to use libquicktime and instead want to use Apple's Quicktime. What if you delete filmQT4L.cpp ? (or hide it in some dummy folder...)
On 27 Mar 2006, at 20:07, chris clepper wrote:
Only pix_filmDarwin.cpp and pix_filmMovie.cpp are currently used on OSX. You can ditch pix_filmYUV permanently and pix_filmQT temporarily.
oh. well, Chris is saying the same as I am saying. Did you understand that it meant ditching filmQT4L.cpp ?
_ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard - tél:+1.514.383.3801 - http://artengine.ca/matju | Freelance Digital Arts Engineer, Montréal QC Canada
On 3/27/06, IOhannes m zmoelnig zmoelnig@iem.at wrote:
however, looking at the code again, it might be that there is a problem with variable name "nil" (as defined in line277 of pix_chroma_key.cpp) you could try to replace all occurences of "nil" with "null64". probably that's all. (if so, you might have to change it in a couple of other files too)
I think nil is defined in Quicktime or Carbon. Lots of sample code uses it in place of NULL.
chris clepper wrote:
I think nil is defined in Quicktime or Carbon. Lots of sample code uses it in place of NULL.
yes. unfortunately i used "nil" for a variable in the MMX code too. that's the source of this problem.
btw, do you have MMX/SSE2 enabled for the w32 builds?
mfg.adr. IOhannes