#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

Reply via email to