#3278: netpbm on BLFS SVN 2012 (with working PNG support)
--------------------+-------------------------------------------------------
Reporter: mad77 | Owner: blfs-book@…
Type: task | Status: new
Priority: normal | Milestone: 6.7
Component: BOOK | Version: SVN
Severity: normal | Keywords:
--------------------+-------------------------------------------------------
== 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) [[BR]]
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...)''[[BR]]
Now move to your BUILD dir and extract the netpbm sources, [[BR]]
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 ...)[[BR]]
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! :)
--
Ticket URL: <http://wiki.linuxfromscratch.org/blfs/ticket/3278>
BLFS Trac <http://wiki.linuxfromscratch.org/blfs>
Beyond Linux From Scratch
--
http://linuxfromscratch.org/mailman/listinfo/blfs-book
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page