The Ur-Quan Masters Home Page Welcome, Guest. Please login or register.
Did you miss your activation email?
December 10, 2024, 10:11:00 pm
Home Help Search Login Register
News: Celebrating 30 years of Star Control 2 - The Ur-Quan Masters

+  The Ur-Quan Masters Discussion Forum
|-+  The Ur-Quan Masters Re-Release
| |-+  Technical Issues (Moderator: Death 999)
| | |-+  Can't compile on Linux.
« previous next »
Pages: [1] Print
Author Topic: Can't compile on Linux.  (Read 3475 times)
GekkoGeck0
Zebranky food
*
Offline Offline

Gender: Female
Posts: 11



View Profile
Can't compile on Linux.
« on: March 20, 2006, 02:48:32 am »

I'm running on a Mandrake 9.2 system and tried compiling UQM from scratch. I successfully compiled version 0.4.0 before, but 0.5.0 is just stumping me. (I don't have lots of experience with Linux)

First, this doesn't make sense:

Put these .uqm files in the directory content/packages/ which exists
in the top directory of the source tree (the dir with (among others)
COPYING, src/, and build.var.in).

It doesn't exist in my archive or the extracted directories, no matter what unixinstall says. So I was sort of stumped there, but proceeded anyway, since I figured it'd compile over 0.4.0 and just use the voice/content packages I already have there.

Originally, I extracted the archive onto my Windows partition, because my Linux partition is rather full at the moment and I didn't want to run into space problems. I tried running './build.sh uqm' and got this error: ./build.sh: line 23: build/unix/build_functions: No such file or directory

So I redirected . build/unix/build_functions (as it was written in the shell script) to the actual location of the file. From that point, I got this:

./build.sh: line 37: ./Makeproject: No such file or directory

I searched for this file. It does not exist anywhere in the archive or in the extracted directories.

So I tried moving it over to my Linux partition, to see if that was the problem. As soon as I did, I got "Permission denied." whenever I would try to execute any of the shell scripts, as my original user or as root. chmod a+x allows me to run build.sh, but it halts with this:

./build.sh: line 23: /home/gecko/uqm-0.5.0/build/unix/build_functions: Permission denied

Do I have to chmod a+x every single file? Would that matter, since Makeproject doesn't even exist? Where am I going wrong here?
« Last Edit: March 20, 2006, 02:50:31 am by GekkoGeck0 » Logged
meep-eep
Forum Admin
Enlightened
*****
Offline Offline

Posts: 2847



View Profile
Re: Can't compile on Linux.
« Reply #1 on: March 20, 2006, 03:09:55 am »

Where did you get this source? Is it some modified source from Mandrake? Try the one on our downloads page.
The permission denied problems come from you running the build program from your Windows partition, which where there are no flags to mark a file as executable. Just unpack a fresh copy directly to a dir on your Linux partition.
Logged

“When Juffo-Wup is complete
when at last there is no Void, no Non
when the Creators return
then we can finally rest.”
GekkoGeck0
Zebranky food
*
Offline Offline

Gender: Female
Posts: 11



View Profile
Re: Can't compile on Linux.
« Reply #2 on: March 20, 2006, 03:29:52 am »

Where did you get this source? Is it some modified source from Mandrake? Try the one on our downloads page.

No, this is the link I used, right off of your download page. I downloaded it three times to check, from three different mirrors.

Quote
The permission denied problems come from you running the build program from your Windows partition, which where there are no flags to mark a file as executable. Just unpack a fresh copy directly to a dir on your Linux partition.

