Hi,
Has anyone recently successfully compiled MediaTomb on OSX 10.4 against lib-js 1.60?
I'm trying to build MediaTomb on OS X (X86) but the configure script does not seem to like my spidermonkey header files. I have compiled libjs 1.6 (from http://ftp.mozilla.org/pub/mozilla.org/js/js-1.60.tar.gz\) and I'm running the MediaTob configure script as follows:
configure: Will search for js (spidermonkey) headers in /Users/joshea/js/src
checking /Users/joshea/js/src/jsapi.h usability... no
checking /Users/joshea/js/src/jsapi.h presence... no
checking for /Users/joshea/js/src/jsapi.h... no
configure: error: jsapi.h not found in requested location /Users/joshea/js/src
A look at the config.log reveals the following:
...
configure:18728: g++ -c -g -O2 -DXP_MAC -DXP_MAC conftest.cpp >&5
In file included from /Users/joshea/js/src/jspubtd.h:45,
from /Users/joshea/js/src/jsapi.h:47,
from conftest.cpp:143:
/Users/joshea/js/src/jstypes.h:234:6: error: #error "Must define one of XP_BEOS, XP_OS2, XP_WIN or XP_UNIX"
/Users/joshea/js/src/jstypes.h:250:2: error: #error No suitable type for JSInt8/JSUint8
/Users/joshea/js/src/jstypes.h:263:2: error: #error No suitable type for JSInt16/JSUint16
/Users/joshea/js/src/jstypes.h:283:2: error: #error No suitable type for JSInt32/JSUint32
/Users/joshea/js/src/jstypes.h:334:2: error: #error 'sizeof(int)' not sufficient for platform use
Note I also installed the DarwinPorts version of spidermonkey1.6 (http://spidermonkey.darwinports.com/) and compiling against that but I hit the exact same problem.
As a newb to compiling on OS X I'm not sure what the best approach is to get this to work. I'm presuming there are other parts of the configure/make scripts that rely (heavily) on XP_MAC being set?
Has anyone else worked around this? Or should I switch to an older version of libjs, one that predates the removal of XP_MAC? The install docs doesn't specify the version you guys play with...
John.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
ok, thats's interesting. Thanks for pointing that out! I will adjust the configure script; I guess so far noone tried to compile vs. js 1.60 on OSX yet...
I need to see how to handle that properly in configure, need to be able to provide support
for newer and older js versions. try running configure with ./configure CFLAGS="-DXP_UNIX" CXXFLAGS="-DXP_UNIX"
does it help?
Jin
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
...
configure: Will search for js (spidermonkey) headers in /opt/local/include
checking /opt/local/include/jsapi.h usability... yes
checking /opt/local/include/jsapi.h presence... no
configure: WARNING: /opt/local/include/jsapi.h: accepted by the compiler, rejected by the preprocessor!
configure: WARNING: /opt/local/include/jsapi.h: proceeding with the compiler's result
checking for /opt/local/include/jsapi.h... yes
...
CONFIGURATION SUMMARY ----
Subsequent 'make' and 'make install' also complete, the server starts up and I am adding music folders to its database as I type. I'm curious, how can I verify it is using libjs successfully at runtime? The only reason I ask is the doc states that libjs is optional. Presumably the ajax web frontend would be unusable without it?
Now, to see if my Nokia N800(1)'s UPnP client softwares (2)(3) can stream the media!
Hi,
Has anyone recently successfully compiled MediaTomb on OSX 10.4 against lib-js 1.60?
I'm trying to build MediaTomb on OS X (X86) but the configure script does not seem to like my spidermonkey header files. I have compiled libjs 1.6 (from http://ftp.mozilla.org/pub/mozilla.org/js/js-1.60.tar.gz\) and I'm running the MediaTob configure script as follows:
./configure --with-js-h=/Users/joshea/js/src --with-js-lib=/Users/joshea/js/src/Darwin_DBG.OBJ
It fails with the following error:
configure: Will search for js (spidermonkey) headers in /Users/joshea/js/src
checking /Users/joshea/js/src/jsapi.h usability... no
checking /Users/joshea/js/src/jsapi.h presence... no
checking for /Users/joshea/js/src/jsapi.h... no
configure: error: jsapi.h not found in requested location /Users/joshea/js/src
A look at the config.log reveals the following:
...
configure:18728: g++ -c -g -O2 -DXP_MAC -DXP_MAC conftest.cpp >&5
In file included from /Users/joshea/js/src/jspubtd.h:45,
from /Users/joshea/js/src/jsapi.h:47,
from conftest.cpp:143:
/Users/joshea/js/src/jstypes.h:234:6: error: #error "Must define one of XP_BEOS, XP_OS2, XP_WIN or XP_UNIX"
/Users/joshea/js/src/jstypes.h:250:2: error: #error No suitable type for JSInt8/JSUint8
/Users/joshea/js/src/jstypes.h:263:2: error: #error No suitable type for JSInt16/JSUint16
/Users/joshea/js/src/jstypes.h:283:2: error: #error No suitable type for JSInt32/JSUint32
/Users/joshea/js/src/jstypes.h:334:2: error: #error 'sizeof(int)' not sufficient for platform use
Note that the jspubtd.h file in js 1.6 does not use XP_MAC. It appears to be expecting XP_UNIX instead as Spidermonkey removed XP_MAC references some time ago (see v3.33 at http://bonsai.mozilla.org/cvslog.cgi?file=mozilla/js/src/jstypes.h&rev=HEAD&mark=3.41\) in a bid to clean up their headers.
Note I also installed the DarwinPorts version of spidermonkey1.6 (http://spidermonkey.darwinports.com/) and compiling against that but I hit the exact same problem.
As a newb to compiling on OS X I'm not sure what the best approach is to get this to work. I'm presuming there are other parts of the configure/make scripts that rely (heavily) on XP_MAC being set?
Has anyone else worked around this? Or should I switch to an older version of libjs, one that predates the removal of XP_MAC? The install docs doesn't specify the version you guys play with...
John.
Hi,
ok, thats's interesting. Thanks for pointing that out! I will adjust the configure script; I guess so far noone tried to compile vs. js 1.60 on OSX yet...
I need to see how to handle that properly in configure, need to be able to provide support
for newer and older js versions. try running configure with ./configure CFLAGS="-DXP_UNIX" CXXFLAGS="-DXP_UNIX"
does it help?
Jin
Jin,
Thanks for the suggestion - that appears to have worked with the DarwinPorts spidermonkey libs/headers though with a warning during configure!
John-OSheas-Mac-Mini:~/mediatomb-0.9.1 joshea$ ./configure --with-js-h=/opt/local/include --with-js-lib=/opt/local/lib CFLAGS="-DXP_UNIX" CXXFLAGS="-DXP_UNIX"
...
configure: Will search for js (spidermonkey) headers in /opt/local/include
checking /opt/local/include/jsapi.h usability... yes
checking /opt/local/include/jsapi.h presence... no
configure: WARNING: /opt/local/include/jsapi.h: accepted by the compiler, rejected by the preprocessor!
configure: WARNING: /opt/local/include/jsapi.h: proceeding with the compiler's result
checking for /opt/local/include/jsapi.h... yes
...
CONFIGURATION SUMMARY ----
sqlite3 : yes
mysql : missing
libjs : yes
libmagic : yes
libexif : yes
id3lib : yes
taglib : disabled
libextractor : disabled
Subsequent 'make' and 'make install' also complete, the server starts up and I am adding music folders to its database as I type. I'm curious, how can I verify it is using libjs successfully at runtime? The only reason I ask is the doc states that libjs is optional. Presumably the ajax web frontend would be unusable without it?
Now, to see if my Nokia N800(1)'s UPnP client softwares (2)(3) can stream the media!
Thanks,
John.
(1)http://en.wikipedia.org/wiki/Nokia_N800
(2)http://openbossa.indt.org/canola/
(3)http://maemo.org/downloads/product/mediastreamer-itos2007/
Hi,
thinks may get a lot easier on OS X now, MediaTomb is finally available via Fink:
http://pdb.finkproject.org/pdb/package.php/mediatomb
Please let us know if it works, thanks!
Jin