Biotech > FAQ > EMBOSS FAQ (Frequently Asked Questions)

I'm trying to compile EMBOSS with the PNG suppor...

To see other biotech frequently asked questions, please visit

(Continued from previous question...)

I'm trying to compile EMBOSS with the PNG support

A) If you have gd-1.7.3, zlib-1.1.3 and libpng-1.0.5 or greater then the normal configure/compile should work! However, due to gd no longer supporting gif format then you may need to install gd, zlib and libpng locally.

You can unpack the tar.gz files in any directory, and install them in a common area.

By default everything (including EMBOSS) installs in /usr/local but in the examples below we use /home/joe/local

Note: gd does not use a ./configure script, and will fail at the "make install" stage if the installation directory does not have a /bin subdirectory. You can create this directory (e.g. /home/joe/local/bin) if it does not already exist.

To install, pick up the sources (jpeg is optional) and then:

   gunzip -c zlib-1.1.4.tar.gz   | tar xf -
   gunzip -c libpng-1.2.5.tar.gz | tar xf -
   gunzip -c jpegsrc.v6b.tar.gz | tar xf -
   gunzip -c gd-2.0.9.tar.gz     | tar xf -

   ln -s zlib-1.1.4   zlib
   ln -s jpeg-6b jpeg
   ln -s libpng-1.2.5 libpng
   ln -s gd-2.0.9     gd

If these directories do not exist, "make install" for jpeg will need them:

   mkdir /home/joe/local/bin
   mkdir /home/joe/local/man
   mkdir /home/joe/local/man/man1

   cd zlib
   ./configure --prefix=/home/joe/local
   make install
   cd ..

   cd jpeg
   ./configure --prefix=/home/joe/local
   make test
   make install
   cd ..

   cd libpng
   ./configure --prefix=/home/joe/local

But this says:

  There is no "configure" script for Libpng-1.2.5.  Instead, please
  copy the appropriate makefile for your system from the "scripts"
  directory.  Read the INSTALL file for more details.

so copy the file, for example "cp scripts/makefile.linux makefile"

   ## edit makefile, change prefix to be /home/joe/local
   ## and any other places - some files point to ../zlib
   ## others use /usr/local/lib and /usr/local/include
   ## on HP-UX this is trickier. CFLAGS has to match zlib
   make install
   cd ..

   cd gd
   ## for 1.x versions, edit Makefile, change:
   ##         all          /usr/local
   ##         to           /home/joe/local
   ## for 2.x versions, we use ./configure (hurrah!)
   ./configure --prefix=/home/joe/local --with-png=/home/joe/local \

   make install
   cd ..

If the gd or jpeg "make install" fails with a warning about the "bin" "man" or "man/man1" directory, you need to create it by hand (see above).

To compile with the local version your EMBOSS ./configure line should now read:-

   ./configure --with-pngdriver=/home/joe/local

This will look for the graphics libraries in your local installation under /home/joe/local instead of a system-wide location

configure keeps a copy of the previous settings. You may need to delete file config.cache and config.status if configure has been run before.

(Continued on next question...)

Other Frequently Asked Questions