Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: Mac packaging  (Read 1770 times)

Madd the Sane

  • Escaped Lunatic
  • Crazy, rabid squirrel.
    • View Profile
    • PlayerPRO SourceForge
Mac packaging
« on: July 08, 2014, 03:35:26 pm »

This is a request for Dwarf Fortress to have a more Mac-friendly release, as well as using the system's C++ and libgcc headers. Which gcc-only functions are used by Dwarf Fortress? I know that if it tries to use OS X's native libstdc++, the linker complains that it couldn't find std::__detail::__prime_list. If I use the system's libgcc_s, it eventually crashes because it couldn't find ___emutls_get_address (I actually found this out when messing with linking, because I forced the linker to load all referenced symbols at launch instead of lazily).

I also discovered that the packaged versions of SDL on the Mac version were out-of-date, which made 10.9 Mavericks complain.
Quote
The function `CGSFlushWindow' is obsolete and will be removed in an upcoming update. Unfortunately, this application, or a library it uses, is using this obsolete function, and is thereby contributing to an overall degradation of system performance. Please use `CGSFlushWindowContentRegion' instead.
It also complains that something is using NSQuickDrawView, which is also deprecated.
Updating the version of SDL 1.2 used by Dwarf Fortress fixed this "error" (the error doesn't actually crash the program, but it might in the future if Apple removes it).

Many files are marked executable that don't need to be, such as text files. This makes the OS X read-me appear as a UNIX app in Finder.

And finally, a proper Application package. This is less of an issue with me because I know how to launch console apps, but many Mac users don't.

Also, 64-bit binary would be appreciated.
Logged
Get out of my mind, idea! I already have an idea in there!

lethosor

  • Bay Watcher
    • View Profile
Re: Mac packaging
« Reply #1 on: July 08, 2014, 06:21:16 pm »

Are you using OS X 10.9.4, by any chance? (Edit: apparently it's not a pre-release version anymore, although I recall some issues specific to it earlier.) The included libraries have been working just fine for me. The SDL version is used in all 3 builds, so that's not a Mac-specific problem, but it would be nice to have them updated. I agree about the README.osx permissions, though - it explains the need to run the "df" script, but not everyone can figure out how to open it due to it being executable. An application package would be fairly easy to create (just create a shell script at Dwarf Fortress.app/Contents/Resources/Dwarf Fortress that runs ../../../df).
« Last Edit: July 08, 2014, 06:48:02 pm by lethosor »
Logged
DFHack - Dwarf Manipulator (Lua) - DF Wiki talk

There was a typo in the siegers' campfire code. When the fires went out, so did the game.

Alev

  • Bay Watcher
    • View Profile
Re: Mac packaging
« Reply #2 on: July 08, 2014, 06:42:11 pm »

I usually just do:
Code: [Select]
cd <folder location>
sh df
in Terminal
because I am too lazy to do anything else, and it only takes a few seconds. But having it packaged would be nice.
Logged

lethosor

  • Bay Watcher
    • View Profile
Re: Mac packaging
« Reply #3 on: July 08, 2014, 06:46:59 pm »

I usually just do:
Code: [Select]
cd <folder location>
sh df
in Terminal
because I am too lazy to do anything else, and it only takes a few seconds. But having it packaged would be nice.
./df should work too, as long as you didn't remove the executable flag.
Logged
DFHack - Dwarf Manipulator (Lua) - DF Wiki talk

There was a typo in the siegers' campfire code. When the fires went out, so did the game.

Alev

  • Bay Watcher
    • View Profile
Re: Mac packaging
« Reply #4 on: July 08, 2014, 06:47:47 pm »

I usually just do:
Code: [Select]
cd <folder location>
sh df
in Terminal
because I am too lazy to do anything else, and it only takes a few seconds. But having it packaged would be nice.
./df should work too, as long as you didn't remove the executable flag.
...wow, I'm dumb. I will try that when I get computer access.
Logged

Madd the Sane

  • Escaped Lunatic
  • Crazy, rabid squirrel.
    • View Profile
    • PlayerPRO SourceForge
Re: Mac packaging
« Reply #5 on: July 08, 2014, 06:57:11 pm »

Are you using OS X 10.9.4, by any chance? (Edit: apparently it's not a pre-release version anymore, although I recall some issues specific to it earlier.) The included libraries have been working just fine for me.
The libraries work fine for me, too, but the version included with OS X's port of Dwarf Fortress may not work on future versions of OS X, such as Yosemite. For instance, the version of SDL included is 1.2.13. The newest version of SDL 1.2 is 1.2.15.
I usually just do:
Code: [Select]
cd <folder location>
sh df
in Terminal
because I am too lazy to do anything else, and it only takes a few seconds. But having it packaged would be nice.
Just double-clicking on df will also launch the game
Logged
Get out of my mind, idea! I already have an idea in there!

Alev

  • Bay Watcher
    • View Profile
Re: Mac packaging
« Reply #6 on: July 08, 2014, 07:19:14 pm »

Are you using OS X 10.9.4, by any chance? (Edit: apparently it's not a pre-release version anymore, although I recall some issues specific to it earlier.) The included libraries have been working just fine for me.
The libraries work fine for me, too, but the version included with OS X's port of Dwarf Fortress may not work on future versions of OS X, such as Yosemite. For instance, the version of SDL included is 1.2.13. The newest version of SDL 1.2 is 1.2.15.
I usually just do:
Code: [Select]
cd <folder location>
sh df
in Terminal
because I am too lazy to do anything else, and it only takes a few seconds. But having it packaged would be nice.
Just double-clicking on df will also launch the game
Does not work for me, for some reason.
Logged

lethosor

  • Bay Watcher
    • View Profile
Re: Mac packaging
« Reply #7 on: July 08, 2014, 07:27:51 pm »

Are you using OS X 10.9.4, by any chance? (Edit: apparently it's not a pre-release version anymore, although I recall some issues specific to it earlier.) The included libraries have been working just fine for me.
The libraries work fine for me, too, but the version included with OS X's port of Dwarf Fortress may not work on future versions of OS X, such as Yosemite. For instance, the version of SDL included is 1.2.13. The newest version of SDL 1.2 is 1.2.15.
I was referring to libstdc++, actually.

Does not work for me, for some reason.
Does it open in a text editor?
Logged
DFHack - Dwarf Manipulator (Lua) - DF Wiki talk

There was a typo in the siegers' campfire code. When the fires went out, so did the game.

Alev

  • Bay Watcher
    • View Profile
Re: Mac packaging
« Reply #8 on: July 08, 2014, 07:28:56 pm »

Are you using OS X 10.9.4, by any chance? (Edit: apparently it's not a pre-release version anymore, although I recall some issues specific to it earlier.) The included libraries have been working just fine for me.
The libraries work fine for me, too, but the version included with OS X's port of Dwarf Fortress may not work on future versions of OS X, such as Yosemite. For instance, the version of SDL included is 1.2.13. The newest version of SDL 1.2 is 1.2.15.
I was referring to libstdc++, actually.

Does not work for me, for some reason.
Does it open in a text editor?
No. I forget the error message.
Logged

Madd the Sane

  • Escaped Lunatic
  • Crazy, rabid squirrel.
    • View Profile
    • PlayerPRO SourceForge
Re: Mac packaging
« Reply #9 on: July 09, 2014, 03:12:10 pm »

The included libstdc++ works fine. If I try to use the system's libstdc++, it doesn't work, with at least one symbol missing.
Logged
Get out of my mind, idea! I already have an idea in there!