Problems building trunk revision 14590 on OS X Mavericks

Problems building trunk revision 14590 on OS X Mavericks

Postby SuperMat » 01 Dec 2013, 09:20

Hi all,

I wanted to build the trunk today, but I had problems with some Irrlicht files (OSX specific files).
They were not found (there were 2 of them):
{l Code}: {l Select All Code}
[ 67%] Building CXX object CMakeFiles/supertuxkart.dir/src/graphics/lens_flare.cpp.o
In file included from /Users/max/Entwicklung/Code/Games/supertuxkart/src/graphics/glow.cpp:22:
In file included from /Users/max/Entwicklung/Code/Games/supertuxkart/src/graphics/glwrap.hpp:19:
In file included from /Users/max/Entwicklung/Code/Games/supertuxkart/src/graphics/../../lib/irrlicht/source/Irrlicht/COpenGLDriver.h:25:
/Users/max/Entwicklung/Code/Games/supertuxkart/src/graphics/../../lib/irrlicht/source/Irrlicht/COpenGLExtensionHandler.h:33:11: fatal error:
      'CIrrDeviceMacOSX.h' file not found
        #include "CIrrDeviceMacOSX.h"
                 ^

I tried to fix them successfully :) , I attached patches from svn diff:
r14590trunkOSX.patch
Patch for fixing Mavericks build error
(1.05 KiB) Downloaded 174 times


But now, when I start the game, it shows and quits this :cry: :
{l Code}: {l Select All Code}
Irrlicht Engine version 1.8.0
Darwin Kernel Version 13.0.0: Thu Sep 19 22:22:27 PDT 2013; root:xnu-2422.1.72~6/RELEASE_X86_64
[info   ] FileManager: Data files will be fetched from: '/Users/max/Entwicklung/Code/Games/supertuxkart/cmake_build/bin/supertuxkart.app/Contents/Resources/'
[info   ] FileManager: User directory is '/Users/max/Library/Application Support/SuperTuxKart/'.
[info   ] FileManager: Addons files will be stored in '/Users/max/Library/Application Support/SuperTuxKart/Addons/'.
[info   ] FileManager: Screenshots will be stored in '/Users/max/Library/Application Support/SuperTuxKart/Screenshots/'.
Unknown value for motionblur_enabled; expected true or false
Unknown value for mlaa; expected true or false
[debug  ] translation: Env var LANGUAGE = 'de'.
[debug  ] translation: Language 'German'.
[info   ] irr_driver: GLSL supported.
[warn   ] [IrrDriver Temp Logger]: Level 3: GLSL shader failed to compile

[warn   ] [IrrDriver Temp Logger]: Level 3: ERROR: 0:6: Attempt to redeclare 'length' as a variable
ERROR: 0:18: Attempt to use 'length' as a variable
ERROR: 0:18: Attempt to use 'length' as a variable


[warn   ] [IrrDriver Temp Logger]: Level 3: GLSL shader failed to compile

[warn   ] [IrrDriver Temp Logger]: Level 3: ERROR: 0:6: Attempt to redeclare 'length' as a variable
ERROR: 0:18: Attempt to use 'length' as a variable
ERROR: 0:18: Attempt to use 'length' as a variable


[warn   ] [IrrDriver Temp Logger]: Level 3: GLSL shader failed to compile

[warn   ] [IrrDriver Temp Logger]: Level 3: ERROR: 0:4: 'f' : syntax error syntax error


[fatal  ] shaders: Shader WATER failed to load. Update your drivers, if the issue persists, report a bug to us.


Best regards,
supermat

off-topic: How can I take screenshots using my Wireless Keyboard, it has no print key.
OS: Arch Linux/OS X Yosemite (10.10)
IRC: mt/mteufel @ freenode
SuperMat
 
Posts: 51
Joined: 20 Jan 2012, 19:19
Location: /home/mteufel

Re: Problems building trunk revision 14590 on OS X Mavericks

Postby cand » 01 Dec 2013, 09:24

That's a bug in the shader, but one you can fix. You need to rename the variable to something else, perhaps "waveLength", in water.vert and in callbacks.cpp.
cand
 
Posts: 32
Joined: 26 Jun 2013, 20:16

Re: Problems building trunk revision 14590 on OS X Mavericks

