51

Re: Mac OS X binaries of SVN version

Too far away to see yet tongue

On an interesting sidenote, GooBall from Ambrosia Software is now working as a Universal Binary... ooooh, pretty... refraction and distortion through the ball... pretty...

Currently Playing:
Celeste and Electronic Super Joy

52 (edited by Cheeseness 2007-10-14 11:13:10)

Re: Mac OS X binaries of SVN version

I'm sure others have said it, but I'd like to thank jammnrose for putting in the effort to making these SVN builds available.

Cheese
==========
cheesetalks.net

53

Re: Mac OS X binaries of SVN version

Hear Hear!

I'm giving up on OSX86, will get a "real" mac next year!

Currently Playing:
Celeste and Electronic Super Joy

54 (edited by Cheeseness 2007-10-15 04:23:11)

Re: Mac OS X binaries of SVN version

Woo great stuff!
I (for better or for worse) will have to stick with my G4s since I'm a CPU snob and won't go Intel.

(Isn't it 'here here'?)

Cheese
==========
cheesetalks.net

55

Re: Mac OS X binaries of SVN version

r1206

Mac OS X Xcode project & package maintainer.

If you have some Neverball related files you need hosted somewhere, please send a me forum PM/email.

56

Re: Mac OS X binaries of SVN version

r1219

Mac OS X Xcode project & package maintainer.

If you have some Neverball related files you need hosted somewhere, please send a me forum PM/email.

57

Re: Mac OS X binaries of SVN version

r1225

Mac OS X Xcode project & package maintainer.

If you have some Neverball related files you need hosted somewhere, please send a me forum PM/email.

58

Re: Mac OS X binaries of SVN version

r1269 and r1267-no-SDL_mixer

Mac OS X Xcode project & package maintainer.

If you have some Neverball related files you need hosted somewhere, please send a me forum PM/email.

59

Re: Mac OS X binaries of SVN version

I can't run r1267-no-SDL_mixer "out of the box".  It complains about lib dependencies :

dyld: Library not loaded: /opt/local/lib/libiconv.2.dylib
  Referenced from: /Applications/Mes Apps/Jeux/Neverball/Neverball.app/Contents/MacOS/./Neverball
  Reason: Incompatible library version: Neverball requires version 7.0.0 or later, but libiconv.2.dylib provides version 5.0.0
Trace/BPT trap

And if I solve the libiconv problem I get a libpng12.0.dylib problem ...

Of course I run the r1269 perfectly wink Some lib path problem maybe ?

I'll try to compile the Xcode project.

60 (edited by jammnrose 2007-12-22 08:13:12)

Re: Mac OS X binaries of SVN version

I can't upload a new version at the moment (dialup)... And I don't quite know what would be causing the problem...
Nothing with libiconv should've changed, but I may know the issue.
When switching over to libvorbis/ogg I put in a user header search path because of the way it's referenced in the code: #include <vorbis/codec.h>.
Maybe it's finding some of the other headers there as well and for some reason not including them correctly.
If this is the case I think I know what to do... We would have to conditionally make the #include be: #include <codec.h> so it can be correctly found in the external_libs folder... *I think*
If that works we could probably also just put in external_libs/vorbis/codec.h etc...

EDIT: It did work to build by modifying audio.c to have the #include without the vorbis/
In this case two copied .h files codec.h and ogg.h also needed the ogg/ removed from their #includes.
I can try to upload this version at some point, but I don't know when I can get around to it.

Mac OS X Xcode project & package maintainer.

If you have some Neverball related files you need hosted somewhere, please send a me forum PM/email.

61

Re: Mac OS X binaries of SVN version

Don't worry jammnrose wink I don't have much time at the moment but as soon as I get some, I'll try to experiment a bit with this issue (anb build the svn Xcode project in general). Am I the only one to get this problem ?

62

Re: Mac OS X binaries of SVN version

Hmm, I'm having a problem conditionally setting the #include... I can test against __APPLE__ but I really want to test against xcode... Does such a symbol exist? If it doesn't, it may have to be a special instruction for people who build with xcode. Assuming this way actually works.

What version of Mac OS X do you use? You need to use greater than 10.4.0... Anything below that is sure to have problems. Assuming you're using an okay version, I think you would not be the only one to have these probs.

As I said before, I'll try to get the new version uploaded soon. I'm pretty sure this will have fixed the issue.

@rlk, any thoughts on this?

Mac OS X Xcode project & package maintainer.

If you have some Neverball related files you need hosted somewhere, please send a me forum PM/email.

63

Re: Mac OS X binaries of SVN version

I use 10.4.11 smile

64

Re: Mac OS X binaries of SVN version

Just checking.

Mac OS X Xcode project & package maintainer.

If you have some Neverball related files you need hosted somewhere, please send a me forum PM/email.

65

Re: Mac OS X binaries of SVN version

Trying to build the no-SDL_mixer branch, I understand my problem very quickly. It comes from this part of the tutorial :

Under "Installed" you should now have 5 libraries installed:
    expat
    gettext
    libiconv
    libpng
    zlib

Now we need to copy some external libraries and tools so neverball can use them. You can do this one of two ways:
1.
In the "*neverball-svn*/macosx/external_libs" folder we need to:
    Copy "libpng12.a", "libintl.a" and "libiconv.a" from "/opt/local/lib".
    Copy "libintl.h" and "iconv.h" from "/opt/local/include".
    Copy "png.h" and "pngconf.h" from "/opt/local/include/libpng12".

and

Copy "msgfmt" from "/opt/local/bin" to the "*neverball-svn*/macosx/external_tools" folder.

I don't have MacPorts installed. So I don't have any of thoses libs in /opt/something.  As you link dynamically with those libs, the binaries can't work except the user have installed macports with theses dependencies. Wen can't ask all players to install MacPorts to play Neverball smile

Befores libs were put in a directory "external_libs" and that was static versions so it worked. We should use static versions of libs for building to fix the problem, I'll try to build one time with my fink libraries already installed on my system wink

66

Re: Mac OS X binaries of SVN version

I was able to compile with fink libraries, but I've got the same problem with the binaries : it can't found the dylib if I remove them from the fink path (/sw/lib), so that's not a static linking either.

I don't have any problem with includes file, but I remove all *.h files from group "external_libs" in Xcode as it's unnecessary until the include path is declared in the "Search Paths". With fink, codec.h is also in vorbis/codec.h ...

Maybe it can be useful to commit "SDLMain.m" and "SDLMain.h" in the repository smile

67

Re: Mac OS X binaries of SVN version

OK, I think everything is clear now.

When you add dependencies in Targets->neverball->Link Binary with Libraries, Xcode only add a "-lintl" to linker command line, if a library "libintl.a" is added. That's all, there is no reference to any file in particular.

BUT, you add a search path /opt/local/lib for MacPorts (and I add /sw/lib for fink, that's the same). Then, the linker will look for libs in this directory, so it will look for a lib called "libintl.*" for example. That's the problem: when different versions of a library is found in a directory, it takes the dynamic version first.

I fix the problem very easily: I remove the search path "/sw/lib" and check if all my libraries lib*.a can be found in external_libs of Neverball projects.

Try compiling without "/opt/local/lib" in your search path and see if it works. I'v juste tried that and I've got no more error, and Neverball binary is much bigger too...

If somebody else want to try my package you can get it here : [invalid, see below]

I hope I'm clear hmm

68

Re: Mac OS X binaries of SVN version

I think thats the same thing I was talking about. /opt/local/* should not be searched. If I need libraries then I add them to Neverball and/or Neverputt targets after first moving them (*.a, *.h) to the external_libs folder.
This way they will get statically compiled?

When I get to broadband internet I will try to upload a new version that I built and commit what I think will fix it.

(if this is the case, i could probably just add external_libs folder to the search path so I don't need to muck with the vorbis/foo #include line problem)

Mac OS X Xcode project & package maintainer.

If you have some Neverball related files you need hosted somewhere, please send a me forum PM/email.

69

Re: Mac OS X binaries of SVN version

shino, please also see the SDL_image discussion. I'm having problems, maybe you can help.

Mac OS X Xcode project & package maintainer.

If you have some Neverball related files you need hosted somewhere, please send a me forum PM/email.

70

Re: Mac OS X binaries of SVN version

jammnrose wrote:

I think thats the same thing I was talking about. /opt/local/* should not be searched. If I need libraries then I add them to Neverball and/or Neverputt targets after first moving them (*.a, *.h) to the external_libs folder.

Yes, that's OK. But as I tried to said before, it's useless to copy *.h You've already added the path "/opt/local/include" in headers search path in project settings so it's OK. I'm even not sure Xcode uses the *.h in external_libs if they are present when it compiles as  it looks for them in search path first I think smile

jammnrose wrote:

(if this is the case, i could probably just add external_libs folder to the search path so I don't need to muck with the vorbis/foo #include line problem)

external_libs folder seems to be included in search path automatically by Xcode when we add the files in "Link Binary with Libraries", so no need to add it explicitly. Just remove /opt/local/lib from libraries search path ans it should be fine, if I'm right.


I've uploaded my version just to see if it works on another machine than mine, but it works with my fathers's iMac and he's got nothing like fink or Xcode installed so it seems it's ok.

71

Re: Mac OS X binaries of SVN version

I install MacPorts succsessfully.

I was able to build a Universal binary of no-SDL_mixer branch with MacPorts libs.

Here is the "macosx" directory I use containing xcode project:
[obsolete]

Here is the resulting dmg: [obsolete]

I remove all "/opt/local/lib" in project settings and target settings (Neverball and Neverputt)

I have to add libz.a from macPorts and remove "-lz" switch from Targets "Neverball" and "Neverputt" to compile.

I add "libjpeg.a" too but it's not used in this branch, you can try to compile the version without "SDL_image" with same project settings to see if it works.

wink

72

Re: Mac OS X binaries of SVN version

The no-SDL_mixer branch is obsolete.  It's been merged with the trunk.  The new image stuff is also in the trunk.

73

Re: Mac OS X binaries of SVN version

OK, thanks rlk. I'll compile with the trunk, it should work well too smile

74

Re: Mac OS X binaries of SVN version

As an aside, this probably doesn't need to be said, but just so we're clear: my "official" policy toward OSX is that we have TWO build mechanisms.  There's jammnrose's Xcode mechanism which is necessary to build Universal DMGs for public consumption.  There's also my macports build in the Unix makefile which is necessary for me to develop the game under OSX.

I make sure the game works, you guys make sure it can be distributed.

75

Re: Mac OS X binaries of SVN version

Yeah, thats what I thought rlk. Good stuff. Xcode also is the only real good way to make compressed/styled DMGs.

@shino, I have been messing around with the Xcode stuff, and I think I've got a good way to work it, so I'll commit it when I get the new no-SDL_image stuff working. I think it'll be slightly different than the way you have it, but just as good.

Mac OS X Xcode project & package maintainer.

If you have some Neverball related files you need hosted somewhere, please send a me forum PM/email.