Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

On one computer I installed an application from source using configure make and make install. Now I want to install the same application on another computer that lacks gcc, make and all the other build tools. Both computers are running Kubuntu 12.04. How can I locate all the files to copy to the second computer? What other installation steps are needed? This is a command line app.

I don't want to install build essentials on the 2nd computer. (It's a small laptop.)

share|improve this question
    
You may choose between Create a deb package or compile it statically. What dependency does this app need ? –  warl0ck Apr 25 '12 at 2:16
    
it depends on a number of sound libraries and maybe other things. I'm not sure. I think I could build it statically with ./configure --disable-shared on the first computer, but it is already installed there and I don't want to change that installation. I'll leave it using shared libs there. So I guess the best bet is to make a deb package. Is that easy? –  MountainX Apr 25 '12 at 2:39

2 Answers 2

up vote 3 down vote accepted

If your source code already have debian configuration files , you'll just need to run (in the sorce directory):

dpkg-buildpackage

Otherwise you can create a deb package with checkinstall

Launch the configure script first , e.g ./configure --prefix=/usr , then do

checkinstall --install=no

Running on Ubuntu 12.04 LTS

It will ask few questions , just fill the fields , so you can identify it laterly.

If it successed , you will see a *.deb package out of the source directory.

Copy and install it on the other computer.

share|improve this answer
    
Worked great. Thanks! –  MountainX Apr 25 '12 at 3:07

One option is to make a deb package.

Another option is to compile the application to a directory of its own. This is a good idea whenever you compile something without using a package manager. Most open source applications use automake and autoconf with typical configurations and default to installing under /usr/local. You can usually configure the application to install to a different directory by passing --prefix=… to the configure script.

./configure --prefix=/usr/local/stow/myapp-4.2
make
make install

Stow is a program that manages symbolic links for packages installed in their own directory, so if myapp has a binary that gets installed as /usr/local/stow/myapp-4.2/bin/myapp, running stow myapp-4.2 in the /usr/local/stow directory will create a symbolic link to that binary in /usr/local/bin. See Keeping track of programs for more information about stow.

Once you've installed the program in its own directory, you can easily build a zip or tar archive of it and unpack it on another machine. Run stow on the other machine as well.

Note that compiling a program on one system may produce executables that don't work on the other systems. Between two installations of the same version of the same distribution, you won't have any problem. But if the systems have different versions of shared libraries, the binary will sometimes not work on the other machine for lack of the required libraries. You can get around this by linking some libraries statically or by installing the right development packages on the build machine.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.