Jump to content

[FIXED] More Build Errors on OS X 10.7.2


Kimball
 Share

Recommended Posts

I'm not sure if this indicates that my libraries are out of date, because other people on Lion have been able to get the game to build and run fine, but I'm still running into problems.

/opt/local/include/boost/detail/container_fwd.hpp:120:9: warning: "BOOST_CLANG" is not defined
In file included from /opt/local/include/boost/unordered/unordered_map.hpp:17,
from /opt/local/include/boost/unordered_map.hpp:16,
from ../../../source/simulation2/Simulation2.h:28,
from ../../../source/simulation2/Simulation2.cpp:20:
/opt/local/include/boost/unordered/detail/allocator_helpers.hpp:29:5: warning: "BOOST_UNORDERED_USE_ALLOCATOR_TRAITS" is not defined
/opt/local/include/boost/unordered/detail/allocator_helpers.hpp:193:5: warning: "BOOST_UNORDERED_USE_ALLOCATOR_TRAITS" is not defined
In file included from /opt/local/include/boost/unordered/detail/equivalent.hpp:16,
from /opt/local/include/boost/unordered/unordered_map.hpp:18,
from /opt/local/include/boost/unordered_map.hpp:16,
from ../../../source/simulation2/Simulation2.h:28,
from ../../../source/simulation2/Simulation2.cpp:20:
/opt/local/include/boost/unordered/detail/extract_key.hpp:54:5: warning: "BOOST_UNORDERED_USE_RV_REF" is not defined
Linking simulation2
/usr/bin/ranlib: can't set the modifiy times in output file: ../../../binaries/system/libsimulation2.a (Operation not permitted)
ar: internal ranlib command failed
make[1]: *** [../../../binaries/system/libsimulation2.a] Error 1
make: *** [simulation2] Error 2

Full output: http://pastebin.com/hnEs5EnA

Here's some system info:

OS: Mac OSX 10.6.5
HW: MacBook Pro (15-inch, Mid 2009)
2.8 GHz
4 GB RAM
NVIDIA GeForce 9400M & 9600M GT
64-bit kernel enabled
GV: Alpha VIII Custom Build (r10842)

Side note, if I do 'make config=RELEASE', the game builds just fine, but I run into a slightly different issue. The game fails to create a camera (as evidenced by the lack of a camera on the minimap). I can still rotate the camera with Q and E, and when I hit the idle worker button, a unit is selected, but I still can't see anything.

xsDlI.png

Also, Atlas starts like this (but the ActorViewer works perfectly fine). Sometimes it's yellow, sometimes it's black but it's always small (and resizes to fullscreen once I select another window pane, like the entity selector, but remains black like it is in game):

2d1Ay.png

Every once in a while, I will be able to see the map in Atlas (I don't know why it works sometimes, but usually doesn't), but I can't modify the map at all. I can zoom in and out, rotate the camera etc., but I can't place objects or see a brush on the terrain for painting terrain or modifying height.

I've checked mainlog.html and no errors were documented. I also checked the Console and the only things from pyrogenesis are these two lines:

1/4/12 5:29:26.558 PM pyrogenesis: CPSGetCurrentProcess(): This call is deprecated and should not be called anymore.
1/4/12 5:29:26.558 PM pyrogenesis: CPSSetForegroundOperationState(): This call is deprecated and should not be called anymore.

Link to comment
Share on other sites

Do you have Premmission? Are you modified a file with root or something else?

Look:

  1. Linking simulation2
  2. /usr/bin/ranlib: can't set the modifiy times in output file: ../../../binaries/system/libsimulation2.a (Operation not permitted)

You have a premmisson Problems look your Full output!

Do you compiled one time with root in past?

Link to comment
Share on other sites


/usr/bin/ranlib: can't set the modifiy times in output file: ../../../binaries/system/libsimulation2.a (Operation not permitted)
ar: internal ranlib command failed
make: *** [simulation2] Error 2

That's a strange error, maybe something to do with file permissions. Does it happen often, and have you tried make clean to force a full rebuild?

1/4/12 5:29:26.558 PM pyrogenesis: CPSGetCurrentProcess(): This call is deprecated and should not be called anymore.
1/4/12 5:29:26.558 PM pyrogenesis: CPSSetForegroundOperationState(): This call is deprecated and should not be called anymore.

Those are warnings from SDL and unrelated to the other problems.

Link to comment
Share on other sites

It looks like he was right, it was some sort of permission error. I went into /binaries/system and apparently all of the files had admin permissions set to Read Only. After setting all of the permissions straight however, I still get this:

