Page 1 of 1

Problems building trunk revision 14590 on OS X Mavericks

PostPosted: 01 Dec 2013, 09:20
by SuperMat
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 173 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.

Re: Problems building trunk revision 14590 on OS X Mavericks

PostPosted: 01 Dec 2013, 09:24
by cand
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.

Re: Problems building trunk revision 14590 on OS X Mavericks

PostPosted: 01 Dec 2013, 09:41
by SuperMat
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.

Re: Problems building trunk revision 14590 on OS X Mavericks

PostPosted: 01 Dec 2013, 09:48
by cand
Bug in Apple's driver.

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

PostPosted: 01 Dec 2013, 11:20
by SuperMat
I attached a file, which includes all changes needed, to compile and start up STK successfully. Thanks to cand and samuncle for their help.

Re: Problems building trunk revision 14590 on OS X Mavericks

PostPosted: 01 Dec 2013, 18:39
by Auria
Thanks, I have applied the patch and it seems to work fine

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

PostPosted: 04 Dec 2013, 18:15
by SuperMat
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

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

PostPosted: 05 Dec 2013, 00:25
by Auria
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
 };

Re: Problems building trunk revision 14590 on OS X Mavericks

PostPosted: 05 Dec 2013, 16:12
by SuperMat
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

Re: Problems building trunk revision 14590 on OS X Mavericks

PostPosted: 07 Dec 2013, 17:42
by Auria
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

Yet another problem building trunk on OS X Mavericks

PostPosted: 28 Dec 2013, 15:22
by SuperMat
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

Re: Problems building trunk revision 14590 on OS X Mavericks

PostPosted: 29 Dec 2013, 00:08
by Auria
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

Re: Problems building trunk revision 14590 on OS X Mavericks

PostPosted: 01 Jan 2014, 10:39
by SuperMat
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

Re: Problems building trunk revision 14590 on OS X Mavericks

PostPosted: 01 Jan 2014, 17:58
by Auria
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

Re: Problems building trunk revision 14590 on OS X Mavericks

PostPosted: 03 Jan 2014, 19:31
by vlj
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."