Oolite Bulletins

For information and discussion about Oolite.
It is currently Sat Nov 18, 2017 9:29 pm

All times are UTC




Post new topic  Reply to topic  [ 10 posts ] 
Author Message
PostPosted: Mon Jul 11, 2011 3:27 pm 
Offline
Dangerous
Dangerous
User avatar

Joined: Sun Feb 12, 2006 5:05 pm
Posts: 108
Location: Portsmouth, UK
Hi,

I'm trying to do a trunk (and 1.75.2 from berlios) build on FreeBSD 8.2 amd64. I'm using the current ports of GNUstep and I'm getting some pretty confusing build errors.
Code:
svn co http://svn.berlios.de/svnroot/repos/oolite-linux/trunk/
 U   trunk
Checked out revision 4577.
cd trunk
gmake -f Makefile debug
<insert the output of a successful js library fetch and build>
gmake -f GNUmakefile debug=yes
This is gnustep-make 2.6.1. Type 'gmake print-gnustep-make-help' for help.
gmake[1]: Entering directory `/root/oolite-build/trunk'
/usr/local/GNUstep/System/Library/Makefiles/objc.make:30: objc.make is deprecated.  Please use tool.make instead
/usr/local/GNUstep/System/Library/Makefiles/objc.make:30: objc.make is deprecated.  Please use tool.make instead
Making all for objc_program oolite...
/usr/local/GNUstep/System/Library/Makefiles/objc.make:30: objc.make is deprecated.  Please use tool.make instead
/usr/local/GNUstep/System/Library/Makefiles/objc.make:30: objc.make is deprecated.  Please use tool.make instead
 Compiling file src/Core/legacy_random.c ...
 Compiling file src/BSDCompat/strlcpy.c ...
 Compiling file src/Core/Debug/OOTCPStreamDecoder.c ...
 Compiling file src/Core/OOPlanetData.c ...
 Compiling file src/Core/Debug/OODebugMonitor.m ...
src/Core/Debug/OODebugMonitor.m: In function '-[OODebugMonitor performJSConsoleCommand:]':
src/Core/Debug/OODebugMonitor.m:202: error: 'JSID_VOID' undeclared (first use in this function)
src/Core/Debug/OODebugMonitor.m:202: error: (Each undeclared identifier is reported only once
src/Core/Debug/OODebugMonitor.m:202: error: for each function it appears in.)
src/Core/Debug/OODebugMonitor.m: In function '-[OODebugMonitor dumpMemoryStatistics]':
src/Core/Debug/OODebugMonitor.m:608: warning: implicit declaration of function 'JS_GetGCParameter'
src/Core/Debug/OODebugMonitor.m:608: error: 'JSGC_BYTES' undeclared (first use in this function)
src/Core/Debug/OODebugMonitor.m:610: error: 'JSGC_NUMBER' undeclared (first use in this function)
src/Core/Debug/OODebugMonitor.m: In function '-[OODebugMonitor(Private) oo:jsValueInContext:]':
src/Core/Debug/OODebugMonitor.m:912: warning: implicit declaration of function 'JS_AddNamedObjectRoot'
gmake[4]: *** [obj.spk.dbg/oolite.obj/OODebugMonitor.m.o] Error 1
gmake[3]: *** [internal-objc_program-all_] Error 2
gmake[2]: *** [oolite.all.objc-program.variables] Error 2
gmake[1]: *** [internal-all] Error 2
gmake[1]: Leaving directory `/root/oolite-build/trunk'
gmake: *** [debug] Error 2
If I use tool.make as suggested then the build does nothing.

I've checked the mozilla JS build and the static libarary exists, as does the header files and they are being generated in the correct locations.

I've also tried a clean install from scratch on another machine with the same errors.

I'm building with -
Code:
gnustep-1.19.3
gnustep-back-0.17.1_3
gnustep-back-art-0.17.1_3
gnustep-back-cairo-0.17.1_3
gnustep-base-1.19.3_5
gnustep-gui-0.17.1_2
gnustep-make-2.6.1
So erm... HAYLP!

_________________
Spooky
www.int13h.com
Evil Genius

The most merciful thing in all the world is the inability of the human mind to correlate all of its contents.


Top
   
PostPosted: Mon Jul 11, 2011 4:12 pm 
Offline
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral

Joined: Wed Feb 28, 2007 7:54 am
Posts: 5014
Which version of Spidermonkey are you using? It looks like it may not the one from Firefox 4.

Also, I would recommend ditching GNUstep 1.19.3. It is known to contain bugs that affect plist parsing in Oolite. Both Windows and Linux versions are currently powered by GNUstep 1.20.1. In addition, you will need to build making sure that gnustep-make is configured with --enable-native-objc-exceptions. Native Obj-C exceptions are now a requirement for building the Oolite source.


Top
   
PostPosted: Mon Jul 11, 2011 4:48 pm 
Offline
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral

Joined: Wed Feb 28, 2007 7:54 am
Posts: 5014
Oh, and just to be sure, can you please post the output if you build Oolite using gmake -f GNUmakefile debug=yes messages=yes? It would be useful to see the exact command line that make is trying to execute when attempting to build OODebugMonitor.m, instead of "Compiling file...".

