UPenn-RoboCup / UPennalizers

Open Source Repository for Team UPennalizers
GNU General Public License v3.0
69 stars 38 forks source link

MacOSX support for Webots #9

Closed jbrindza closed 12 years ago

jbrindza commented 12 years ago

Update Makefiles to support compiling on both linux and macosx.

smcgill3 commented 12 years ago

Seems to work, but there are make clean errors.

After building with MODE=64, I issue make clean MODE=32 make setup_webots_op

I get:

g++ -arch i386 -o cutil.dylib -bundle -undefined dynamic_lookup luacutil.o ld: warning: ignoring file luacutil.o, file was built for unsupported file format which is not the architecture being linked (i386)

and

cd GameControl && make && cd /Users/stephen/robocup/UPennalizers/Lib/Platform/Webots_OP g++ -arch i386 -o NSLGameControlReceiver.dylib -bundle -undefined dynamic_lookup luaNSLGameControlReceiver.o timeScalar.o -L/usr/local/lib -L/usr/lib -lm ld: warning: ignoring file luaNSLGameControlReceiver.o, file was built for unsupported file format which is not the architecture being linked (i386) ld: warning: ignoring file timeScalar.o, file was built for unsupported file format which is not the architecture being linked (i386)

and

ld -arch i386 -o controller.dylib -bundle -undefined dynamic_lookup controller_wrap.o -L/Applications/Webots/lib -lController /usr/lib/crt1.o ld: warning: -macosx_version_min not specificed, assuming 10.6 ld: illegal text-relocation to non_lazy_ptr in /usr/lib/crt1.o from __start in /usr/lib/crt1.o for architecture i386

giving an error.

If I go into these specific directories, then issue make clean followed by make, the errors go away.

Aside from this, things work with OP in webots.

jbrindza commented 12 years ago

why did you run MODE=32 make setup_webots_op

On Mon, Nov 21, 2011 at 5:59 PM, Stephen McGill < reply@reply.github.com

wrote:

Seems to work, but there are make clean errors.

After building with MODE=64, I issue make clean MODE=32 make setup_webots_op

I get:

g++ -arch i386 -o cutil.dylib -bundle -undefined dynamic_lookup luacutil.o ld: warning: ignoring file luacutil.o, file was built for unsupported file format which is not the architecture being linked (i386)

and

cd GameControl && make && cd /Users/stephen/robocup/UPennalizers/Lib/Platform/Webots_OP g++ -arch i386 -o NSLGameControlReceiver.dylib -bundle -undefined dynamic_lookup luaNSLGameControlReceiver.o timeScalar.o -L/usr/local/lib -L/usr/lib -lm ld: warning: ignoring file luaNSLGameControlReceiver.o, file was built for unsupported file format which is not the architecture being linked (i386) ld: warning: ignoring file timeScalar.o, file was built for unsupported file format which is not the architecture being linked (i386)

and

ld -arch i386 -o controller.dylib -bundle -undefined dynamic_lookup controller_wrap.o -L/Applications/Webots/lib -lController /usr/lib/crt1.o ld: warning: -macosx_version_min not specificed, assuming 10.6 ld: illegal text-relocation to non_lazy_ptr in /usr/lib/crt1.o from __start in /usr/lib/crt1.o for architecture i386

giving an error.

If I go into these specific directories, then issue make clean followed by make, the errors go away.

Aside from this, things work with OP in webots.


Reply to this email directly or view it on GitHub: https://github.com/UPenn-RoboCup/UPennalizers/issues/9#issuecomment-2822749

smcgill3 commented 12 years ago

Because I have luajit compiled as 32 bit, lua as 64 bit. make clean did not remove the residual dylib's in some directories, so when I switched from lua to luajit, there were problems, and visa versa. I posted a fix for the CUtil and GameControl problems, but still looking for the Webots clean problem...

smcgill3 commented 12 years ago

I think this should be closed. Webots will not support compiling as 32 bit, but can support running 32bit code. I did need to add monitorComm on the MATLAB side of things. Check if it can compile on a linux system with MATLAB. It works on my mac.

smcgill3 commented 12 years ago

Tested on Ubuntu build and Mac build. Works fine for both.