Postby SuperMat » 01 Dec 2013, 09:41

Fixed that, now there's another error:
{l Code}: {l Select All Code}
Irrlicht Engine version 1.8.0
Darwin Kernel Version 13.0.0: Thu Sep 19 22:22:27 PDT 2013; root:xnu-2422.1.72~6/RELEASE_X86_64
[info   ] FileManager: Data files will be fetched from: '/Users/max/Entwicklung/Code/Games/supertuxkart/cmake_build/bin/supertuxkart.app/Contents/Resources/'
[info   ] FileManager: User directory is '/Users/max/Library/Application Support/SuperTuxKart/'.
[info   ] FileManager: Addons files will be stored in '/Users/max/Library/Application Support/SuperTuxKart/Addons/'.
[info   ] FileManager: Screenshots will be stored in '/Users/max/Library/Application Support/SuperTuxKart/Screenshots/'.
Unknown value for motionblur_enabled; expected true or false
Unknown value for mlaa; expected true or false
[debug  ] translation: Env var LANGUAGE = 'de'.
[debug  ] translation: Language 'German'.
[info   ] irr_driver: GLSL supported.
[warn   ] [IrrDriver Temp Logger]: Level 3: GLSL shader failed to compile

[warn   ] [IrrDriver Temp Logger]: Level 3: ERROR: 0:4: 'f' : syntax error syntax error


[fatal  ] shaders: Shader MLAA_COLOR1 failed to load. Update your drivers, if the issue persists, report a bug to us.
OS: Arch Linux/OS X Yosemite (10.10)
IRC: mt/mteufel @ freenode
SuperMat
 
Posts: 51
Joined: 20 Jan 2012, 19:19
Location: /home/mteufel

Re: Problems building trunk revision 14590 on OS X Mavericks

Postby cand » 01 Dec 2013, 09:48

Bug in Apple's driver.
cand
 
Posts: 32
Joined: 26 Jun 2013, 20:16

[FIXED] Problems building trunk revision 14590 on OS X 10.9

Postby SuperMat » 01 Dec 2013, 11:20

I attached a file, which includes all changes needed, to compile and start up STK successfully. Thanks to cand and samuncle for their help.
Attachments
fixing14590OSXdriverBug.patch
Patch needed to compile and start STK sucessfully on Mavericks.
(2.58 KiB) Downloaded 175 times
OS: Arch Linux/OS X Yosemite (10.10)
IRC: mt/mteufel @ freenode
SuperMat
 
Posts: 51
Joined: 20 Jan 2012, 19:19
Location: /home/mteufel

Re: Problems building trunk revision 14590 on OS X Mavericks

Postby Auria » 01 Dec 2013, 18:39

Thanks, I have applied the patch and it seems to work fine
Image
User avatar
Auria
STK Moderator
 
Posts: 2976
Joined: 07 Dec 2009, 03:52

Problems building trunk (merged uni branch) on OS X 10.9

Postby SuperMat » 04 Dec 2013, 18:15

Hi all,

Today, I tried to build the latest trunk, and it failed with an error, see link below.
When I tried to build unitraxx's branch, this build error happened too, and I tried to fix it (patch attached in link below).
But it seems that the patch breaks connecting input devices (wanted to play with Wiimote - SIGABRT) or quitting (Click on Quit button - SIGABRT) :cry: .
Link: https://gist.github.com/anonymous/49b48caf8e10de863943

Best regards,
supermat
OS: Arch Linux/OS X Yosemite (10.10)
IRC: mt/mteufel @ freenode
SuperMat
 
Posts: 51
Joined: 20 Jan 2012, 19:19
Location: /home/mteufel

Re: Problems building trunk (merged uni branch) on OS X 10.9

Postby Auria » 05 Dec 2013, 00:25

SuperMat {l Wrote}:Hi all,

Today, I tried to build the latest trunk, and it failed with an error, see link below.
When I tried to build unitraxx's branch, this build error happened too, and I tried to fix it (patch attached in link below).
But it seems that the patch breaks connecting input devices (wanted to play with Wiimote - SIGABRT) or quitting (Click on Quit button - SIGABRT) :cry: .
Link: https://gist.github.com/anonymous/49b48caf8e10de863943

Best regards,
supermat



I'm not sure I fully understand what the problem is, so I created a ticket : https://sourceforge.net/apps/trac/super ... icket/1126


