Jump to content

Build Errors On Ubuntu 9.10


Recommended Posts

When I try to build 0ad through make some error messages appear for CPlayList.cpp (in /trunk/source/sound). It appears as though SVN revision 7223 cannot be built for Ubuntu 9.10. Is there a previous SVN revision that is known to compile successfully for Linux? More information on the error messages can be found in the attached build log.

ZeroAD_Build_Log__23_12_09_.txt

Link to comment
Share on other sites

Here is the main error message:

../../../source/sound/CPlayList.h:35: error: ‘CStrW’ was not declared in this scope

After looking through the sources I found CStr.cpp and CStr.h in /source/ps however there does not appear to be a CStrW.h and CStrW.cpp file anywhere. Should the CStrW.h and CStrW.cpp files exist in the sources?

Link to comment
Share on other sites

Did you run update-workspaces.sh with the --without-pch flag?

If you did, I've committed some change in r7224 that should fix it. If you didn't, something crazy is happening - those compile errors should be fixed now anyway, but it would be good to know what the crazy thing is, since it will cause the build to be extremely slow and may cause other errors.

(CStr.h declares both the classes CStr8 (also called CStr) and CStrW, via a load of macros, so it's the right file to include.)

Link to comment
Share on other sites

With update-workspaces.sh I did not pass through the --without-pch switch. Instead I commented out the contents of package_setup_pch function in /trunk/build/premake/premake.lua. After your post I realised that my method for building without pch is cumbersome however it works. Thank you for uploading the fix :) . The build problem is now fixed (the current ones).

Now that further progress has been made I'll let you know if there are any further problems with building the sources.

Link to comment
Share on other sites

Ok the entire build was successful apart from building Atlas, which is another issue to sort out later. After running 0AD the sound and music cuts out randomly. In the start of a new game the exact same thing happened. However after 3 minutes into the game the random cut outs stopped, and there was smooth sound and music for the rest of the game until I exited 0AD.

Attached is a log that may provide further details into the audio problem. It appears as though the problem may be caused by connections being refused to the audio service.

ZeroAD_Log.txt

Link to comment
Share on other sites

Hmm, why did you want to disable PCH?

I presume the Atlas problem is the libxml2 thread-safe one, which seems to be a bug in the version Ubuntu provides.

Seems like the sound issues are possibly caused by OpenAL/PulseAudio interactions (given what's said here); I'm hoping it's not our fault and it'll get magically fixed in the future :). Otherwise I have no idea how to approach the problem myself.

Link to comment
Share on other sites

Hmm, why did you want to disable PCH?

Because the version of GCC that is used (4.4) in Ubuntu 9.10 is supposed to support PCH however I encountered some errors when building with PCH, hence why it was disabled.

I presume the Atlas problem is the libxml2 thread-safe one, which seems to be a bug in the version Ubuntu provides.

That is correct since I encountered exactly the same problems.

Seems like the sound issues are possibly caused by OpenAL/PulseAudio interactions (given what's said here); I'm hoping it's not our fault and it'll get magically fixed in the future :). Otherwise I have no idea how to approach the problem myself.

Currently Pulse Audio is enabled (I did have it disabled previously) on my PC. It will be interesting to see if disabling Pulse Audio will solve or minimise the sound issues.

Link to comment
Share on other sites

Because the version of GCC that is used (4.4) in Ubuntu 9.10 is supposed to support PCH however I encountered some errors when building with PCH, hence why it was disabled.
That sounds unexpected - I've used lots of versions of GCC (4.1, 4.2, 4.3, 4.4, 4.5, I think, all on Gentoo, and typically with ccache) and not had any PCH-related problems (other than some with wxWidgets in GCC <= 4.1, so our premake.lua disables PCH for that). If you have any details of the errors, it might be good if we could work out what the problem is :)
Link to comment
Share on other sites

That sounds unexpected - I've used lots of versions of GCC (4.1, 4.2, 4.3, 4.4, 4.5, I think, all on Gentoo, and typically with ccache) and not had any PCH-related problems (other than some with wxWidgets in GCC <= 4.1, so our premake.lua disables PCH for that). If you have any details of the errors, it might be good if we could work out what the problem is :)

I have a vague recollection that the PCH build failed due to 2 missing files (precompiled.h and precompiled.cpp).

Link to comment
Share on other sites

  <stack>
<frame level="0" function="wxFatalSignalHandler" offset="00000026"/>
<frame level="1"/>
<frame level="2" function="pthread_mutex_lock" offset="0000001d"/>
<frame level="3" function="PR_Lock" offset="00000022"/>
<frame level="4" function="JS_ArenaAllocate" offset="00000000" file="/home/nick/SVN/zeroAD/trunk/libraries/spidermonkey/src/js/src/jsarena.c" line="187"/>
<frame level="5" function="NewScopeProperty" offset="00000000" file="/home/nick/SVN/zeroAD/trunk/libraries/spidermonkey/src/js/src/jsscope.c" line="491"/>
<frame level="6" function="GetPropertyTreeChild" offset="00000000" file="/home/nick/SVN/zeroAD/trunk/libraries/spidermonkey/src/js/src/jsscope.c" line="778"/>
<frame level="7" function="js_AddScopeProperty" offset="00000000" file="/home/nick/SVN/zeroAD/trunk/libraries/spidermonkey/src/js/src/jsscope.c" line="1157"/>
<frame level="8" function="js_DefineNativeProperty" offset="00000000" file="/home/nick/SVN/zeroAD/trunk/libraries/spidermonkey/src/js/src/jsobj.c" line="2686"/>
<frame level="9" function="js_DefineProperty" offset="00000000" file="/home/nick/SVN/zeroAD/trunk/libraries/spidermonkey/src/js/src/jsobj.c" line="2584"/>
<frame level="10" function="JS_InitStandardClasses" offset="0000005e"/>
<frame level="11"/>
<frame level="12"/>
<frame level="13"/>
<frame level="14"/>
<frame level="15" function="wxEntry(int&, wchar_t**)" offset="00000040"/>
</stack>

Urgh, I've had similar problems when running the game but only in Release configurations. I couldn't work out what the problem was (seemed a bit like it was linking against two different copies of SpiderMonkey or something similar), so I gave up - the longer-term plan is to move to a recent version of SpiderMonkey, which has a new build system and should solve the problems with the old version. I've only used the new version on my experimental Hg branch, not on SVN trunk, but if you're interested then I could try getting all the files onto SVN and fixing it to work there...

Link to comment
Share on other sites

I've only used the new version on my experimental Hg branch, not on SVN trunk, but if you're interested then I could try getting all the files onto SVN and fixing it to work there...

I would certainly appreciate it if you could incorporate your changes onto SVN. Hopefully the newer version of Spider Monkey will do the trick :)

Link to comment
Share on other sites

Should be in SVN now. It's a bit experimental (use at your own risk etc) but seems to work for me.

The general idea is:

cd .../libraries/spidermonkey-tip/
./build.sh
cd .../build/workspaces/
./update-workspaces.sh --with-spidermonkey-tip

and then run make as normal, and it should use the new SpiderMonkey.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...