[MacOS X] Irrlicht 1.3 with Xcode

You discovered a bug in the engine, and you are sure that it is not a problem of your code? Just post it in here. Please read the bug posting guidelines first.
Post Reply
jonasled
Posts: 34
Joined: Sat Aug 26, 2006 5:08 pm
Location: Sweden
Contact:

[MacOS X] Irrlicht 1.3 with Xcode

Post by jonasled »

This is the list of changes I had to do to the Xcode project file in 1.3 to make it compile and link out of the box.

Removed these unused file referenes:

Engine
- CZBuffer2.cpp, CZBuffer2.h
- fast_atof.h
- GUIIcons.h
- ITriangleRenderer2.h
- IZBuffer2.h

libpng
- libpng.c

include
- SViewFrustrum.h

Added these new source files:

Engine
- CAnimatedMeshMD3.cpp
- CAnimatedMeshMD3.h
- CDefaultGUIElementFactory.cpp
- CDefaultGUIElementFactory.h
- CDepthBuffer.cpp
- CDepthBuffer.h
- CGUIColorSelectDialog.cpp
- CGUIColorSelectDialog.h
- CGUISpriteBank.cpp
- CGUISpriteBank.h
- CMD3MeshFileLoader.cpp
- CMD3MeshFileLoader.h
- CQuake3ShaderSceneNode.cpp
- CQuake3ShaderSceneNode.h
- CTRTextureBlend.cpp
- CTRTextureGouraudAlpha.cpp
- CTRTextureGouraudAlphaNoZ.cpp
- CTRTextureLightMapGouraud2_M4.cpp
- IBurningShader.cpp
- IBurningShader.h
- IDepthBuffer.h

libpng
- pngwrite.cpp
- pnggccrd.c. *NEW*

This should not be too hard and should enable you to compile 1.3 on MacOS X. I have not had the time to test it properly. If you own a Mac kindly help the Irrlicht team to test 1.3 and report bugs. I will upload my version of the project file as soon as I have tested some more.

There is another thread on this topic here that you might also want to read.
Last edited by jonasled on Sun Apr 08, 2007 4:16 pm, edited 1 time in total.
tbaptista
Posts: 6
Joined: Wed Apr 04, 2007 10:53 pm

Post by tbaptista »

Hi,

Using this guide I can compile and run the examples on Release build, but when I change to Debug, I get the error:

/usr/bin/ld: build/Debug/libIrrlicht.a(jcapimin.o) has local relocation entries in non-writable section (__TEXT,__text)

Can anyone run in debug mode?

I am using XCode 2.4.1 on a MacBook Pro.

Best Regards,
Tiago Baptista
ssexton
Posts: 54
Joined: Wed Oct 25, 2006 7:46 am
Location: South Florida
Contact:

Post by ssexton »

If you build for Intel, you may also have to add pnggccrd.c. Symptom is an undefined symbol, I forget the name, but it had "mmx" in it. There may be an #ifdef to remove that dependency, I didn't look.

No idea if using the MMX accelerated code actually works on an Intel mac, although I do build Universals I don't have a box to test them on.

Note that the mmx undefined symbol doesn't show up if you do a PPC only build. Also, it may not show up if you do a static library build (I build .dylib, I don't recall if the stock project file in the Irrlicht distribution has that or not).

*edit*

Oh, and for the record, since I don't know if any of the project committers have a Mac to test on: I've got 1.3 built and running successfully on a 10.4.9 PPC system. The only platform-specific issue was needing to update the XCode file, which doesn't take long - esp. if you use cmd-A to "select all" when adding files to the include and engine folders. I'd send in mine but its hacked up quite a bit.
hybrid
Admin
Posts: 14143
Joined: Wed Apr 19, 2006 9:20 pm
Location: Oldenburg(Oldb), Germany
Contact:

Post by hybrid »

Right now no one of the active developers has a Mac (AFAIK). So we have to rely on someone else to provide the project.
The libpng problem might be fixable with a define which I also put into the Linux Makefile: -DPNG_NO_MMX_CODE
There seems to be a bug in the latest libpng code which confuses on some defines and ifdef's. I hope they will provide a new version soon.
jonasled
Posts: 34
Joined: Sat Aug 26, 2006 5:08 pm
Location: Sweden
Contact:

Post by jonasled »

ssexton wrote:If you build for Intel, you may also have to add pnggccrd.c. Symptom is an undefined symbol, I forget the name, but it had "mmx" in it. There may be an #ifdef to remove that dependency, I didn't look.

Yes, I have also noticed this. Thanks for suggesting a fix to this problem. It has been bugging me for some time.
ssexton wrote:No idea if using the MMX accelerated code actually works on an Intel mac, although I do build Universals I don't have a box to test them on.
MMX/SSE should work on Intel Macs, but I'm not sure about how Xcode handles that. MMX/SSE should replace Altivec code. Perhaps you need Intel compilers to make it work. Like you I only have a PPC Mac. One of our team members have an Intel Mac, so I will have him test my build. When I have fixed all problems I will upload my project file, which is pretty clean and could be included with the official 1.3 download package.
tbaptista
Posts: 6
Joined: Wed Apr 04, 2007 10:53 pm

Post by tbaptista »

I have an Intel Mac. If you could send the project file, I would gladly test it.

I have already tried to compile with MMX and it worked. The problem with the debug build still remains though.
dh219
Posts: 1
Joined: Thu May 24, 2007 9:32 pm

Post by dh219 »

Hi there, I managed to stumble through this process a couple of weeks back and ended up with something that works for me, but probably has the problems mentioned here.

http://www.aibs.org.uk/kosmos/irrlicht- ... 19_OSX.zip

Here, if it helps anyone.

Cheers,

David.
Post Reply