Find the answer to your Linux question:
Page 1 of 2 1 2 LastLast
Results 1 to 10 of 12
I see references to compiling, but as a newbie am unclear about it. What is compiling, when do you need to do it, and how do you do it?...
  1. #1
    Linux Enthusiast MASONTX's Avatar
    Join Date
    May 2010
    Location
    Mason Texas
    Posts
    721

    Question Compiling?

    I see references to compiling, but as a newbie am unclear about it. What is compiling, when do you need to do it, and how do you do it?

  2. #2
    Linux Guru rokytnji's Avatar
    Join Date
    Jul 2008
    Location
    Pecos, Texas
    Posts
    2,943
    You will need to install build-essentinals in Ubuntu

    and devx for Puppy Linux

    More good info Here
    Linux Registered User # 475019
    Lead,Follow, or get the heck out of the way
    AntiX,Puppy,Ubuntu,Windows 7=(cuz of scooters)
    Open CourseWare for Linux Geeks

  3. #3
    Linux Enthusiast MASONTX's Avatar
    Join Date
    May 2010
    Location
    Mason Texas
    Posts
    721
    So, if I understand TechieMo's explanation, as a newbie, I probably wont need to get into compiling. Apt-get and the Ubuntu repository should install most aps I want. If there is no already compiled ap, but source code is available, then I would need to compile. Does that about sum it up?

  4. #4
    Linux Guru rokytnji's Avatar
    Join Date
    Jul 2008
    Location
    Pecos, Texas
    Posts
    2,943
    Yep that sums it up. Ubuntu Repositories and independent deb packages for Debian and Ubuntu makes compiling sorta moot.

    Puppy has Pet Packages made by Puppy/Murga Linux members that are 1 click install packages also

    Puppy Linux Discussion Forum :: View Forum - Additional Software (PETs, n' stuff)

    Usually the only time I need to use make is when I want something not available yet in Puppy pet packages yet. Otherwise. Even old versions of software are OK by me as long as I get to do what I want to do.

    Tons of stuff is on the net for Ubuntu though. Same for Debian. And Puppy has a way to convert a deb package into a Puppy Pet package also.

    Happy Trails, Rok
    Linux Registered User # 475019
    Lead,Follow, or get the heck out of the way
    AntiX,Puppy,Ubuntu,Windows 7=(cuz of scooters)
    Open CourseWare for Linux Geeks

  5. #5
    Linux Enthusiast MASONTX's Avatar
    Join Date
    May 2010
    Location
    Mason Texas
    Posts
    721

    Thanks

    Thanks for the thumbnail explanation, it clears up the confusion.

  6. #6
    Linux Guru reed9's Avatar
    Join Date
    Feb 2009
    Location
    Boston, MA
    Posts
    4,651
    It is almost always preferable to use official packages for your distro, or packages from a trusted 3rd party.

    Ubuntu and Debian have some of the most extensive repositories of packaged software of any distro, so it's rare not to find what you're looking for.

    Ubuntu also has personal package archives, where individuals can host their own packages. These are unofficial and there is no assurance of quality, but I've never had trouble with them on the occasions I have used them.

    The main reason you might want to compile your own software is if there is a feature you need in a new software release which is not available for your distribution, if the distro's package does not include an available feature that you need, or if it does include a feature you want to disable.

    For example, say you have an old laptop and trying to stick with lightweight programs. For a light wordprocessor, you could use abiword, which normally pulls in a good chunk of the GNOME desktop as dependencies. By rebuilding abiword without spellcheck and print features, you can remove the need for a bunch of those GNOME libraries.

    For many programs, when running the configure script, you can use the --help flag to see available options.

    With the abiword example, here is an excerpt of the output

    Code:
    ./configure --help
    
    Optional Features:
      --disable-option-checking  ignore unrecognized --enable/--with options
      --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
      --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
      --disable-maintainer-mode  disable make rules and dependencies not useful
                              (and sometimes confusing) to the casual installer
      --enable-embedded       =generic|hildon|poky, (Gtk+ only), build for
                              embedded platform
      --disable-dependency-tracking  speeds up one-time build
      --enable-dependency-tracking   do not reject slow dependency extractors
      --enable-shared[=PKGS]  build shared libraries [default=yes]
      --enable-static[=PKGS]  build static libraries [default=yes]
      --enable-fast-install[=PKGS]
                              optimize for fast installation [default=yes]
      --disable-libtool-lock  avoid locking (might break parallel builds)
      --disable-default-plugins
                              do not build any plugins by default
      --enable-plugins        ="foo bar baz", list of plugins to build. Use
                              --disable-plugins to disable plugin loading support,
                              resulting in a smaller binary size.
      --enable-builtin-plugins
                              ="foo bar baz", list of plugins to link statically
      --enable-menubutton     (Gtk+ only) menu-button instead of menu-bar
      --disable-print         (Gtk+ only) do not include printing support
      --disable-spell         (Gtk+ only) do not include spell checking support
      --disable-statusbar     (Gtk+ only) do not include status bar
      --enable-emacs-keybinding
                              Enable the use of emacs-compatible keyboard commands
      --enable-vi-keybinding  Enable the use of vi-compatible keyboard commands
      --enable-clipart        Install clipart
      --enable-templates      Install additional templates
      --enable-debug          Enable debugging functionality, verbose terminal
                              output
      --enable-collab-backend-fake
                              Fake backend for debugging purposes only (default:
                              off)
      --enable-collab-backend-telepathy
                              Experimental telepathy backend (default: off)
      --enable-collab-backend-xmpp
                              Jabber backend (default: auto)
      --enable-collab-backend-tcp
                              TCP backend (default: auto)
      --enable-collab-backend-sugar
                              Sugar/OLPC backend (default: auto)
      --enable-collab-backend-service
                              abicollab.net backend (default: auto)
      --enable-collab-record-always
                              Always record AbiCollab sessions (default: off)
      --enable-shave          use shave to make the build pretty [[default=no]]
    To disable spell check, you would do run the configure script as so
    Code:
    ./configure --disable-spell

    Compiling Software

  7. #7
    Linux Newbie theNbomr's Avatar
    Join Date
    May 2007
    Location
    BC Canada
    Posts
    150
    I think these answers are a bit misleading. While compiling is often a part of installing software packages, that is far from the concise answer to the question.
    Programmers write software by creating files that are composed of one, sometimes more, computer languages. These files are written in ways that make them understandable by humans (at least, hopefully). Since the software needs to be understood by computers that run the software, the files (called source code) are transformed into other files that can be understood and used by the computer. One such transformation is called compiling. It is performed by a type of program called, not surprisingly, a compiler. Many computer languages use compilers to perform the translation; others use assemblers or interpretters, and there are some languages that are somewhere in between, like Java. Unless you are going to start writing software, you won't really need to understand the differences, but you may encounter the jargon.
    Sometimes, software packages are distributed as pre-compiled object code. In the Windows world, this is the usual case. In Linux, this happens, too, but very often software is distributed as bundles of source code files (hence, 'Open Source'). The end user then compiles the source code, and then installs the resulting object code on the target computer. There are normally simple recipes used to accomplish this, and the result is that the software has the best chance of accommodating the nuances of the target computer.
    Software developers understand and use compilers and other language processors to create the software that makes up a computer system. Most end users' requirements are limited to compiling software for the purpose of installing it. In Linux, it is common, almost standard, for the distribution to include a collection of compilers and related tools. In Windows, compilers are not a part of the basic OS package, and Windows software development tool kits are usually co$tly.
    --- rod.
    Stuff happens. Then stays happened.

  8. #8
    Trusted Penguin jayd512's Avatar
    Join Date
    Feb 2008
    Location
    Kentucky
    Posts
    4,071

    @theNbomr

    You are absolutely right in what you explained... and a good explanation, too!

    But I think that, being a newbie, MASONTX just needed a little background info on compiling software. When and why would one have the need to do so.
    Jay

    New users, read this first.
    New Member FAQ
    Registered Linux User #463940
    I do not respond to Private Messages asking for Linux help. Please, keep it on the public boards.

  9. #9
    Linux Enthusiast MASONTX's Avatar
    Join Date
    May 2010
    Location
    Mason Texas
    Posts
    721
    Right Jayd. As a newbie convert, when I try to tell someone about linux I want to be able to counter if they say they could never use linux because they don't want to compile code. Heck, I'm intimidated and wonder what I've gotten into when I read posts that recommend compiling code or writing scripts to get linux to work right.

  10. #10
    Trusted Penguin jayd512's Avatar
    Join Date
    Feb 2008
    Location
    Kentucky
    Posts
    4,071
    Don't worry about it to much...
    In a mainstream distro (Ubuntu, Fedora, Debian) you'll almost never need to compile... I think I've come across maybe 2 or 3 situations where I had to do so in the 4+ years that I've been using Linux, and one of those was just because I wanted to!

    If you run something like CRUX or Gentoo, the tools for compiling are usually built into the package manager (prt-get for CRUX, emerge for Gentoo).

    The most common reason for a while would have been for wireless card drivers or some such, but that's normally not the case anymore.
    Jay

    New users, read this first.
    New Member FAQ
    Registered Linux User #463940
    I do not respond to Private Messages asking for Linux help. Please, keep it on the public boards.

Page 1 of 2 1 2 LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
...