...
app_hooks.cpp
In file included from /opt/local/include/boost/functional/hash/extensions.hpp:17,
from /opt/local/include/boost/functional/hash/hash.hpp:535,
from /opt/local/include/boost/functional/hash.hpp:6,
from ../../../source/lib/path.h:41,
from ../../../source/lib/os_path.h:26,
from ../../../source/lib/app_hooks.h:94,
from ../../../source/lib/app_hooks.cpp:28:
/opt/local/include/boost/detail/container_fwd.hpp:120:9: warning: "BOOST_CLANG" is not defined
Linking gui
Linking lowlevel
/usr/bin/ranlib: can't set the modifiy times in output file: ../../../binaries/system/libgui.a (Operation not permitted)
ar: internal ranlib command failed
make[1]: *** [../../../binaries/system/libgui.a] Error 1
make: *** [gui] Error 2

Full output: http://pastebin.com/xNenr5Vk

Edit: It's weird, every time I run make I get a different error. Got this one just now:

In file included from /opt/local/include/boost/unordered/detail/equivalent.hpp:16,
from /opt/local/include/boost/unordered/unordered_map.hpp:18,
from /opt/local/include/boost/unordered_map.hpp:16,
from ../../../source/simulation2/Simulation2.h:28,
from ../../../source/graphics/tests/../../../source/graphics/tests/test_LOSTexture.h:22,
from ../../../source/graphics/tests/test_LOSTexture.cpp:14:
/opt/local/include/boost/unordered/detail/extract_key.hpp:54:5: warning: "BOOST_UNORDERED_USE_RV_REF" is not defined
make[1]: *** [obj/test_Release/test_LOSTexture.o] Error 1
make: *** [test] Error 2

Edit 2: I took your advice and did a clean build. I got the same error as above (the one related to LOSTexture.o). It's long as hell, but here's the full output from Terminal: http://pastebin.com/ZRQbhnBh

Link to comment
Share on other sites


5101.../../../source/scriptinterface/ScriptTypes.h:92:2: error: #error Your compiler is trying to use an incorrect version of the SpiderMonkey library.
5102.../../../source/scriptinterface/ScriptTypes.h:93:2: error: #error The only version that works is the one in the libraries/spidermonkey-tip/ directory,
5103.../../../source/scriptinterface/ScriptTypes.h:94:2: error: #error and it will not work with a typical system-installed version.
5104.../../../source/scriptinterface/ScriptTypes.h:95:2: error: #error Make sure you have got all the right files and include paths.

Is there some other conflicting version of Spidermonkey that you've built or installed?

Link to comment
Share on other sites

../../../source/scriptinterface/ScriptTypes.h:92:2: error: #error Your compiler is trying to use an incorrect version of the SpiderMonkey library.

../../../source/scriptinterface/ScriptTypes.h:93:2: error: #error The only version that works is the one in the libraries/spidermonkey-tip/ directory,

../../../source/scriptinterface/ScriptTypes.h:94:2: error: #error and it will not work with a typical system-installed version.

../../../source/scriptinterface/ScriptTypes.h:95:2: error: #error Make sure you have got all the right files and include paths.

SpiderMonkey is Mozilla's JavaScript engine written in C/C++. It is used in various Mozilla products, including Firefox, and is available under MPL/GPL/LGPL tri-license.

Do you have Firefox installed, and wich Version?

Link to comment
Share on other sites

Attention all: I am hereby declaring myself the dumbest person to ever download 0 A.D.

My camera didn't work because I was using an old version of default.cfg. The new camera settings hadn't been defined yet.

At this point, you are free to ridicule me if you so choose. :)

Link to comment
Share on other sites

Side note, if I do 'make config=RELEASE', the game builds just fine

I think that's because there's no configuration called "RELEASE", so the build finishes immediately without building anything. (It should be "make config=release" or "make config=debug", and the default is release so you should never need to say config=release explicitly.)

Download

http://ftp.mozilla.o...85-1.0.0.tar.gz

Build and install it.

Build instruction

And then, recompile with make clean && make config=release; without -j3

The game uses a bundled copy of js185-1.0.0.tar.gz by default, and it shouldn't try using a version from standard system locations (/usr etc), so building and installing it manually shouldn't have any effect. (You have to run "update-workspaces.sh --with-system-mozjs185" to make it use a system version, but you shouldn't do that unless you're a Linux distro trying to make properly-integrated packages.)

That's partly my fault for not defining sensible defaults for cases like this (which I did not consider). I see Philip fixed it though :)

(I didn't intentionally fix it for cases like this (and didn't consider them either), I just fixed it since Valgrind complained about it :))

Link to comment
Share on other sites

I think that's because there's no configuration called "RELEASE", so the build finishes immediately without building anything. (It should be "make config=release" or "make config=debug", and the default is release so you should never need to say config=release explicitly.)