Another possibility is that your Spidermonkey is the correct version but not the right build type. If you are building Oolite with debug=yes, I think that you also need to have a debug version of the JavaScript shared object available, otherwise the build is confused. The easiest way to find this out would be to try building using gmake -f GNUmakefile debug=no.


Top
   
PostPosted: Mon Jul 11, 2011 6:05 pm 
Offline
Dangerous
Dangerous
User avatar

Joined: Sun Feb 12, 2006 5:05 pm
Posts: 108
Location: Portsmouth, UK
Hi another_commander,

Thanks for replying.
Quote:
Which version of Spidermonkey are you using? It looks like it may not the one from Firefox 4.
Quote:
Another possibility is that your Spidermonkey is the correct version but not the right build type. If you are building Oolite with debug=yes
I am using the bundled static JS library which is grabbed and built as part of the Makefile, which ends up here - deps/Cross-platform-deps/mozilla/js/src/build-debug/dist/lib and /include respectively.
Quote:
Also, I would recommend ditching GNUstep 1.19.3.
I can do, although this is the newest version in the FreeBSD ports tree (I've been trying to stick to a ports/package build). However I've built previous 1.7X (including 1.75) versions with this exact install of gnustep without issue. I'll uninstall this and manually build from source, I'll probably wont be able to try this until tomorrow morning.
Quote:
Oh, and just to be sure, can you please post the output if you build Oolite using gmake -f GNUmakefile debug=yes messages=yes
Code:
pyro# gmake -f GNUmakefile debug=yes messages=yes
This is gnustep-make 2.6.1. Type 'gmake print-gnustep-make-help' for help.
/usr/local/GNUstep/System/Library/Makefiles/objc.make:30: objc.make is deprecated.  Please use tool.make instead
/usr/local/GNUstep/System/Library/Makefiles/objc.make:30: objc.make is deprecated.  Please use tool.make instead
Making all for objc_program oolite...
/usr/local/GNUstep/System/Library/Makefiles/objc.make:30: objc.make is deprecated.  Please use tool.make instead
/usr/local/GNUstep/System/Library/Makefiles/objc.make:30: objc.make is deprecated.  Please use tool.make instead
cc src/Core/Debug/OODebugMonitor.m -c \
      -MMD -MP -DGNUSTEP -DGNUSTEP_BASE_LIBRARY=1 -DGNU_GUI_LIBRARY=1 -DGNU_RUNTIME=1 -DGNUSTEP_BASE_LIBRARY=1 -fno-strict-aliasing -fexceptions -fobjc-exceptions -D_NATIVE_OBJC_EXCEPTIONS -fPIC -g -DDEBUG -fno-omit-frame-pointer -Wall -DGSWARN -DGSDIAGNOSE -Wno-import -pipe -fno-strict-aliasing -fgnu-runtime -Wall -std=c99 -DLOADSAVEGUI -DLINUX -DXP_UNIX -Wno-import `sdl-config --cflags` `nspr-config --cflags` -DHAVE_LIBESPEAK=1 -DMOZ_TRACE_JSCALLS=1 -g -O0 -DDEBUG -DOO_DEBUG -DOO_OXP_VERIFIER_ENABLED=1 -DOO_LOCALIZATION_TOOLS=1 -DDEBUG_GRAPHVIZ=1 -fconstant-string-class=NSConstantString -Ideps/Cross-platform-deps/mozilla/js/src/build-debug/dist/include -Isrc/SDL -Isrc/Core -Isrc/BSDCompat -Isrc/Core/Scripting -Isrc/Core/Materials -Isrc/Core/Entities -Isrc/Core/OXPVerifier -Isrc/Core/Debug -Isrc/Core/Tables -I. -I/usr/local/include -I/root/GNUstep/Library/Headers -I/usr/local/GNUstep/Local/Library/Headers -I/usr/local/GNUstep/System/Library/Headers \
       -o obj.spk.dbg/oolite.obj/OODebugMonitor.m.o
src/Core/Debug/OODebugMonitor.m: In function '-[OODebugMonitor performJSConsoleCommand:]':
src/Core/Debug/OODebugMonitor.m:202: error: 'JSID_VOID' undeclared (first use in this function)
src/Core/Debug/OODebugMonitor.m:202: error: (Each undeclared identifier is reported only once
src/Core/Debug/OODebugMonitor.m:202: error: for each function it appears in.)
src/Core/Debug/OODebugMonitor.m: In function '-[OODebugMonitor dumpMemoryStatistics]':
src/Core/Debug/OODebugMonitor.m:608: warning: implicit declaration of function 'JS_GetGCParameter'
src/Core/Debug/OODebugMonitor.m:608: error: 'JSGC_BYTES' undeclared (first use in this function)
src/Core/Debug/OODebugMonitor.m:610: error: 'JSGC_NUMBER' undeclared (first use in this function)
src/Core/Debug/OODebugMonitor.m: In function '-[OODebugMonitor(Private) oo:jsValueInContext:]':
src/Core/Debug/OODebugMonitor.m:912: warning: implicit declaration of function 'JS_AddNamedObjectRoot'
gmake[3]: *** [obj.spk.dbg/oolite.obj/OODebugMonitor.m.o] Error 1
gmake[2]: *** [internal-objc_program-all_] Error 2
gmake[1]: *** [oolite.all.objc-program.variables] Error 2
gmake: *** [internal-all] Error 2
However using this command it doesn't seem to include the javascript path. Which is different to gmake -f Makefile debug=yes messages=yes
Code:
pyro# gmake -f Makefile debug=yes messages=yes
gmake -f libjs.make debug=yes
gmake[1]: Entering directory `/root/build/trunk'

Updating Javascript sources...

cd deps/Cocoa-deps/scripts && ./update-mozilla.sh
libjs is up to date.
mkdir -p deps/Cross-platform-deps/mozilla/js/src/build-debug
gmake[1]: Leaving directory `/root/build/trunk'
gmake -f GNUmakefile debug=yes
This is gnustep-make 2.6.1. Type 'gmake print-gnustep-make-help' for help.
gmake[1]: Entering directory `/root/build/trunk'
/usr/local/GNUstep/System/Library/Makefiles/objc.make:30: objc.make is deprecated.  Please use tool.make instead
cd .; \
/usr/local/GNUstep/System/Library/Makefiles/mkinstalldirs ./obj.spk.dbg
/usr/local/GNUstep/System/Library/Makefiles/objc.make:30: objc.make is deprecated.  Please use tool.make instead
Making all for objc_program oolite...
/usr/local/GNUstep/System/Library/Makefiles/objc.make:30: objc.make is deprecated.  Please use tool.make instead
cd .; \
/usr/local/GNUstep/System/Library/Makefiles/mkinstalldirs ./obj.spk.dbg/oolite.obj/
/usr/local/GNUstep/System/Library/Makefiles/objc.make:30: objc.make is deprecated.  Please use tool.make instead
cc src/Core/legacy_random.c -c \
      -MMD -MP -DGNUSTEP -DGNUSTEP_BASE_LIBRARY=1 -DGNU_GUI_LIBRARY=1 -DGNU_RUNTIME=1 -DGNUSTEP_BASE_LIBRARY=1 -D_REENTRANT -pthread -fPIC -g -DDEBUG -fno-omit-frame-pointer -Wall -DGSWARN -DGSDIAGNOSE -Wno-import -pipe -fno-strict-aliasing -Wall -DLINUX -DNEED_STRLCPY `sdl-config --cflags` `nspr-config --cflags` -g -O0 -DDEBUG -DOO_DEBUG -DOO_OXP_VERIFIER_ENABLED=1 -DOO_LOCALIZATION_TOOLS=1 -DDEBUG_GRAPHVIZ=1 -Ideps/Cross-platform-deps/mozilla/js/src/build-debug/dist/include -Isrc/SDL -Isrc/Core -Isrc/BSDCompat -Isrc/Core/Scripting -Isrc/Core/Materials -Isrc/Core/Entities -Isrc/Core/OXPVerifier -Isrc/Core/Debug -Isrc/Core/Tables -I. -I/usr/local/include -I/root/GNUstep/Library/Headers -I/usr/local/GNUstep/Local/Library/Headers -I/usr/local/GNUstep/System/Library/Headers \
       -o obj.spk.dbg/oolite.obj/legacy_random.c.o
cc src/BSDCompat/strlcpy.c -c \
      -MMD -MP -DGNUSTEP -DGNUSTEP_BASE_LIBRARY=1 -DGNU_GUI_LIBRARY=1 -DGNU_RUNTIME=1 -DGNUSTEP_BASE_LIBRARY=1 -D_REENTRANT -pthread -fPIC -g -DDEBUG -fno-omit-frame-pointer -Wall -DGSWARN -DGSDIAGNOSE -Wno-import -pipe -fno-strict-aliasing -Wall -DLINUX -DNEED_STRLCPY `sdl-config --cflags` `nspr-config --cflags` -g -O0 -DDEBUG -DOO_DEBUG -DOO_OXP_VERIFIER_ENABLED=1 -DOO_LOCALIZATION_TOOLS=1 -DDEBUG_GRAPHVIZ=1 -Ideps/Cross-platform-deps/mozilla/js/src/build-debug/dist/include -Isrc/SDL -Isrc/Core -Isrc/BSDCompat -Isrc/Core/Scripting -Isrc/Core/Materials -Isrc/Core/Entities -Isrc/Core/OXPVerifier -Isrc/Core/Debug -Isrc/Core/Tables -I. -I/usr/local/include -I/root/GNUstep/Library/Headers -I/usr/local/GNUstep/Local/Library/Headers -I/usr/local/GNUstep/System/Library/Headers \
       -o obj.spk.dbg/oolite.obj/strlcpy.c.o
cc src/Core/Debug/OOTCPStreamDecoder.c -c \
      -MMD -MP -DGNUSTEP -DGNUSTEP_BASE_LIBRARY=1 -DGNU_GUI_LIBRARY=1 -DGNU_RUNTIME=1 -DGNUSTEP_BASE_LIBRARY=1 -D_REENTRANT -pthread -fPIC -g -DDEBUG -fno-omit-frame-pointer -Wall -DGSWARN -DGSDIAGNOSE -Wno-import -pipe -fno-strict-aliasing -Wall -DLINUX -DNEED_STRLCPY `sdl-config --cflags` `nspr-config --cflags` -g -O0 -DDEBUG -DOO_DEBUG -DOO_OXP_VERIFIER_ENABLED=1 -DOO_LOCALIZATION_TOOLS=1 -DDEBUG_GRAPHVIZ=1 -Ideps/Cross-platform-deps/mozilla/js/src/build-debug/dist/include -Isrc/SDL -Isrc/Core -Isrc/BSDCompat -Isrc/Core/Scripting -Isrc/Core/Materials -Isrc/Core/Entities -Isrc/Core/OXPVerifier -Isrc/Core/Debug -Isrc/Core/Tables -I. -I/usr/local/include -I/root/GNUstep/Library/Headers -I/usr/local/GNUstep/Local/Library/Headers -I/usr/local/GNUstep/System/Library/Headers \
       -o obj.spk.dbg/oolite.obj/OOTCPStreamDecoder.c.o
cc src/Core/OOPlanetData.c -c \
      -MMD -MP -DGNUSTEP -DGNUSTEP_BASE_LIBRARY=1 -DGNU_GUI_LIBRARY=1 -DGNU_RUNTIME=1 -DGNUSTEP_BASE_LIBRARY=1 -D_REENTRANT -pthread -fPIC -g -DDEBUG -fno-omit-frame-pointer -Wall -DGSWARN -DGSDIAGNOSE -Wno-import -pipe -fno-strict-aliasing -Wall -DLINUX -DNEED_STRLCPY `sdl-config --cflags` `nspr-config --cflags` -g -O0 -DDEBUG -DOO_DEBUG -DOO_OXP_VERIFIER_ENABLED=1 -DOO_LOCALIZATION_TOOLS=1 -DDEBUG_GRAPHVIZ=1 -Ideps/Cross-platform-deps/mozilla/js/src/build-debug/dist/include -Isrc/SDL -Isrc/Core -Isrc/BSDCompat -Isrc/Core/Scripting -Isrc/Core/Materials -Isrc/Core/Entities -Isrc/Core/OXPVerifier -Isrc/Core/Debug -Isrc/Core/Tables -I. -I/usr/local/include -I/root/GNUstep/Library/Headers -I/usr/local/GNUstep/Local/Library/Headers -I/usr/local/GNUstep/System/Library/Headers \
       -o obj.spk.dbg/oolite.obj/OOPlanetData.c.o
cc src/Core/Debug/OODebugMonitor.m -c \
      -MMD -MP -DGNUSTEP -DGNUSTEP_BASE_LIBRARY=1 -DGNU_GUI_LIBRARY=1 -DGNU_RUNTIME=1 -DGNUSTEP_BASE_LIBRARY=1 -fno-strict-aliasing -fexceptions -fobjc-exceptions -D_NATIVE_OBJC_EXCEPTIONS -fPIC -g -DDEBUG -fno-omit-frame-pointer -Wall -DGSWARN -DGSDIAGNOSE -Wno-import -pipe -fno-strict-aliasing -fgnu-runtime -Wall -std=c99 -DLOADSAVEGUI -DLINUX -DXP_UNIX -Wno-import `sdl-config --cflags` `nspr-config --cflags` -DHAVE_LIBESPEAK=1 -DMOZ_TRACE_JSCALLS=1 -g -O0 -DDEBUG -DOO_DEBUG -DOO_OXP_VERIFIER_ENABLED=1 -DOO_LOCALIZATION_TOOLS=1 -DDEBUG_GRAPHVIZ=1 -fconstant-string-class=NSConstantString -Ideps/Cross-platform-deps/mozilla/js/src/build-debug/dist/include -Isrc/SDL -Isrc/Core -Isrc/BSDCompat -Isrc/Core/Scripting -Isrc/Core/Materials -Isrc/Core/Entities -Isrc/Core/OXPVerifier -Isrc/Core/Debug -Isrc/Core/Tables -I. -I/usr/local/include -I/root/GNUstep/Library/Headers -I/usr/local/GNUstep/Local/Library/Headers -I/usr/local/GNUstep/System/Library/Headers \
       -o obj.spk.dbg/oolite.obj/OODebugMonitor.m.o
src/Core/Debug/OODebugMonitor.m: In function '-[OODebugMonitor performJSConsoleCommand:]':
src/Core/Debug/OODebugMonitor.m:202: error: 'JSID_VOID' undeclared (first use in this function)
src/Core/Debug/OODebugMonitor.m:202: error: (Each undeclared identifier is reported only once
src/Core/Debug/OODebugMonitor.m:202: error: for each function it appears in.)
src/Core/Debug/OODebugMonitor.m: In function '-[OODebugMonitor dumpMemoryStatistics]':
src/Core/Debug/OODebugMonitor.m:608: warning: implicit declaration of function 'JS_GetGCParameter'
src/Core/Debug/OODebugMonitor.m:608: error: 'JSGC_BYTES' undeclared (first use in this function)
src/Core/Debug/OODebugMonitor.m:610: error: 'JSGC_NUMBER' undeclared (first use in this function)
src/Core/Debug/OODebugMonitor.m: In function '-[OODebugMonitor(Private) oo:jsValueInContext:]':
src/Core/Debug/OODebugMonitor.m:912: warning: implicit declaration of function 'JS_AddNamedObjectRoot'
gmake[4]: *** [obj.spk.dbg/oolite.obj/OODebugMonitor.m.o] Error 1
gmake[3]: *** [internal-objc_program-all_] Error 2
gmake[2]: *** [oolite.all.objc-program.variables] Error 2
gmake[1]: *** [internal-all] Error 2
gmake[1]: Leaving directory `/root/build/trunk'
gmake: *** [debug] Error 2

Thanks,

_________________
Spooky
www.int13h.com
Evil Genius

The most merciful thing in all the world is the inability of the human mind to correlate all of its contents.


Top
   
PostPosted: Mon Jul 11, 2011 7:49 pm 
Offline
Grand Admiral Emeritus
Grand Admiral Emeritus
User avatar

Joined: Sat Apr 02, 2005 2:43 pm
Posts: 6657
Location: Sweden
I agree with another_commander’s analysis: it’s seeing some JS declarations, but not others, ergo it’s using the wrong jsapi.h.
  • Does deps/Cross-platform-deps/mozilla/js/src/build-debug/dist/include/jsapi.h contain the following (at or about line 464)?
    Code:
    #ifdef JS_USE_JSVAL_JSID_STRUCT_TYPES
    extern JS_PUBLIC_DATA(jsid) JSID_VOID;
    extern JS_PUBLIC_DATA(jsid) JSID_EMPTY;
    #else
    # define JSID_VOID      ((jsid)JSID_TYPE_VOID)
    # define JSID_EMPTY     ((jsid)JSID_TYPE_OBJECT)
    #endif
  • Is there a jsapi.h in any of the other search paths?

_________________
E-mail: jens@oolite.org


Top
   
PostPosted: Mon Jul 11, 2011 8:00 pm 
Offline
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral

Joined: Wed Feb 28, 2007 7:54 am
Posts: 5014
It looks like your build settings are correct: Native Obj-C exceptions are set, JS call tracing is on, JS paths seem to be included correctly. So, I think that what happens is that you have already built a Spidermonkey library with non-debug settings and are trying to build Oolite in debug. JSID_VOID in debug builds is defined in a completely different way compared to the same in release builds of JS. I would recommend attempting a make of Oolite with debug=no. I remember when I built the new JS for Windows the first time I had a similar problem, but in reverse: I was building Oolite with debug=no, but I had a debug version of the JS library and I was getting similar issues. I think make debug=no is worth a try.


Top
   
PostPosted: Mon Jul 11, 2011 8:42 pm 
Offline
Dangerous
Dangerous
User avatar

Joined: Sun Feb 12, 2006 5:05 pm
Posts: 108
Location: Portsmouth, UK
another_commander and Ahruman,
Quote:
I would recommend attempting a make of Oolite with debug=no
I have tried this both ways, on both machines. I have also tried it with release as well as checking out the whole trunk again from scratch. I'm pretty sure this is not the problem.
Quote:
Does deps/Cross-platform-deps/mozilla/js/src/build-debug/dist/include/jsapi.h contain the following (at or about line 464)?
Yes.
Code:
464: #ifdef JS_USE_JSVAL_JSID_STRUCT_TYPES
465: extern JS_PUBLIC_DATA(jsid) JSID_VOID;
466: extern JS_PUBLIC_DATA(jsid) JSID_EMPTY;
467: #else
468: # define JSID_VOID      ((jsid)JSID_TYPE_VOID)
469: # define JSID_EMPTY     ((jsid)JSID_TYPE_OBJECT)
470: #endif
Quote:
Is there a jsapi.h in any of the other search paths?
According to my environment, no.
Code:
erebus# env
WINDOWPATH=9
DISPLAY=:0.0
XAUTHORITY=/root/.Xauthority
FTP_PASSIVE_MODE=YES
LOGNAME=root
PWD=/root/trunk
HOME=/root
BLOCKSIZE=K
PATH=/root/GNUstep/Tools:/usr/local/GNUstep/Local/Tools:/usr/local/GNUstep/System/Tools:/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/root/bin
COLORTERM=Terminal
WINDOWID=29143193
OSTYPE=FreeBSD
MAIL=/var/mail/root
SHLVL=2
TERM=xterm
SHELL=/bin/csh
GROUP=wheel
VENDOR=unknown
USER=root
SESSION_MANAGER=local/erebus:/tmp/.ICE-unix/1727
PAGER=more
MACHTYPE=unknown
EDITOR=vi
HOSTTYPE=FreeBSD
HOST=erebus
REMOTEHOST=
GNUSTEP_SYSTEM_ROOT=/usr/local/GNUstep/System
GNUSTEP_LOCAL_ROOT=/usr/local/GNUstep/Local
GNUSTEP_NETWORK_ROOT=/usr/local/GNUstep/Network
GNUSTEP_MAKEFILES=/usr/local/GNUstep/System/Library/Makefiles
GNUSTEP_FLATTENED=yes
GNUSTEP_IS_FLATTENED=yes
LIBRARY_COMBO=gnu-gnu-gnu
GNUSTEP_USER_ROOT=/root/GNUstep
GNUSTEP_HOST=amd64-portbld-freebsd8.2
GNUSTEP_HOST_CPU=amd64
GNUSTEP_HOST_VENDOR=portbld
GNUSTEP_HOST_OS=freebsd
GNUSTEP_PATHLIST=/usr/local/GNUstep/System:/usr/local/GNUstep/Network:/usr/local/GNUstep/Local:/root/GNUstep
LD_LIBRARY_PATH=/root/GNUstep/Library/Libraries:/usr/local/GNUstep/Local/Library/Libraries:/usr/local/GNUstep/System/Library/Libraries
CLASSPATH=/root/GNUstep/Library/Libraries/Java:/usr/local/GNUstep/Local/Library/Libraries/Java:/usr/local/GNUstep/System/Library/Libraries/Java
GUILE_LOAD_PATH=/root/GNUstep/Library/Libraries/Guile:/usr/local/GNUstep/Local/Library/Libraries/Guile:/usr/local/GNUstep/System/Library/Libraries/Guile
INFOPATH=/usr/local/GNUstep/System/Library/Documentation/info::/usr/local/GNUstep/Local/Library/Documentation/info::/root/GNUstep/Library/Documentation/info:
However,
Code:
erebus# find /usr -name "jsapi.h"
/usr/local/include/jsapi.h
/usr/local/include/firefox/jsapi.h
Code:
erebus# grep -R "/usr/local/include" *  | grep -v moziila
obj.spk/oolite.obj/OODebugMonitor.m.d:  /usr/local/include/SDL/SDL_opengl.h /usr/local/include/SDL/SDL_config.h \
obj.spk/oolite.obj/OODebugMonitor.m.d:  /usr/local/include/SDL/SDL_platform.h /usr/local/include/GL/gl.h \
obj.spk/oolite.obj/OODebugMonitor.m.d:  /usr/local/include/GL/glext.h /usr/local/include/GL/glu.h \
obj.spk/oolite.obj/OODebugMonitor.m.d:  /usr/local/include/jsapi.h /usr/local/include/jspubtd.h \
obj.spk/oolite.obj/OODebugMonitor.m.d:  /usr/local/include/jstypes.h /usr/local/include/jsautocfg.h \
obj.spk/oolite.obj/OODebugMonitor.m.d:  /usr/local/include/jsosdep.h /usr/local/include/jsotypes.h \
obj.spk/oolite.obj/OODebugMonitor.m.d:  /usr/local/include/jscompat.h /usr/local/include/jslong.h \
obj.spk/oolite.obj/OODebugMonitor.m.d:  /usr/local/include/jsproto.tbl /usr/local/include/jsconfig.h \
obj.spk/oolite.obj/OODebugMonitor.m.d:  src/SDL/OOSDLSound.h src/SDL/SDLMusic.h /usr/local/include/SDL/SDL.h \
obj.spk/oolite.obj/OODebugMonitor.m.d:  /usr/local/include/SDL/SDL_main.h /usr/local/include/SDL/SDL_stdinc.h \
obj.spk/oolite.obj/OODebugMonitor.m.d:  /usr/local/include/SDL/begin_code.h /usr/local/include/SDL/close_code.h \
obj.spk/oolite.obj/OODebugMonitor.m.d:  /usr/local/include/SDL/SDL_audio.h /usr/local/include/SDL/SDL_error.h \
obj.spk/oolite.obj/OODebugMonitor.m.d:  /usr/local/include/SDL/SDL_endian.h /usr/local/include/SDL/SDL_mutex.h \
obj.spk/oolite.obj/OODebugMonitor.m.d:  /usr/local/include/SDL/SDL_thread.h /usr/local/include/SDL/SDL_rwops.h \
obj.spk/oolite.obj/OODebugMonitor.m.d:  /usr/local/include/SDL/SDL_cdrom.h /usr/local/include/SDL/SDL_cpuinfo.h \
obj.spk/oolite.obj/OODebugMonitor.m.d:  /usr/local/include/SDL/SDL_events.h /usr/local/include/SDL/SDL_active.h \
obj.spk/oolite.obj/OODebugMonitor.m.d:  /usr/local/include/SDL/SDL_keyboard.h \
obj.spk/oolite.obj/OODebugMonitor.m.d:  /usr/local/include/SDL/SDL_keysym.h /usr/local/include/SDL/SDL_mouse.h \
obj.spk/oolite.obj/OODebugMonitor.m.d:  /usr/local/include/SDL/SDL_video.h \
obj.spk/oolite.obj/OODebugMonitor.m.d:  /usr/local/include/SDL/SDL_joystick.h /usr/local/include/SDL/SDL_quit.h \
obj.spk/oolite.obj/OODebugMonitor.m.d:  /usr/local/include/SDL/SDL_loadso.h /usr/local/include/SDL/SDL_timer.h \
obj.spk/oolite.obj/OODebugMonitor.m.d:  /usr/local/include/SDL/SDL_version.h /usr/local/include/SDL/SDL_mixer.h \
obj.spk/oolite.obj/OODebugMonitor.m.d:  /usr/local/include/SDL/SDL_types.h \
obj.spk/oolite.obj/OODebugMonitor.m.d:  src/Core/Scripting/OOJSPropID.h /usr/local/include/espeak/speak_lib.h \
obj.spk/oolite.obj/OODebugMonitor.m.d:/usr/local/include/SDL/SDL_opengl.h:
obj.spk/oolite.obj/OODebugMonitor.m.d:/usr/local/include/SDL/SDL_config.h:
obj.spk/oolite.obj/OODebugMonitor.m.d:/usr/local/include/SDL/SDL_platform.h:
obj.spk/oolite.obj/OODebugMonitor.m.d:/usr/local/include/GL/gl.h:
obj.spk/oolite.obj/OODebugMonitor.m.d:/usr/local/include/GL/glext.h:
obj.spk/oolite.obj/OODebugMonitor.m.d:/usr/local/include/GL/glu.h:
obj.spk/oolite.obj/OODebugMonitor.m.d:/usr/local/include/jsapi.h:
obj.spk/oolite.obj/OODebugMonitor.m.d:/usr/local/include/jspubtd.h:
obj.spk/oolite.obj/OODebugMonitor.m.d:/usr/local/include/jstypes.h:
obj.spk/oolite.obj/OODebugMonitor.m.d:/usr/local/include/jsautocfg.h:
obj.spk/oolite.obj/OODebugMonitor.m.d:/usr/local/include/jsosdep.h:
obj.spk/oolite.obj/OODebugMonitor.m.d:/usr/local/include/jsotypes.h:
obj.spk/oolite.obj/OODebugMonitor.m.d:/usr/local/include/jscompat.h:
obj.spk/oolite.obj/OODebugMonitor.m.d:/usr/local/include/jslong.h:
obj.spk/oolite.obj/OODebugMonitor.m.d:/usr/local/include/jsproto.tbl:
obj.spk/oolite.obj/OODebugMonitor.m.d:/usr/local/include/jsconfig.h:
obj.spk/oolite.obj/OODebugMonitor.m.d:/usr/local/include/SDL/SDL.h:
obj.spk/oolite.obj/OODebugMonitor.m.d:/usr/local/include/SDL/SDL_main.h:
obj.spk/oolite.obj/OODebugMonitor.m.d:/usr/local/include/SDL/SDL_stdinc.h:
obj.spk/oolite.obj/OODebugMonitor.m.d:/usr/local/include/SDL/begin_code.h:
obj.spk/oolite.obj/OODebugMonitor.m.d:/usr/local/include/SDL/close_code.h:
obj.spk/oolite.obj/OODebugMonitor.m.d:/usr/local/include/SDL/SDL_audio.h:
obj.spk/oolite.obj/OODebugMonitor.m.d:/usr/local/include/SDL/SDL_error.h:
obj.spk/oolite.obj/OODebugMonitor.m.d:/usr/local/include/SDL/SDL_endian.h:
obj.spk/oolite.obj/OODebugMonitor.m.d:/usr/local/include/SDL/SDL_mutex.h:
obj.spk/oolite.obj/OODebugMonitor.m.d:/usr/local/include/SDL/SDL_thread.h:
obj.spk/oolite.obj/OODebugMonitor.m.d:/usr/local/include/SDL/SDL_rwops.h:
obj.spk/oolite.obj/OODebugMonitor.m.d:/usr/local/include/SDL/SDL_cdrom.h:
obj.spk/oolite.obj/OODebugMonitor.m.d:/usr/local/include/SDL/SDL_cpuinfo.h:
obj.spk/oolite.obj/OODebugMonitor.m.d:/usr/local/include/SDL/SDL_events.h:
obj.spk/oolite.obj/OODebugMonitor.m.d:/usr/local/include/SDL/SDL_active.h:
obj.spk/oolite.obj/OODebugMonitor.m.d:/usr/local/include/SDL/SDL_keyboard.h:
obj.spk/oolite.obj/OODebugMonitor.m.d:/usr/local/include/SDL/SDL_keysym.h:
obj.spk/oolite.obj/OODebugMonitor.m.d:/usr/local/include/SDL/SDL_mouse.h:
obj.spk/oolite.obj/OODebugMonitor.m.d:/usr/local/include/SDL/SDL_video.h:
obj.spk/oolite.obj/OODebugMonitor.m.d:/usr/local/include/SDL/SDL_joystick.h:
obj.spk/oolite.obj/OODebugMonitor.m.d:/usr/local/include/SDL/SDL_quit.h:
obj.spk/oolite.obj/OODebugMonitor.m.d:/usr/local/include/SDL/SDL_loadso.h:
obj.spk/oolite.obj/OODebugMonitor.m.d:/usr/local/include/SDL/SDL_timer.h:
obj.spk/oolite.obj/OODebugMonitor.m.d:/usr/local/include/SDL/SDL_version.h:
obj.spk/oolite.obj/OODebugMonitor.m.d:/usr/local/include/SDL/SDL_mixer.h:
obj.spk/oolite.obj/OODebugMonitor.m.d:/usr/local/include/SDL/SDL_types.h:
obj.spk/oolite.obj/OODebugMonitor.m.d:/usr/local/include/espeak/speak_lib.h:
These would seem to indicate that despite not being in my environment, these headers are being used.

obj.spk/oolite.obj/OODebugMonitor.m.d:/usr/local/include/jsapi.h:
obj.spk/oolite.obj/OODebugMonitor.m.d:/usr/local/include/jspubtd.h:
obj.spk/oolite.obj/OODebugMonitor.m.d:/usr/local/include/jstypes.h:
obj.spk/oolite.obj/OODebugMonitor.m.d:/usr/local/include/jsautocfg.h:
obj.spk/oolite.obj/OODebugMonitor.m.d:/usr/local/include/jsosdep.h:
obj.spk/oolite.obj/OODebugMonitor.m.d:/usr/local/include/jsotypes.h:
obj.spk/oolite.obj/OODebugMonitor.m.d:/usr/local/include/jscompat.h:
obj.spk/oolite.obj/OODebugMonitor.m.d:/usr/local/include/jslong.h:
obj.spk/oolite.obj/OODebugMonitor.m.d:/usr/local/include/jsproto.tbl:
obj.spk/oolite.obj/OODebugMonitor.m.d:/usr/local/include/jsconfig.h:


If I temporarily move all js*.h out of /usr/local/include the build continues. I'll set it compiling and report back after the linking.

Thanks to both of you for your help,

_________________
Spooky
www.int13h.com
Evil Genius

The most merciful thing in all the world is the inability of the human mind to correlate all of its contents.


Top
   
PostPosted: Mon Jul 11, 2011 8:54 pm 
Offline
Dangerous
Dangerous
User avatar

Joined: Sun Feb 12, 2006 5:05 pm
Posts: 108
Location: Portsmouth, UK
Yes! We have success. Splendid work chaps, thanks for your help. Despite not being in my environment gcc is using the the system spiermonkey headers instead of the bundled static ones.

Time to investigate where these are coming from.

Thanks again,

_________________
Spooky
www.int13h.com
Evil Genius

The most merciful thing in all the world is the inability of the human mind to correlate all of its contents.


Top
   
PostPosted: Mon Jul 11, 2011 9:00 pm 
Offline
Grand Admiral Emeritus
Grand Admiral Emeritus
User avatar

Joined: Sat Apr 02, 2005 2:43 pm
Posts: 6657
Location: Sweden
It’s quite likely that a SpiderMonkey package was brought in as a dependency of FireFox (or some other Mozilla app) at some point. Historically, SpiderMonkey/libmozjs has been a relatively stable package. This is no longer the case; the API is changing rapidly and Mozilla’s started a new high version churn release policy, so having an unversioned libmozjs as a system package is no longer appropriate, but it’ll probably take a while for distros to catch up to the new reality.

_________________
E-mail: jens@oolite.org


Top
   
PostPosted: Mon Jul 11, 2011 9:28 pm 
Offline
Dangerous
Dangerous
User avatar

Joined: Sun Feb 12, 2006 5:05 pm
Posts: 108
Location: Portsmouth, UK
Ahruman,

Indeed and I don't disagree, however in this instance the problem looks like it's being caused by Oolite's GNUmakefile. Particularly the order in which GCC is parsing the compiler environment flags, it seems that the specified LIBJS flags are being overwritten by nspr.

I have tweaked the following lines in the GNUmakefile and it's sorts the issue.
Code:
ADDITIONAL_INCLUDE_DIRS      = -I$(LIBJS_INC_DIR) -Isrc/SDL -Isrc/Core -Isrc/BSDCompat -Isrc/Core/Scripting -Isrc/Core/Materials -Isrc/Core/Entities -Isrc/Core/OXPVerifier -Isrc/Core/Debug -Isrc/Core/Tables
ADDITIONAL_OBJC_LIBS         = -l$(LIBJS) -lGLU -lGL -lX11 -lSDL -lSDL_mixer -lgnustep-base `nspr-config --libs` -lstdc++
ADDITIONAL_CFLAGS            = -I$(LIBJS_INC_DIR) -Wall -DLINUX -DNEED_STRLCPY `sdl-config --cflags` `nspr-config --cflags` 
ADDITIONAL_OBJCFLAGS         = -I$(LIBJS_INC_DIR) -Wall -std=c99 -DLOADSAVEGUI -DLINUX -DXP_UNIX -Wno-import `sdl-config --cflags` `nspr-config --cflags`
This should be the correct order for library preference across the board think so it might be worth testing this on Linux and OS/X?

Thanks.

_________________
Spooky
www.int13h.com
Evil Genius

The most merciful thing in all the world is the inability of the human mind to correlate all of its contents.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 10 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
cron
Powered by phpBB® Forum Software © phpBB Limited