Page 1 of 1

libjs.a: No such file or directory

Posted: Wed Dec 31, 2008 10:16 am
by Getafix
The trunk revision 1857 till now (1941) fails to build with the following error:

Code: Select all

 Linking objc_program oolite ...
gcc: deps/Cross-platform-deps/SpiderMonkey/js/src/Linux_All_OPT.OBJ/libjs.a: No such file or directory
make[1]: *** [obj/oolite] Error 1
make: *** [oolite.all.objc-program.variables] Error 2
The actual path for me is Linux_All_DBG.OBJ and consequently it fails to build.
I believe this is true for all users with gnustep-make version >= 2.0.0 where debug flag is by default true.

For the moment I have renamed my path
trunk/deps/Cross-platform-deps/SpiderMonkey/js/src/Linux_All_DBG.OBJ
to
trunk/deps/Cross-platform-deps/SpiderMonkey/js/src/Linux_All_OPT.OBJ
and it links successfully.

(EDIT 08/Jan/2009)
The file <Makefile> appeared in revision 1857 that has this path hard coded.
A first attempt to alter this, did not solve the issue.
If this is not to be changed, please inform me, in order to update the Ubuntu development environment setup instructions.

Posted: Thu Feb 19, 2009 4:26 pm
by Thargoid
Just had exactly this problem. Brand new download of both the dev and Ubuntu itself.

The rename trick seems to have solved it though :) And this machine with Ubuntu even has shaders :D

Re: libjs.a: No such file or directory

Posted: Mon Feb 23, 2009 10:39 am
by JensAyton
Getafix wrote:
(EDIT 08/Jan/2009)
The file <Makefile> appeared in revision 1857 that has this path hard coded.
A first attempt to alter this, did not solve the issue.
If this is not to be changed, please inform me, in order to update the Ubuntu development environment setup instructions.
This change was made by mwerle. I’m not sure who that is in forumspace. Help?

Posted: Mon Feb 23, 2009 10:40 am
by another_commander
Micha.

Posted: Fri Feb 27, 2009 2:20 pm
by Micha
Hey guys,

Sorry I haven't been around much lately - hopefully my situation will be resolved soonish and I can get back into Oolite :)

Using the 'Makefile' you can build debug or release versions of the executable - and under Linux it will build the relevant version of libjs as well. So it's a lot more convenient to build the sources.


From a brand-new checkout, it 'should' simply be a case of:

make -f Makefile pkg-deb => build a release exe packaged up as a Debian/Ubuntu package.

Other targets:
make -f Makefile help => list of targets
make -f Makefile release => build a release exe (using a release-build of libjs)
make -f Makefile debug => build a debug exe (using a debug-build of libjs)


If somebody could please confirm that this still works? Much appreciated..

Otherwise, to build the optimised version of libjs manually, which will create the Linux_All_OPT.OBJ directory:

make -f Makefile.ref BUILD_OPT=1

Cheers,
- Micha.