[GEM-dev] Re: [PD] PD on Mac-Intel

IOhannes m zmoelnig zmoelnig at iem.at
Mon Mar 27 14:30:09 CEST 2006


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





More information about the GEM-dev mailing list