Opened 12 years ago

Closed 12 years ago

Last modified 10 years ago

#3278 closed task (wontfix)

netpbm on BLFS SVN 2012 (with working PNG support)

Reported by: Marko Madunic Owned by: blfs-book@…
Priority: normal Milestone:
Component: BOOK Version: SVN
Severity: normal Keywords:
Cc:

Description

NETPBM & BLFS

BLFS uses latest PNG lib and (if wanted) support for apng files. When building netpbm it complains about unsupported ZLIB etc. stuff from PNG library. (pbm2png ... breaks build)

netpbm super-stable and netpbm-stable will NOT WORK with latest PNG library. You must use netpbm-advanced ( bleeding edge) version.

Get netpbm advanced by running :

svn checkout http://netpbm.svn.sourceforge.net/svnroot/netpbm/advanced netpbm

Then after download , create tarball from it , so on repeated/failed builds You do not need to dload it again and again ...

tar -cjkpvf netpbm_svn_advanced_rev_1629.tar.bz2 netpbm

(Notice i use revision number SVN reported after checkout. Just to know what we have dloaded...)

Now move to your BUILD dir and extract the netpbm sources,
When in netpbm dir run configure :

./configure

Answer all the questions as needed ( i just pressed ENTER / answered YES / y when asked ) , it is safe to keep proposed defaults. (prefix=/usr/local etc ...)
Then build netpbm :

make

There is no test / check for this package so proceede with packaging it (prior to install) as it will ask You to do :

make package pkgdir=/usr/src/packages/BUILD/netpbm_svn_advanced_rev_1629_packaged

(NOTE: use any path You want , but it can NOT be an existing directory) Then install the package as root:

./installnetpbm

This will mostly fail with creating /usr/local/netpbm dir , which will be empty :(

To really install it "cd" to your "packaged" netpbm directory and simply copy all of it into /usr/local/netpbm :

cd /usr/src/packages/BUILD/netpbm_svn_advanced_rev_1629_packaged
cp -axv * /usr/local/netpbm/

You shall end up with something like :

root [ ~ ]# ls /usr/local/netpbm/
README  VERSION  bin  config_template  include  lib  link  man  misc  pkginfo

Now add this to your PATH environment variable, either in /etc/profile or local user login files.

# netpbm /etc/profile addendum
if [ -d /usr/local/netpbm/bin ]
then
pathappend /usr/local/netpbm/bin
fi

And update Your /etc/ld.so.conf to search for libs in /usr/local/netpbm/lib

As root user :

echo "/usr/local/netpbm/lib" >> /etc/ld.so.conf

And finaly link the stuff propperly (as root again) :

cd /usr/local/netpbm/lib &&
ln -svf libnetpbm.so.11.57  libnetpbm.so &&
ln -svf ../link/libnetpbm.a .

That shall be it for LIB's , now fix the HEADERS path :

cd /usr/local/netpbm/include &&
ln -svf netpbm/*.h .

(Netpbm creates /usr/local/netpbm/include/netpbm directory ... we want headers in /usr/local/netpbm/include withouth another subdir ...)

HUH. Quite a workarround to get it done but it works. Afterwards i could successfully build UTR (Utah Raster Toolkit) against netpbm by setting propper CPPFLAGS and LDFLAGS. But that is the next Book hint.

Enjoy NETPBM on BLFS! :)

Change History (3)

comment:1 by bdubbs@…, 12 years ago

Milestone: 6.7current

comment:2 by rt, 12 years ago

Resolution: wontfix
Status: newclosed

Package is not in the book.

comment:3 by bdubbs@…, 10 years ago

Milestone: current

Milestone current deleted

Note: See TracTickets for help on using tickets.