Subject: pkg/33131: graphics/librsvg2 build failure on MacOS X
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: None <jdbaker@mylinuxisp.com>
List: pkgsrc-bugs
Date: 03/22/2006 22:50:00
>Number:         33131
>Category:       pkg
>Synopsis:       graphics/librsvg2 build failure on MacOS X
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Mar 22 22:50:00 +0000 2006
>Originator:     John D. Baker
>Release:        MacOS X 10.4.5 with pkgsrc-current
>Organization:
>Environment:
Darwin alphonse.local 8.5.0 Darwin Kernel Version 8.5.0: Sun Jan 22 10:38:46 PST 2006; root:xnu-792.6.61.obj~1/RELEASE_PPC Power Macintosh powerpc

>Description:
Building graphics/librsvg2 on MacOS X 10.4.5 (an possibly other revisions)
fails as follows:

[...]
nmedit -s .libs/librsvg-2-symbols.expsym .libs/librsvg-2.2.14.2.dylib
nmedit: symbols names listed in: .libs/librsvg-2-symbols.expsym not in: /Volumes/NetBSD/pkgsrc/graphics/librsvg2/work/librsvg-2.14.2/.libs/librsvg-2.2.14.2.dylib
_       _rsvg_acquire_xlink_href_resource
_       _rsvg_size_callback
_       rsvg_error_quark
_       rsvg_handle_close
_       rsvg_handle_free
_       rsvg_handle_get_base_uri
_       rsvg_handle_get_desc
_       rsvg_handle_get_dimensions
_       rsvg_handle_get_metadata
_       rsvg_handle_get_pixbuf
_       rsvg_handle_get_pixbuf_sub
_       rsvg_handle_get_title
_       rsvg_handle_get_type
_       rsvg_handle_new
_       rsvg_handle_new_from_data
_       rsvg_handle_new_from_file
_       rsvg_handle_render_cairo
_       rsvg_handle_render_cairo_sub
_       rsvg_handle_set_base_uri
_       rsvg_handle_set_dpi
_       rsvg_handle_set_dpi_x_y
_       rsvg_handle_set_size_callback
_       rsvg_handle_write
_       rsvg_init
_       rsvg_pixbuf_from_data_with_size_data
_       rsvg_pixbuf_from_file
_       rsvg_pixbuf_from_file_at_max_size
_       rsvg_pixbuf_from_file_at_size
_       rsvg_pixbuf_from_file_at_zoom
_       rsvg_pixbuf_from_file_at_zoom_with_max
_       rsvg_set_default_dpi
_       rsvg_set_default_dpi_x_y
_       rsvg_term
*** Error code 1

Stop.
bmake: stopped in /Volumes/NetBSD/pkgsrc/graphics/librsvg2/work/librsvg-2.14.2
[...]

>How-To-Repeat:
On MacOS X 10.4.5 w/ Xcode Tools 2.2.1 (and probably other revisions),
do:

cd .../pkgsrc/graphics/librsvg2
bmake
>Fix:
There appears to be a bug in the sed command that transforms the
library entry-point names:

sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < ./librsvg.def > .libs/librsvg-2-symbols.expsym


The expression "s,^[ ]*,," matches and deletes only leading spaces
and not TAB characters.  Each line of "librsvg.def" starts with
a TAB character.

I haven't found where the above sed command is executed.  I've seen
several instances of it in the 'configure' script, and each one has
multiple spaces between the brackets instead of [<space><TAB>]
that would match leading whitespace.

Naive editing has so far not corrected the problem...