Issues building on OSX

edited 2014 Aug 12 in Developers
I'm trying to build master on OSX Mavericks (10.9.4) and I want to document the issues I'm running into and make sure that my reasoning in attempting to resolve them is sound.

First and foremost, here is my config_user.pri:
CONFIG+=deng_nativesdk
CONFIG+=deng_extassimp
CONFIG+=deng_nosdlmixer
SDL2_FRAMEWORK_DIR=/Library/Frameworks/
INCLUDEPATH+=/usr/local/Cellar/sdl/1.2.15/include/SDL

I was initially attempting to compile using my homebrew Qt (4.8.6), but that resulted in undefined symbols for x86_64. So I switched to system Qt (5.3) and that seemed to resolve the issue.

Then, the SDL issues began. As you can see above, I had to do some hacky things to point the compiler at my homebrew SDL (1.2.15). This worked, up to a point - most curiously, I had to make a code change to /client/src/unix/joystick.cpp:
-        LOG_INPUT_MSG("Joystick name: %s" ) << SDL_JoystickName(joy);
+        LOG_INPUT_MSG("Joystick name: %s" ) << SDL_JoystickName(0);

It seems the signature of that function was different from what was expected. I did my best to infer the correct value to pass from the surrounding code.

Now, the issue that I'm running into is that no rule exists for building libdoom.pk3. I'm hoping that adding "CONFIG+=deng_packres" to my configuration will resolve the problem, but I don't have time to test that until later tonight.

Any help you guys can provide would be greatly appreciated.

Comments

  • SDL2_FRAMEWORK_DIR=/Library/Frameworks/
    INCLUDEPATH+=/usr/local/Cellar/sdl/1.2.15/include/SDL
    
    SDL 2.0 is required. This is probably why you had to modify the joystick code. I recommend using the SDL2 frameworks from libsdl.org, as the build scripts will attempt to copy the framework into the app bundle. I believe Homebrew has a Unix style non-framework build of SDL2?
    I was initially attempting to compile using my homebrew Qt (4.8.6), but that resulted in undefined symbols for x86_64. So I switched to system Qt (5.3) and that seemed to resolve the issue.
    Qt 4.8 should still work (at least on Linux it does), however Qt 5.3 is recommended. I've only been using Qt builds from qt-project.org, though.
    Now, the issue that I'm running into is that no rule exists for building libdoom.pk3. I'm hoping that adding "CONFIG+=deng_packres" to my configuration will resolve the problem, but I don't have time to test that until later tonight.
    deng_packres is obsolete. Nowadays whenever you run qmake on doomsday.pro, it should automatically package the .pk3/.pack files for you (unless you prevent it with deng_nopackres).
Sign In or Register to comment.