No, this happened when I deleted the copy on the Windows partition and extracted a fresh copy onto the Linux partition and tried to run it. On the Windows partition, it ran fine (fine as in didn't just spit "permission denied" right back at me).
« Last Edit: March 20, 2006, 03:33:08 am by GekkoGeck0 » Logged
Novus
Enlightened
*****
Offline Offline

Gender: Male
Posts: 1938


Fot or not?


View Profile
Re: Can't compile on Linux.
« Reply #3 on: March 20, 2006, 10:33:20 am »

Put these .uqm files in the directory content/packages/ which exists
in the top directory of the source tree (the dir with (among others)
COPYING, src/, and build.var.in).

It doesn't exist in my archive or the extracted directories, no matter what unixinstall says. So I was sort of stumped there, but proceeded anyway, since I figured it'd compile over 0.4.0 and just use the voice/content packages I already have there.
content exists, content/packages doesn't, so you'll have to create it. I'm not sure whether the docs or the source achive is wrong.

Quote
So I tried moving it over to my Linux partition, to see if that was the problem. As soon as I did, I got "Permission denied." whenever I would try to execute any of the shell scripts, as my original user or as root. chmod a+x allows me to run build.sh, but it halts with this:

./build.sh: line 23: /home/gecko/uqm-0.5.0/build/unix/build_functions: Permission denied

Do I have to chmod a+x every single file? Would that matter, since Makeproject doesn't even exist? Where am I going wrong here?
You're running build/unix/build.sh instead of build.sh, aren't you? build.sh has execute permissions and calls build/unix/build.sh as an argument to sh, so it doesn't have to be executable. Run ./build.sh uqm in the main UQM directory, not in build/unix.
Logged

RTFM = Read the fine manual.
RTTFAQ = Read the Ur-Quan Masters Technical FAQ.
GekkoGeck0
Zebranky food
*
Offline Offline

Gender: Female
Posts: 11



View Profile
Re: Can't compile on Linux.
« Reply #4 on: March 20, 2006, 09:36:19 pm »

content exists, content/packages doesn't, so you'll have to create it. I'm not sure whether the docs or the source achive is wrong.

Alright, I'm starting to think that I got a bad copy, because /content does not exist anywhere in the archive I have, period.

Quote
You're running build/unix/build.sh instead of build.sh, aren't you? build.sh has execute permissions and calls build/unix/build.sh as an argument to sh, so it doesn't have to be executable. Run ./build.sh uqm in the main UQM directory, not in build/unix.

Indeed I am, because build.sh does not exist in the main UQM directory, in my copy of the archive.

I am going to try to download it again today, check all the different mirrors, see if I can get a real copy this time.
Logged
meep-eep
Forum Admin
Enlightened
*****
Offline Offline

Posts: 2847



View Profile
Re: Can't compile on Linux.
« Reply #5 on: March 21, 2006, 12:02:57 am »

Well, you can compare the checksum to see whether you have a good file. But I really doubt the .tar.gz file is at fault.
Could it be that you ran out of disk space when you extracted it?
Logged

“When Juffo-Wup is complete
when at last there is no Void, no Non
when the Creators return
then we can finally rest.”
Novus
Enlightened
*****
Offline Offline

Gender: Male
Posts: 1938


Fot or not?


View Profile
Re: Can't compile on Linux.
« Reply #6 on: March 21, 2006, 10:52:36 am »

The last files in the tar archive are the content directory and the files in the main source directory; the exact files that you claim are missing. Either tar failed halfway in unpacking (out of disk space, like meep-eep suggested) or the download was cut off. Either way, you should have received an error message from tar or gzip (unless you are using some badly written wrapper around them).
Logged

RTFM = Read the fine manual.
RTTFAQ = Read the Ur-Quan Masters Technical FAQ.
GekkoGeck0
Zebranky food
*
Offline Offline

Gender: Female
Posts: 11



View Profile
Re: Can't compile on Linux.
« Reply #7 on: March 22, 2006, 03:36:03 am »

The last files in the tar archive are the content directory and the files in the main source directory; the exact files that you claim are missing. Either tar failed halfway in unpacking (out of disk space, like meep-eep suggested) or the download was cut off. Either way, you should have received an error message from tar or gzip (unless you are using some badly written wrapper around them).

It is possible that the file was corrupted and that I did not get an error message. I don't think Ark gives an error message (I'm using KDE).

I still find it odd because I did have enough free disk space on my /home partition, and I had re-downloaded the archive 3 times just to make sure it was good. All three copies were screwed up.

I finally got a good copy, and realizing that I needed a new version of SDL just to run it and that I was about to wander into dependency hell trying to resolve that, I installed Mandriva 2006 yesterday. I was on Mandrake 9.2 prior to this.

So far so good, except now I'm getting these errors:

src/sc2code/sis.c:975: warning: pointer targets in passing argument 1 of ‘sprintf’ differ in signedness
src/sc2code/sis.c:1011: warning: pointer targets in passing argument 1 of ‘sprintf’ differ in signedness

There's lots of those.

This was in the beginning of the process:

/usr/include/SDL/SDL_opengl.h:45:58: error: GL/glu.h: No such file or directory

And this is where it aborted:

  CC       obj/release/src/sc2code/libs/graphics/sdl/3do_funcs.c.o
gcc: : No such file or directory
gcc: no input files
make: *** [obj/release/src/sc2code/libs/graphics/sdl/3do_funcs.c.o] Error 1

