[GEM-dev] Compiling Gem from git on osx mavericks

Nicolas Montgermont nicolas_montgermont at yahoo.fr
Tue Apr 22 10:52:02 CEST 2014


Hello all,

I'm trying to compile Gem from git on osx 10.9.2 intel i7. I was used to
compile it on osx 10.6.8 with an Intel Core 2 duo with success.
I tried to do it from a fresh install:

$ git clone git://git.code.sf.net/p/pd-gem/gem

first question: is this the good repository if I want a dev version of
Gem? (Iohannes you said sourceforge, but I don't know which sourceforge
repo...)
then:

$ cd gem
$ ./autogen.sh

now i configure for a 32bit output and I desactivate ftgl for a first step:

$ ./configure --without-ftgl --enable-fat-binary=i386

then make, it stops with these errors:

libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I../../src -I../../src
-DGEM_INTERNAL -DGLEW_BUILD -g -O2 -MT glew.lo -MD -MP -MF
.deps/glew.Tpo -c glew.c -o glew.o >/dev/null 2>&1
mv -f .deps/glew.Tpo .deps/glew.Plo
/bin/sh ../../libtool  --tag=CXX   --mode=link g++ -DPD
-I/Applications/Pd-extended.app/Contents/Resources/src  -arch i386   -g
-O2 -Os -ffast-math -mmmx -fpascal-strings -arch i386 -framework
QuickTime -framework Carbon -framework Cocoa -framework AGL  -o
libGem.la  glew.lo libGem_la-Cache.lo libGem_la-ContextData.lo
libGem_la-Dylib.lo libGem_la-Event.lo libGem_la-Exception.lo
libGem_la-Files.lo libGem_la-GLStack.lo libGem_la-Image.lo
libGem_la-ImageLoad.lo libGem_la-ImageSave.lo
libGem_la-PixConvertAltivec.lo libGem_la-PixConvertSSE2.lo
libGem_la-Loaders.lo libGem_la-Manager.lo libGem_la-PBuffer.lo
libGem_la-Properties.lo libGem_la-Rectangle.lo libGem_la-Settings.lo
libGem_la-Setup.lo libGem_la-State.lo
-L/Applications/Pd-extended.app/Contents/Resources/bin   -ldl -lz -lm
libtool: link: ar cru .libs/libGem.a .libs/glew.o
.libs/libGem_la-Cache.o .libs/libGem_la-ContextData.o
.libs/libGem_la-Dylib.o .libs/libGem_la-Event.o
.libs/libGem_la-Exception.o .libs/libGem_la-Files.o
.libs/libGem_la-GLStack.o .libs/libGem_la-Image.o
.libs/libGem_la-ImageLoad.o .libs/libGem_la-ImageSave.o
.libs/libGem_la-PixConvertAltivec.o .libs/libGem_la-PixConvertSSE2.o
.libs/libGem_la-Loaders.o .libs/libGem_la-Manager.o
.libs/libGem_la-PBuffer.o .libs/libGem_la-Properties.o
.libs/libGem_la-Rectangle.o .libs/libGem_la-Settings.o
.libs/libGem_la-Setup.o .libs/libGem_la-State.o
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib:
archive member: .libs/libGem.a(libGem_la-Cache.o) cputype (7) does not
match previous archive members cputype (16777223) (all members must match)
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib:
archive member: .libs/libGem.a(libGem_la-ContextData.o) cputype (7) does
not match previous archive members cputype (16777223) (all members must
match)
[...]
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib:
archive member: .libs/libGem.a(libGem_la-State.o) cputype (7) does not
match previous archive members cputype (16777223) (all members must match)
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib:
for architecture: i386 file:
.libs/libGem.a(libGem_la-PixConvertAltivec.o) has no symbols
make[3]: *** [libGem.la] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all] Error 2
make: *** [all-recursive] Error 1

-----------------------------------------

if I try to look at the architecture of the file:
$ file src/Gem/.libs/*
src/Gem/.libs/glew.o:                        Mach-O 64-bit object x86_64
src/Gem/.libs/libGem.a:                      Mach-O universal binary
with 2 architectures
src/Gem/.libs/libGem.a (for architecture x86_64):    current ar archive
random library
src/Gem/.libs/libGem.a (for architecture i386):    current ar archive
random library
src/Gem/.libs/libGem_la-Cache.o:             Mach-O object i386
src/Gem/.libs/libGem_la-ContextData.o:       Mach-O object i386
src/Gem/.libs/libGem_la-Dylib.o:             Mach-O object i386
src/Gem/.libs/libGem_la-Event.o:             Mach-O object i386
src/Gem/.libs/libGem_la-Exception.o:         Mach-O object i386
src/Gem/.libs/libGem_la-Files.o:             Mach-O object i386
src/Gem/.libs/libGem_la-GLStack.o:           Mach-O object i386
src/Gem/.libs/libGem_la-Image.o:             Mach-O object i386
src/Gem/.libs/libGem_la-ImageLoad.o:         Mach-O object i386
src/Gem/.libs/libGem_la-ImageSave.o:         Mach-O object i386
src/Gem/.libs/libGem_la-Loaders.o:           Mach-O object i386
src/Gem/.libs/libGem_la-Manager.o:           Mach-O object i386
src/Gem/.libs/libGem_la-PBuffer.o:           Mach-O object i386
src/Gem/.libs/libGem_la-PixConvertAltivec.o: Mach-O object i386
src/Gem/.libs/libGem_la-PixConvertSSE2.o:    Mach-O object i386
src/Gem/.libs/libGem_la-Properties.o:        Mach-O object i386
src/Gem/.libs/libGem_la-Rectangle.o:         Mach-O object i386
src/Gem/.libs/libGem_la-Settings.o:          Mach-O object i386
src/Gem/.libs/libGem_la-Setup.o:             Mach-O object i386
src/Gem/.libs/libGem_la-State.o:             Mach-O object i386

It seems the arch of glew.o is not good, as we can see on the
compilation line before, the "--enable-fat-binary=i386" flag to
configure doesn't seem to pass the arch flag to the c compiler.

-----------------------------------------
I tried forcing the c compiler in 32bits:

$ CFLAGS="-arch i386" ./configure --without-ftgl --enable-fat-binary=i386

It is now passing the precedent step and stops on new errors, the first
one is:

libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I../../src -I../../src
-DGEM_INTERNAL -DGLEW_BUILD -DPD
-I/Applications/Pd-extended.app/Contents/Resources/src -arch i386 -g -O2
-Os -ffast-math -mmmx -fpascal-strings -MT libBase_la-GemVertex.lo -MD
-MP -MF .deps/libBase_la-GemVertex.Tpo -c GemVertex.cpp -o
libBase_la-GemVertex.o >/dev/null 2>&1
TextBaseNone.cpp:25:13: error: constructor for 'TextBase' must
explicitly initialize the member 'm_infoOut' which does not have a
default constructor
TextBase :: TextBase(int argc, t_atom *argv){
            ^
./TextBase.h:205:20: note: member is declared here
  gem::RTE::Outlet m_infoOut;
                   ^
../../src/RTE/Outlet.h:22:22: note: 'gem::RTE::Outlet' declared here
    class GEM_EXTERN Outlet {
                     ^
1 error generated.

-----------------------------------------

I'm not sure if it's related to the errors m.grimm had before but I
thought these errors were corrected now.
Does someone know how I can correct these errors, and compile Gem?

Tell me if I can provide files or output to help.

Thanks in advance,

n

-- 
http://www.nimon.org




More information about the GEM-dev mailing list