Are you familiar with patches? Could you try applying this patch and see if it helps?
{l Code}: {l Select All Code}
Index: states_screens/offline_kart_selection.cpp
===================================================================
--- states_screens/offline_kart_selection.cpp   (revision 14628)
+++ states_screens/offline_kart_selection.cpp   (working copy)
@@ -11,3 +11,5 @@
 {
     //dtor
 }
+
+bool OfflineKartSelectionScreen::isRunning() { return singleton!=NULL; }
Index: states_screens/offline_kart_selection.hpp
===================================================================
--- states_screens/offline_kart_selection.hpp   (revision 14628)
+++ states_screens/offline_kart_selection.hpp   (working copy)
@@ -12,7 +12,7 @@
         virtual ~OfflineKartSelectionScreen();
 
     public:
-        static bool isRunning() { return singleton!=NULL; }
+        static bool isRunning();
 
         // we do not override anything, this class is just there to have a singleton
 };
Image
User avatar
Auria
STK Moderator
 
Posts: 2976
Joined: 07 Dec 2009, 03:52

Re: Problems building trunk revision 14590 on OS X Mavericks

Postby SuperMat » 05 Dec 2013, 16:12

Auria, I used your patch, it works now. But as I've written in my previous post, when I click on "Add a device", STK crashes :think: .
A stacktrace is here: https://gist.github.com/anonymous/c4d29db2da45ce27d7dd
OS: Arch Linux/OS X Yosemite (10.10)
IRC: mt/mteufel @ freenode
SuperMat
 
Posts: 51
Joined: 20 Jan 2012, 19:19
Location: /home/mteufel

Re: Problems building trunk revision 14590 on OS X Mavericks

Postby Auria » 07 Dec 2013, 17:42

SuperMat {l Wrote}:Auria, I used your patch, it works now. But as I've written in my previous post, when I click on "Add a device", STK crashes :think: .
A stacktrace is here: https://gist.github.com/anonymous/c4d29db2da45ce27d7dd



Thanks!

I've created a ticket for the second crash : https://sourceforge.net/apps/trac/super ... icket/1128
Image
User avatar
Auria
STK Moderator
 
Posts: 2976
Joined: 07 Dec 2009, 03:52

Yet another problem building trunk on OS X Mavericks

Postby SuperMat » 28 Dec 2013, 15:22

Today, I tried to compile the latest trunk (r14823), however, it failed :cry:
Here is the build log: http://paste.ubuntu.com/6651367/

Best regards,
supermat
OS: Arch Linux/OS X Yosemite (10.10)
IRC: mt/mteufel @ freenode
SuperMat
 
Posts: 51
Joined: 20 Jan 2012, 19:19
Location: /home/mteufel

Re: Problems building trunk revision 14590 on OS X Mavericks

Postby Auria » 29 Dec 2013, 00:08

Okay, the error seems to be

{l Code}: {l Select All Code}
/Users/max/Entwicklung/Code/Games/supertuxkart/src/graphics/gpuparticles.cpp:251:11: error:
      use of undeclared identifier 'GL_RASTERIZER_DISCARD'
        glEnable(GL_RASTERIZER_DISCARD);
                 ^
/Users/max/Entwicklung/Code/Games/supertuxkart/src/graphics/gpuparticles.cpp:255:19: error:
      use of undeclared identifier 'GL_TRANSFORM_FEEDBACK_BUFFER'
        glBindBufferBase(GL_TRANSFORM_FEEDBACK_BUFFER, 0, tfb_vertex_buffer[1]);
                         ^
/Users/max/Entwicklung/Code/Games/supertuxkart/src/graphics/gpuparticles.cpp:260:2: error:
      use of undeclared identifier 'glBeginTransformFeedback'; did you mean
      'glBeginTransformFeedbackEXT'?
        glBeginTransformFeedback(GL_POINTS);
        ^~~~~~~~~~~~~~~~~~~~~~~~
        glBeginTransformFeedbackEXT
/System/Library/Frameworks/OpenGL.framework/Headers/glext.h:3275:13: note:
      'glBeginTransformFeedbackEXT' declared here
extern void glBeginTransformFeedbackEXT(GLenum primitiveMode);
            ^