Yeah I figured that one out soon after I posted. :P

The game uses a bundled copy of js185-1.0.0.tar.gz by default, and it shouldn't try using a version from standard system locations (/usr etc), so building and installing it manually shouldn't have any effect. (You have to run "update-workspaces.sh --with-system-mozjs185" to make it use a system version, but you shouldn't do that unless you're a Linux distro trying to make properly-integrated packages.)

In that case, what does the error mean? Is my SpiderMonkey library corrupt/should I check out a new one?

Link to comment
Share on other sites

Alright, I did a fresh checkout of everything and tried building the game. I'm not sure if this error is different than the one I got previously, but here's what I've got:

In file included from ../../../source/ps/CConsole.cpp:37:
../../../source/ps/Hotkey.h:41: error: ‘SDL_USEREVENT’ was not declared in this scope
../../../source/ps/Hotkey.h:42: error: ‘SDL_USEREVENT’ was not declared in this scope
../../../source/ps/CConsole.cpp: In member function ‘void CConsole::InsertChar(int, wchar_t)’:
../../../source/ps/CConsole.cpp:322: error: ‘SDLK_RETURN’ was not declared in this scope
../../../source/ps/CConsole.cpp:329: error: ‘SDLK_TAB’ was not declared in this scope
../../../source/ps/CConsole.cpp:333: error: ‘SDLK_BACKSPACE’ was not declared in this scope
../../../source/ps/CConsole.cpp:348: error: ‘SDLK_DELETE’ was not declared in this scope
../../../source/ps/CConsole.cpp:358: error: ‘SDLK_RCTRL’ was not declared in this scope
../../../source/ps/CConsole.cpp:358: error: ‘SDLK_LCTRL’ was not declared in this scope
../../../source/ps/CConsole.cpp:376: error: ‘SDLK_HOME’ was not declared in this scope
../../../source/ps/CConsole.cpp:377: error: ‘SDLK_RCTRL’ was not declared in this scope
../../../source/ps/CConsole.cpp:377: error: ‘SDLK_LCTRL’ was not declared in this scope
../../../source/ps/CConsole.cpp:390: error: ‘SDLK_END’ was not declared in this scope
../../../source/ps/CConsole.cpp:391: error: ‘SDLK_RCTRL’ was not declared in this scope
../../../source/ps/CConsole.cpp:391: error: ‘SDLK_LCTRL’ was not declared in this scope
../../../source/ps/CConsole.cpp:401: error: ‘SDLK_LEFT’ was not declared in this scope
../../../source/ps/CConsole.cpp:405: error: ‘SDLK_RIGHT’ was not declared in this scope
../../../source/ps/CConsole.cpp:410: error: ‘SDLK_UP’ was not declared in this scope
../../../source/ps/CConsole.cpp:419: error: ‘SDLK_DOWN’ was not declared in this scope
../../../source/ps/CConsole.cpp:438: error: ‘SDLK_PAGEUP’ was not declared in this scope
../../../source/ps/CConsole.cpp:446: error: ‘SDLK_PAGEDOWN’ was not declared in this scope
../../../source/ps/CConsole.cpp: At global scope:
../../../source/ps/CConsole.cpp:628: error: ‘SDL_keysym’ was not declared in this scope
../../../source/ps/CConsole.cpp:629: error: expected ‘,’ or ‘;’ before ‘{’ token
../../../source/ps/CConsole.cpp:628: warning: ‘isUnprintableChar’ defined but not used
/opt/local/include/boost/system/error_code.hpp:214: warning: ‘boost::system::posix_category’ defined but not used
/opt/local/include/boost/system/error_code.hpp:215: warning: ‘boost::system::errno_ecat’ defined but not used
/opt/local/include/boost/system/error_code.hpp:216: warning: ‘boost::system::native_ecat’ defined but not used
make[1]: *** [obj/engine_Release/CConsole.o] Error 1
make: *** [engine] Error 2

Didn't really make it that far before I got this: http://pastebin.com/hJVC5JCa

Link to comment
Share on other sites

I made a change so it includes "SDL.h" instead of "SDL/SDL.h" (recommended here, and required for compatibility with sdl-config), and I guess that's probably what triggered this error (since other people started seeing it too). Someone should probably check the output of "sdl-config --cflags" on OS X and see what version of SDL it's pointing at.

Link to comment
Share on other sites

r10904 fixed that issue, thanks. :D

Back to this one:

In file included from /opt/local/include/boost/unordered/detail/equivalent.hpp:16,
from /opt/local/include/boost/unordered/unordered_map.hpp:18,
from /opt/local/include/boost/unordered_map.hpp:16,
from ../../../source/simulation2/Simulation2.h:28,
from ../../../source/graphics/tests/../../../source/graphics/tests/test_LOSTexture.h:22,
from ../../../source/graphics/tests/test_LOSTexture.cpp:14:
/opt/local/include/boost/unordered/detail/extract_key.hpp:54:5: warning: "BOOST_UNORDERED_USE_RV_REF" is not defined
make[1]: *** [obj/test_Release/test_LOSTexture.o] Error 1
make: *** [test] Error 2

Link to comment
Share on other sites

  • 1 month later...

==== Building test (release) ====
test_LOSTexture.cpp
In file included from /opt/local/include/js/jspubtd.h:97,
from /opt/local/include/js/jsapi.h:47,
from ../../../source/scriptinterface/ScriptTypes.h:81,
from ../../../source/simulation2/system/Message.h:21,
from ../../../source/simulation2/system/IComponent.h:22,
from ../../../source/simulation2/system/Interface.h:21,
from ../../../source/simulation2/components/ICmpRangeManager.h:21,
from ../../../source/graphics/LOSTexture.h:21,
from ../../../source/graphics/tests/../../../source/graphics/tests/test_LOSTexture.h:20,
from ../../../source/graphics/tests/test_LOSTexture.cpp:14:
/opt/local/include/js/jsproto.tbl:67:5: warning: "JS_HAS_FILE_OBJECT" is not defined
In file included from ../../../source/simulation2/system/Message.h:21,
from ../../../source/simulation2/system/IComponent.h:22,
from ../../../source/simulation2/system/Interface.h:21,
from ../../../source/simulation2/components/ICmpRangeManager.h:21,
from ../../../source/graphics/LOSTexture.h:21,
from ../../../source/graphics/tests/../../../source/graphics/tests/test_LOSTexture.h:20,
from ../../../source/graphics/tests/test_LOSTexture.cpp:14:
../../../source/scriptinterface/ScriptTypes.h:92:2: error: #error Your compiler is trying to use an incorrect version of the SpiderMonkey library.
../../../source/scriptinterface/ScriptTypes.h:93:2: error: #error The only version that works is the one in the libraries/spidermonkey/ directory,
../../../source/scriptinterface/ScriptTypes.h:94:2: error: #error and it will not work with a typical system-installed version.
../../../source/scriptinterface/ScriptTypes.h:95:2: error: #error Make sure you have got all the right files and include paths.
In file included from /opt/local/include/boost/unordered/unordered_map.hpp:17,
from /opt/local/include/boost/unordered_map.hpp:16,
from ../../../source/simulation2/Simulation2.h:28,
from ../../../source/graphics/tests/../../../source/graphics/tests/test_LOSTexture.h:22,
from ../../../source/graphics/tests/test_LOSTexture.cpp:14:
/opt/local/include/boost/unordered/detail/allocator_helpers.hpp:29:5: warning: "BOOST_UNORDERED_USE_ALLOCATOR_TRAITS" is not defined
/opt/local/include/boost/unordered/detail/allocator_helpers.hpp:193:5: warning: "BOOST_UNORDERED_USE_ALLOCATOR_TRAITS" is not defined
In file included from /opt/local/include/boost/unordered/detail/equivalent.hpp:16,
from /opt/local/include/boost/unordered/unordered_map.hpp:18,
from /opt/local/include/boost/unordered_map.hpp:16,
from ../../../source/simulation2/Simulation2.h:28,
from ../../../source/graphics/tests/../../../source/graphics/tests/test_LOSTexture.h:22,
from ../../../source/graphics/tests/test_LOSTexture.cpp:14:
/opt/local/include/boost/unordered/detail/extract_key.hpp:54:5: warning: "BOOST_UNORDERED_USE_RV_REF" is not defined
make[1]: *** [obj/test_Release/test_LOSTexture.o] Error 1
make: *** [test] Error 2

Edit: It looks like you're right, and I'm just ignorant. The game runs, but does this error that I'm getting even matter?

Link to comment
Share on other sites

It matters if you want to run the tests, but they are not required to run the game :) Try running "./update-workspaces.sh --without-tests" before rebuilding, and confirm that the build finishes with no errors. Still it would be nice to troubleshoot why the test is failing to build, if indeed the rest of the game is succeeding. When was the last time you did a full checkout of the source?

Link to comment
Share on other sites

  • 5 months later...

Finally solved this problem :) It was due to an ancient Spidermonkey lib that had been installed with Mac Ports. The game will include that version of SM by mistake due to include path precedence.

So if you encounter this error and use Mac Ports, just use "sudo port uninstall Spidermonkey" to get rid of the old conflicting Spidermonkey.

  • Like 1
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...