OpenRTMFP / Cumulus

CumulusServer is a complete open source and cross-platform RTMFP server extensible by way of scripting
http://groups.google.com/group/openrtmfp-cumulus
GNU General Public License v3.0
593 stars 221 forks source link

Build errors in OSX 10.9 Mavericks #114

Open borogove opened 10 years ago

borogove commented 10 years ago

Trying to build CumulusServer on OSX, I get:

creating CumulusServer executable CumulusServer ld: warning: ignoring file ./../CumulusLib//libCumulus.dylib, file was built for x86_64 which is not the architecture being linked (i386): ./../CumulusLib//libCumulus.dylib ld: warning: ignoring file /usr/local/lib//libPocoFoundation.dylib, file was built for x86_64 which is not the architecture being linked (i386): /usr/local/lib//libPocoFoundation.dylib ld: warning: ignoring file /usr/local/lib//libPocoXML.dylib, file was built for x86_64 which is not the architecture being linked (i386): /usr/local/lib//libPocoXML.dylib ld: warning: ignoring file /usr/local/lib//libPocoUtil.dylib, file was built for x86_64 which is not the architecture being linked (i386): /usr/local/lib//libPocoUtil.dylib ld: warning: ignoring file /usr/local/lib//libPocoNet.dylib, file was built for x86_64 which is not the architecture being linked (i386): /usr/local/lib//libPocoNet.dylib ld: warning: ignoring file /usr/local/lib//libluajit-5.1.dylib, file was built for x86_64 which is not the architecture being linked (i386): /usr/local/lib//libluajit-5.1.dylib Undefined symbols for architecture i386: "DetectMemoryLeak()", referenced from: _main in main.o "Poco::ThreadImpl::currentImpl()", referenced from: Poco::Thread::current() in main.o ...

Followed by many additional undefined symbols. I built poco locally with configure && make, built CumulusLib locally with make, installed luajit via homebrew, and then just did make to build CumulusServer.

Obviously the problem is all the libs are x86_64, while the server is trying to build i386, but I don't see anything in the makefiles for either CumulusLib or CumulusServer that's obviously controlling that. My environment includes:

CFLAGS='-arch x86_64 -arch i386' CXXFLAGS='-arch x86_64 -arch i386' LDFLAGS='-arch x86_64 -arch i386'

So I would expect fat (32/64-bit) binaries to be built by default.