Learn to compile before or after I choose a second distro?
Linux - NewbieThis Linux forum is for members that are new to Linux.
Just starting out and have a question?
If it is not in the man pages or the how-to's this is the place!
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Introduction to Linux - A Hands on Guide
This guide was created as an overview of the Linux Operating System, geared toward new users as an exploration tour and getting started guide, with exercises at the end of each chapter.
For more advanced trainees it can be a desktop reference, and a collection of the base knowledge needed to proceed with system and network administration. This book contains many real life examples derived from the author's experience as a Linux system and network administrator, trainer and consultant. They hope these examples will help you to get a better understanding of the Linux system and that you feel encouraged to try out things on your own.
Click Here to receive this Complete Guide absolutely free.
Learn to compile before or after I choose a second distro?
I am currently running Moonshine, and from what I understand there were problems with compiling. Compiling is one of the last tasks I have to conquer as a nublet. I am looking to try a new flavor of linux, still planing on keeping FC7 but I want to try (at least) slackware and debain.
I have remotely compiled eggdrop bots a few times and once or twice in the past (maybe FC4).
If I install debain or slackware will I have to compile anything to get them up and running? I would guess that I will with slackware, but possibly not on debain as it utilizes package managers much like fedora.
Also a link to a compiling primer would be a nice bonus...
You don't need to know how to compile anything in order to run Debian. However you're right, learning to write programs & compile them is definitely something you need to do in order to gain complete and utter control over your computer. Well, not quite definitely. I have three hundred slaves in a dungeon writing a new network protocol stack for me as I type because I heard that some guy in Redmond had one that uses even more memory than mine. Intolerable! But then if everyone had the luxury of programmers to do their every bidding it wouldn't be fun having them anymore...
What happens if you type "gcc --version" in a terminal window on your Black Hat box?
I agree, nowadays you can pick up pretty much any distribution and trust that you don't have to compile anything to get it running, and not necessarily ever after either..you can, if you want, but in most cases there are (pre-compiled binary) alternatives. Learning to compile is not difficult, as it's usually just a matter of running an executable (gcc, for example), possibly with some command-line options to get the desired result; sometimes it's even easier, because many projects are developed in such a way that they utilize something that automates everything; an example of this is make. With it there's no need to compile and link every file the right way (assuming that we're talking about something like C here), since it's already described in a special Makefile, so all you need to do is run a script that configures the sources for your environment - for example checks that you have all that is needed, and if there are optional packages, which ones of them you have => which ones need to be "taken in" during compilation - and after it just execute 'make', which follows the (developer-given) instructions to build the program more or less automatically. The usual case is to run the configure script (in the source directory), and if it succeeds (you have everything in place to get the compilation successfully done), run 'make' which does a lot of things (works with compiler/linker etc.) and eventually the binaries are produced; in many cases you'll then run, if you want, a special make rule called 'install' ('make install' is the command) which follows the 'install' rule and places the produced binaries and other files into right places on the system (binaries to a bin/ directory, man pages to man page directory, system-wide configuration files to /etc and so on).
Learning to program is then a whole different thing. It's definitely useful, but takes more time - it's something you don't learn in a day, not well at least (the longer you do it, the more you know; basics are often quickly learned, though).
All the needed instructions to compile a source code into a working thing are usually (read: should be) included in the package; they're described in files called README and/or INSTALL. After reading them you know what to do - as long as you have all the needed tools installed (without a compiler you can't compile). On Debian you don't necessarily have them right out of the box unless you chose so, and that's the case with many other operating systems as well (Fedora too, if I'm not wrong). On most distributions you can select them during the setup, but not always.
You don't need to know how to compile source code in order to install a new distribution - go ahead, download and install it, be it Debian or Slackware. Learn to compile when you have time, it's easy as long as you read the instructions (and after some time you'll know your way around without them too).
Does it come in handy? Yes. Do you absolutely need to? No! As stated previously in the thread, compiling most packages from source is a three step process anyway. The README or INSTALL documentation will always keep you right.