/Users/max/Entwicklung/Code/Games/supertuxkart/src/graphics/gpuparticles.cpp:262:2: error:
      use of undeclared identifier 'glEndTransformFeedback'; did you mean
      'glEndTransformFeedbackEXT'?
        glEndTransformFeedback();
        ^~~~~~~~~~~~~~~~~~~~~~
        glEndTransformFeedbackEXT
/System/Library/Frameworks/OpenGL.framework/Headers/glext.h:3276:13: note:
      'glEndTransformFeedbackEXT' declared here
extern void glEndTransformFeedbackEXT(void);
            ^
/Users/max/Entwicklung/Code/Games/supertuxkart/src/graphics/gpuparticles.cpp:263:12: error:
      use of undeclared identifier 'GL_RASTERIZER_DISCARD'
        glDisable(GL_RASTERIZER_DISCARD);


There appear to be missing bits in your OpenGL :/ we will see what we can do
Image
User avatar
Auria
STK Moderator
 
Posts: 2976
Joined: 07 Dec 2009, 03:52

Re: Problems building trunk revision 14590 on OS X Mavericks

Postby SuperMat » 01 Jan 2014, 10:39

OK. All that stuff is fixed now, see the IRC Log from 2013. I tried to make OpenGL 3 work on OS X like described in Ticket #1142, but again, it's strange. Compiling works.
When I open STK now, I see the following:
FixIsNotWorking.jpg
Looks a bit strange :/

And the log says that:
{l Code}: {l Select All Code}
Irrlicht Engine version 1.8.0
Darwin Kernel Version 13.0.0: Thu Sep 19 22:22:27 PDT 2013; root:xnu-2422.1.72~6/RELEASE_X86_64
[info   ] FileManager: Data files will be fetched from: '/Users/max/Entwicklung/Code/Games/supertuxkart/cmake_build/bin/supertuxkart.app/Contents/Resources//data/'
[info   ] FileManager: User directory is '/Users/max/Library/Application Support/SuperTuxKart/'.
[info   ] FileManager: Addons files will be stored in '/Users/max/Library/Application Support/SuperTuxKart/Addons/'.
[info   ] FileManager: Screenshots will be stored in '/Users/max/Library/Application Support/SuperTuxKart/Screenshots/'.
[info   ] FileManager: Asset 0 will be loaded from '/Users/max/Entwicklung/Code/Games/supertuxkart/cmake_build/bin/supertuxkart.app/Contents/Resources//data/challenges/'.
[info   ] FileManager: Asset 1 will be loaded from '/Users/max/Entwicklung/Code/Games/supertuxkart/cmake_build/bin/supertuxkart.app/Contents/Resources//data/fonts/'.
[info   ] FileManager: Asset 2 will be loaded from '/Users/max/Entwicklung/Code/Games/supertuxkart/cmake_build/bin/supertuxkart.app/Contents/Resources//data/gfx/'.
[info   ] FileManager: Asset 3 will be loaded from '/Users/max/Entwicklung/Code/Games/supertuxkart/cmake_build/bin/supertuxkart.app/Contents/Resources//data/grandprix/'.
[info   ] FileManager: Asset 4 will be loaded from '/Users/max/Entwicklung/Code/Games/supertuxkart/cmake_build/bin/supertuxkart.app/Contents/Resources//data/gui/'.
[info   ] FileManager: Asset 5 will be loaded from '/Users/max/Entwicklung/Code/Games/supertuxkart/cmake_build/bin/supertuxkart.app/Contents/Resources//data/models/'.
[info   ] FileManager: Asset 6 will be loaded from '/Users/max/Entwicklung/Code/Games/supertuxkart/cmake_build/bin/supertuxkart.app/Contents/Resources//data/music/'.
[info   ] FileManager: Asset 7 will be loaded from '/Users/max/Entwicklung/Code/Games/supertuxkart/cmake_build/bin/supertuxkart.app/Contents/Resources//data/sfx/'.
[info   ] FileManager: Asset 8 will be loaded from '/Users/max/Entwicklung/Code/Games/supertuxkart/cmake_build/bin/supertuxkart.app/Contents/Resources//data/shaders/'.
[info   ] FileManager: Asset 9 will be loaded from '/Users/max/Entwicklung/Code/Games/supertuxkart/cmake_build/bin/supertuxkart.app/Contents/Resources//data/skins/'.
[info   ] FileManager: Asset 10 will be loaded from '/Users/max/Entwicklung/Code/Games/supertuxkart/cmake_build/bin/supertuxkart.app/Contents/Resources//data/textures/'.
[info   ] FileManager: Asset 11 will be loaded from '/Users/max/Entwicklung/Code/Games/supertuxkart/cmake_build/bin/supertuxkart.app/Contents/Resources//data/po/'.
Unknown value for motionblur_enabled; expected true or false
Unknown value for mlaa; expected true or false
[debug  ] translation: Env var LANGUAGE = 'de'.
[debug  ] translation: Language 'German'.
[warn   ] irr_driver: Using the fixed pipeline (old GPU, or shaders disabled in options)
[warn   ] track: Music information file 'ChillCarrier-Druckverlust.music' not found - ignored.

