4

I'm new to Linux and tar balls and was wondering how to properly install them on a Mac or Linux machine. I would prefer to know how to install on a mac but I just need some help understanding them. I want to install jhead-2.97.tar.gz and I download the zipped source tar ball, yielding a folder containing a myriad of files. I know this is a silly question, but how do I properly install this file on my machine in the Terminal/LXTerminal?

jhead is a command tool that is used to extract from an Exif jpeg file in the Terminal

6

Get the source

wget "http://www.sentex.net/~mwandel/jhead/jhead-2.97.tar.gz"

Untar the source

tar xzf jhead-2.97.tar.gz

Or, get and untar the source in one step

curl "http://www.sentex.net/~mwandel/jhead/jhead-2.97.tar.gz" | tar xz

Now you have a directory called jhead-2.97. Enter that directory and run make.

cd jhead-2.97
make

This will compile the code and link an executable for you called jhead.

Some makefiles have install targets. This one does. To install the executable,

make install

You'll probably need to run that as root. Now your program is installed and ready for use.


In this case, the install target looks like this:

cp jhead ${DESTDIR}/usr/local/bin/

If you ever run into a program without an install target in its makefile, just know that you have to get any executables into /usr/local/bin and any libraries into /usr/local/lib (or other appropriate locations.) Sometimes there are also other files you have to worry about such as documentation files (e.g. man pages), configuration files, etc.

  • Is "make" a linux command, terminal says the command isn't found? – Monte Carlo May 1 '13 at 20:59
  • make is packaged with most major Linux distributions. MacOS doesn't come with it; you'll have to install Xcode from the App Store to get it. – user26112 May 1 '13 at 21:02
  • I already have it, but how is that the missing link? Do I need to install everything through Xcode? – Monte Carlo May 1 '13 at 21:07
  • Xcode provides an implementation of make. Try running /Applications/Install Xcode.app. See this. – user26112 May 1 '13 at 21:09
  • 1
    @EvanTeitelman /Applications/ is just used for application bundles. /usr/local/bin/ doesn't exist by default, but it is also used by homebrew, pip, and easy_install, and as a location for command line utilities installed by graphical applications. – Lri May 2 '13 at 6:39
2

Xcode 4.3 moved make to /Applications/Xcode.app/Contents/Developer/usr/bin/make. You can install make to /usr/bin/ by downloading the command line tools package from Xcode's preferences or from developer.apple.com/downloads (which requires a free developer account but not Xcode).

If make install results in an error like cp: directory /usr/local/bin does not exist, just run mkdir /usr/local/bin/.

You could also install Homebrew and run brew install jhead.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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