This is very much over my head. I just installed SDL, SDL_image, libogg and libvorbis, fresh from the developers, so I'm not sure what's up here. Maybe something funky with Mandriva?
Logged
Novus
Enlightened
*****
Offline Offline

Gender: Male
Posts: 1938


Fot or not?


View Profile
Re: Can't compile on Linux.
« Reply #8 on: March 22, 2006, 08:46:22 am »

It is possible that the file was corrupted and that I did not get an error message. I don't think Ark gives an error message (I'm using KDE).

I still find it odd because I did have enough free disk space on my /home partition, and I had re-downloaded the archive 3 times just to make sure it was good. All three copies were screwed up.
If you're redownloading from the same source, your browser/proxy/local SourceForge mirror/whatever may give you the same messed-up copy again.

Quote
I finally got a good copy, and realizing that I needed a new version of SDL just to run it and that I was about to wander into dependency hell trying to resolve that, I installed Mandriva 2006 yesterday. I was on Mandrake 9.2 prior to this.

So far so good, except now I'm getting these errors:

src/sc2code/sis.c:975: warning: pointer targets in passing argument 1 of ‘sprintf’ differ in signedness
src/sc2code/sis.c:1011: warning: pointer targets in passing argument 1 of ‘sprintf’ differ in signedness

There's lots of those.
That's not an error; that's a warning. You can ignore those.

Quote
This was in the beginning of the process:

/usr/include/SDL/SDL_opengl.h:45:58: error: GL/glu.h: No such file or directory
You're missing the OpenGL header files. They should be in a development package for OpenGL in your distro.

Quote
And this is where it aborted:

  CC       obj/release/src/sc2code/libs/graphics/sdl/3do_funcs.c.o
gcc: : No such file or directory
gcc: no input files
make: *** [obj/release/src/sc2code/libs/graphics/sdl/3do_funcs.c.o] Error 1
That's the dependence checking system acting up again and generating an empty dependency list for an object file. It does that if it can't parse a source file properly. This typically happens when you're missing a header file, such as the OpenGL headers mentioned above.

All you have to do is install the OpenGL development package from your Mandrake installation source and restart the build process from scratch (./build.sh uqm clean; ./build.sh uqm).
Logged

RTFM = Read the fine manual.
RTTFAQ = Read the Ur-Quan Masters Technical FAQ.
meep-eep
Forum Admin
Enlightened
*****
Offline Offline

Posts: 2847



View Profile
Re: Can't compile on Linux.
« Reply #9 on: March 22, 2006, 05:11:04 pm »

Note that you don't *need* OpenGL. You can unselect it in the build config.
Logged

“When Juffo-Wup is complete
when at last there is no Void, no Non
when the Creators return
then we can finally rest.”
GekkoGeck0
Zebranky food
*
Offline Offline

Gender: Female
Posts: 11



View Profile
Re: Can't compile on Linux.
« Reply #10 on: March 22, 2006, 10:29:55 pm »

I installed the OpenGL libraries and everything compiled.

Thanks, guys! I really appreciate it.

Only, there's a small problem. When I try to start the program, it appears to start alright, but immediately stops, with this output:

Set the resolution to: 640x480x32
Screen scalers are using SSE/MMX-Ext/MMX code
*** glibc detected *** malloc(): memory corruption (fast): 0x083db9b8 ***
Aborted

 Cry
« Last Edit: March 22, 2006, 10:47:51 pm by GekkoGeck0 » Logged
meep-eep
Forum Admin
Enlightened
*****
Offline Offline

Posts: 2847



View Profile
Re: Can't compile on Linux.
« Reply #11 on: March 23, 2006, 12:42:41 am »

Hmm... is this a 64 bits system by any chance?
Logged

“When Juffo-Wup is complete
when at last there is no Void, no Non
when the Creators return
then we can finally rest.”
GekkoGeck0
Zebranky food
*
Offline Offline

Gender: Female
Posts: 11



View Profile
Re: Can't compile on Linux.
« Reply #12 on: March 23, 2006, 02:11:29 am »

Hmm... is this a 64 bits system by any chance?

No.

System is an AMD Duron 1.1GHz
256MB RAM
NVidia GeForce 2 MMX
Kernel version is 2.6.12-12mdk
Logged
Pages: [1] Print 
« previous next »
Jump to:  


Login with username, password and session length

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Valid XHTML 1.0! Valid CSS!