Originally posted by golden_boy
View Post
Announcement
Collapse
No announcement yet.
Linux Compile Help
Collapse
X
-
Quakeone.com - Being exactly one-half good and one-half evil has advantages. When a portal opens to the antimatter universe, my opposite is just me with a goatee.
So while you guys all have to fight your anti-matter counterparts, me and my evil twin will be drinking a beer laughing at you guys ...
-
Originally posted by Canadian*Sniper View PostYou never asked >.> I blame myself for not remembering that svgalib is crap.
Seriously!
But my commandline experience with it helps some, but I'm only familiar with things to the extent that one would be using SSH or telnet on Linux on a remote web site server.
However, I have found the information in your various linux threads very helpful and I've read everything that GoldenBoy, Spirit and Mithril have posted.
I'm getting close to getting on this. I have a short list of bugs in the Windows version I want to eliminate before I shift to this, but that list is getting very thin.Quakeone.com - Being exactly one-half good and one-half evil has advantages. When a portal opens to the antimatter universe, my opposite is just me with a goatee.
So while you guys all have to fight your anti-matter counterparts, me and my evil twin will be drinking a beer laughing at you guys ...
Comment
-
Originally posted by Canadian*Sniper View PostWhere are you finding all this free time?Quakeone.com - Being exactly one-half good and one-half evil has advantages. When a portal opens to the antimatter universe, my opposite is just me with a goatee.
So while you guys all have to fight your anti-matter counterparts, me and my evil twin will be drinking a beer laughing at you guys ...
Comment
-
If you want, you could give one of us a login on your linux machine and we could set up the makefiles to compile the right thing. Messing around with gcc/makefiles if you're new to linux can be very frustrating. I've configured the proquake makefile plenty of times now...I could even just send you the makefile I have for 3.50 and ideally you would just need to run "make" in that directory.
But yeah sorry I should have mentioned not to use svgalib too....I assumed you knew what you were doing there"If we fight for money I'll stop hitting you when you ask me to. If we fight for honor, I'll stop hitting you when I feel like it." - Rickson Gracie
Comment
-
I wasn't being very exact there, let me refine some of it.
"make" is the command that runs the compiling process.
You can either run it by hand, like "make -c -o blah.c" which will produce blah.o, or somewhat automate it.
It's normally "automated" via a Makefile, which is located in the top level source directory, or there may be several Makefiles in bigger projects. The top-level one is normally the chief Makefile.
Makefiles contain the exact commands that are fed to make, as well as targets (quake.x11, clean, etc) and lists of objects. The latter contain all the .c files that need to be compiled for the given target. Makefiles also contain info about build directories, compiler (gcc) and linker (ld) options and so forth.
gcc is the C compiler, which is in turn being run by make when it goes through the Makefile and compiles all the stuff on the list. At the end, make calls the linker to put it all together into a newly created executable.
make is run from the same directory that contains the top-level Makefile.
You can directly pass it targets, like "make quake.x11". You make all targets by running "make all" (^^).
Make (or more exactly, the compiler) will produce detailed error messages and warnings. These will contain the file, line number and function or variable where the error occurred.
All those programs are well-documented; they have detailed manpages.
man make
man gcc
The make program even autodetects code changes and only recompiles what's necessary, not the whole source.
If make complains that some libraries or headers aren't found, you'll have to make sure the corresponding development packages are installed. Debian ($Ubuntu) doesn't come with this stuff by default. If you use that, Ubuntu/Debian forums will have some info on "how do I compile something".
I use Gentoo, which is source-based, so for any package I install I automatically get the source code, no -dev packages necessary. :-) but *buntu is for a different target audience. Like Windows, it's not considered "normal" that users might compile programs... which if you look at it, is really the behaviour you would *expect* from Linux/BSD users :-D
Hence you must install seperate packages if you want to do "development". IIRC they are called like xorg-dev (or x11-dev) and so forth. The package manager (aptitude ?) should list them.
There are C IDEs, but if your resources are limited (and since the Proquake source is relatively tiny) I'd suggest just using text editors. $Ubuntuforum will have whole threads about which ones are good... For programming, you'll probably want something with tabs, cut/copy/paste and syntax highlighting.
Scite, Nedit, and possibly Gedit (Gnome's own) are OK.
Console editors are vim and emacs, which are a bit "old school" if you know what I mean. They have some learning curve... if you want to be productive instead of relearning text editors, try using a graphical editor with tabs like the above listed ones. You can have multiple files open and just copy and paste. Then you can run make from an xterm (terminal/console running in a window.)
You'll figure it out quickly I guess.
If you like, Gentoo forums have many knowledgeable users and there's heaps of info about this stuff. There are also some Ubuntu and FreeBSD people there and the community is always very helpful. Most of the discussion is more general Linux themed, not so much Gentoo specific. The subforum to look for is called "Portage and Programming."
forums.gentoo.org
There's a search function and mucho documentation elsewhere on the Gentoo page, which is largely distribution-independent. I'm not advertising the distro to you, just saying the community is superbly knowledgeable and helpful.
Ubuntu forums are a bit more, shall we say, end-user oriented :-)
One more info Baker, Linux is case-sensitive! Just so you know it, if you get "File not found" errors... look closely which file it wants, and check for upper/lowercase problems. "PAK0.PAK" and "pak0.pak" are not the same (well, of course not).
There are bash scripts (bash is the typical shell aka terminal program) that can auto-lowercase files, even recursively, that can be useful. Forums and Google know more.
I could even just send you the makefile I have for 3.50 and ideally you would just need to run "make" in that directory.
May I recommend looking at the Tyrquake Makefile, too.
Baker, you can probably remove all svgalib code once you have it all up and running.
Enough for the next four weeks, my fingers hurt. ;-)
Comment
Comment