[warn   ] track: Music information file 'TheDeadRocks-GreenSecretFromAmazonia.music' not found - ignored.

[debug  ] main: Error messages and other text output will be logged to /Users/max/Library/Application Support/SuperTuxKart/stdout.log.
[error  ] Kart_Model: Missing wheel information 'front-right' for model'blinky.b3d'.
[error  ] Kart_Model: This can be ignored, but the wheels willnot rotate.
[error  ] Kart_Model: Missing wheel information 'front-left' for model'blinky.b3d'.
[error  ] Kart_Model: This can be ignored, but the wheels willnot rotate.
[error  ] Kart_Model: Missing wheel information 'rear-right' for model'blinky.b3d'.
[error  ] Kart_Model: This can be ignored, but the wheels willnot rotate.
[error  ] Kart_Model: Missing wheel information 'rear-left' for model'blinky.b3d'.
[error  ] Kart_Model: This can be ignored, but the wheels willnot rotate.
[warn   ] EventHandler: Error while loading kart 'Evil Tux-V1':
[warn   ] Irrlicht: Could not open file of texture: tuxkart.png
[warn   ] EventHandler: Error while loading kart 'SuperTuxCart':
[warn   ] Irrlicht: Could not open file of texture: tuxkart.png


:cry:

And here's another patch for the file manager, to make the paths on OS X look better.
Before: [info ] FileManager: Asset 0 will be loaded from '/Users/max/Entwicklung/Code/Games/supertuxkart/cmake_build/bin/supertuxkart.app/Contents/Resources//data/challenges/'.
After: [info ] FileManager: Asset 0 will be loaded from '/Users/max/Entwicklung/Code/Games/supertuxkart/cmake_build/bin/supertuxkart.app/Contents/Resources/data/challenges/'.

The patches are attached to this post.

supermat
Attachments
BetterFilePaths.patch
Patch for nicer file paths on OS X ;)
(615 Bytes) Downloaded 159 times
OpenGL3OSX.patch
Try to make OpenGL 3 work on OS X
(661 Bytes) Downloaded 166 times
OS: Arch Linux/OS X Yosemite (10.10)
IRC: mt/mteufel @ freenode
SuperMat
 
Posts: 51
Joined: 20 Jan 2012, 19:19
Location: /home/mteufel

Re: Problems building trunk revision 14590 on OS X Mavericks

Postby Auria » 01 Jan 2014, 17:58

Thanks for testing. I will apply the path fix shortly. Regarding the OpenGL 3 thing, I pretty much expected trouble. It seems like Apple is simply not providing the OpenGL mode we need, contrarily to windows and linux... not sure how we can work around that. Maybe we will need to turn off advanced graphics on OSX completely
Image
User avatar
Auria
STK Moderator
 
Posts: 2976
Joined: 07 Dec 2009, 03:52

Re: Problems building trunk revision 14590 on OS X Mavericks

Postby vlj » 03 Jan 2014, 19:31

I was able to reproduce the issue with linux, using either 3.1 context or 3.0 forward compatible (ie with deprecated feature removed) context.
Using keyboard it looks like I can move into the invisible menu and run overworld, where irrlicht complains :

"[warn ] Irrlicht: Tried to set a non FBO-RTT as render target.
[error ] Irrlicht: No valid MRTs."
vlj
 
Posts: 58
Joined: 27 Dec 2013, 04:22

Who is online

Users browsing this forum: No registered users and 1 guest

cron