Subject: netpbm-10.30 build failure
To: None <tech-pkg@netbsd.org>
From: Stuart Shelton <stuart@zeus.com>
List: tech-pkg
Date: 01/12/2006 00:47:38
I'm trying to build netpbm-10.30, and it falls down when trying to build 
"pnmtorle" in work/netpbm-10.30/convertor/other - but the thing that 
confuses me is that the error is a linker error, stating:

ld32: ERROR   33 : Unresolved text symbol "pm_error" -- 1st referenced by 
/usr/bsd/var/tmp/graphics/netpbm/work/netpbm-10.30/urt/librle.a(rle_putcom.o).
         Use linker option -v to see when and which objects, archives and 
dsos are loaded.

... and if you check librle.a with nm, then pm_error is indeed an 
undefined symbol:

Symbols from 
/usr/bsd/var/tmp/graphics/netpbm/work/netpbm-10.30/urt/librle.a[rle_putcom.o]:

[Index]   Value      Size    Type  Bind  Other     Shndx   Name

[6]     |         0|       0|FUNC |GLOB |DEFAULT  |UNDEF  |pm_error

pm_error() seems to only be defined in lib/libpm.c - and can't be pulled 
fom here into urt, since it relies on a couple of run-time variables 
pm_progname and pm_jmpbufP.

So it looks as if urt/librle.a needs to be linked against lib/libnetpbm.so 
- but how is this achieved, and if this linkage is missing how has the 
package ever compiled?

P.S. The urt/README file states that if urt is already installed, then 
this can be used instead of netpbm's cut-down version - yet the 
graphics/urt package depends on netpbm.  Are the dependancies here 
correct?

Many thanks,

 	Stuart