OS X (PPC) and devIL... will there be a solution?

Started by pseudosig, May 23, 2006, 05:31:20

Previous topic - Next topic

pseudosig

I'm just curious if there's been any kind of solution in getting devIL to work on OS X (PPC)?  I'm currently on 10.3.9 and I still haven't been able to get devIL to work.

If there isn't a solution yet, will there be in the near-ish future?

Thanks!

Matzon

The nearish solution is that the recently released devil 1.6.8 is updated to universal binaries and hopefully statically linked to its libraries. Don't know if that will happen, and when though :(

numberR

i got MacBook and my finals will end in this week.
so, i'll try to solve this issue, hopefully.
i really want to get this problem solved before 1.0 release...

and sorry for not being around but i was busy with school and internship...

pseudosig

Quote from: "numberR"i got MacBook and my finals will end in this week.
so, i'll try to solve this issue, hopefully.
i really want to get this problem solved before 1.0 release...

and sorry for not being around but i was busy with school and internship...

Please let us know if/when you do (or don't) get a final verdict. I think there's plenty of interest to have this fixed.

If you can remember (or are willing), could you throw an email if/when you get this done?  :D

Thanks

numberR

ok, this is what have tried today.

compiled devil from cvs with normal "./configure && make".
take out version numbers in filename of dylibs, meaning that change all *1.0.0.dylib filenames to just *.dylib.

compiled lwjgl from trunk.

download lwjgl-0.99 and replace all files in "jar" directory with ones you just compiled from svn, and do the same thing for "native" directory with *jnilib and *.dylib. since our main focus is devil, i just replaced libIL*.dylib, liblwjgl.jnilib and lwjgl-devil.jnilib.

then, run org.lwjgl.test.devil.BasicTest. it doesn't work.
i remebered that we had a conclusion that it will work if we create Display before calling IL*.create().

so, i modified BasicTest.java to create Display before IL*.create() and compile it into lwjgl_test.jar again.

now, copy that lwjgl_test.jar to "jar" directory and run org.lwjgl.test.devil.BasicTest. it works.

i tried this on my MacBook so i will try this on my Mac mini soon.
but i need to ask this question to lwjgl team.

does IL*.create() calls require Display to be created before they get to be called?

Matzon

doesn't make sense that display has to be created before - unless it's dependant on some OGL? - whats the error?

Do you not already have libtiff installed from a prior make install? - which is the main issue. A distribution cannot expect libtiff to be placed in /usr/lib on a mac box.

numberR

Quote from: "Matzon"doesn't make sense that display has to be created before - unless it's dependant on some OGL? - whats the error?

Do you not already have libtiff installed from a prior make install? - which is the main issue. A distribution cannot expect libtiff to be placed in /usr/lib on a mac box.

i don't know about IL and ILU, but ILUT can depend on OpenGL.
and for Mac OS X, it will utilize OpenGL as default.

for libtiff, i don't have it installed on MacBook, so my compiled DevIL does not have support for tiff.
i assume you want tiff support by DevIL, right?
in that case, we may be to able to distribute libtiff.dylib along with devil for Mac OS X.

Matzon

well, thats the whole problem. If you use a precompiled IL* chain with tiff and other things supported, you're required to chuck those along - and probably install those - instead of just statically compiling the support libs, and not having to worry about it.

numberR

ahh, now i remember that situation.

a question is that we want the same formats supported across the platform.
so which ones do we want?

numberR

...i haven't noticed even libpng and libjpeg are not installed on Mac OS X by default. this makes the issue even more complicated...

numberR

i think i got something going...

http://janedoe.homeunix.org:9449/~atsuya/KusariyukuSekai/DevIL/Data/LWJGL-DevIL-UniversalBinary-20060608.zip

it contains libIL.dylib, libILU.dylib, libILUT.dylib and liblwjgl-devil.jnilib in universal binary.
i tested them with some images and IL/ILU/ILUT works fine on PPC Mac OS X.
but ILU.create() fails to load libILU.dylib on Intel Mac OS X,
so i need to investigate that...
IL.create() works on Intel Mac OS X though.

this DevIL does support all image formats except for mng and lcms.
i found easy way to compile DevIL with external libaries.

1) compile libpng, libjpeg and others as static libaries (*.a) in any directory you want.

2) when you execute configure for devil, specify not to support those libaries that you have compiled.

for example, execute "./configure --disable-png --disable-jpeg".

3) after configure, open include/IL/config.h and comment out defines for external libaries you want to compile with.

for example, comment out "#define IL_NO_JPG" so it will be compiled with DevIL.

4) open src-IL/src/Makefile and specify where the external libraries (*.a) are located for LIBPNG and LIBJPEG and so on.

specify where the header files are located for external libraries for DEFAULT_INCLUDES.

speficy where the external libraries (*.a) are located for libIL_la_OBJECTS as well.

5) make and it should compile with external libraries.


the file is hosted on my home server and my connetion is not that good.
so please mirror it if you have a chance...

numberR

one thing to note.
you still need to call Display.create() before you make any calls to DevIL.

Matzon

not tested yet, but good job!

it's still a bit silly that one has to go through all that * though :(


Matzon

could you build a new one? - need it for beta 2