Subject: pkg/29871: pkgsrc lang/guile on darwin uses incorrect extension for modules
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: Darrin B.Jewell <dbj@netbsd.org>
List: pkgsrc-bugs
Date: 04/03/2005 10:08:01
>Number:         29871
>Category:       pkg
>Synopsis:       pkgsrc lang/guile on darwin uses incorrect extension for modules
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Apr 03 10:08:00 +0000 2005
>Originator:     Darrin B. Jewell
>Release:        pkgsrc-2005Q1
>Organization:
>Environment:

Darwin Quiteria 7.8.0 Darwin Kernel Version 7.8.0: Wed Dec 22 14:26:17 PST 2004; root:xnu/xnu-517.11.1.obj~1/RELEASE_PPC  Power Macintosh powerpc

>Description:

Installing lang/guile on darwin succeeds.  However, it installs its
loadable modules with the usual .dylib shared library extension.
Unfortunately, guile explicitly expects its modules to have the
extension ".so" instead of ".dylib".  This parameter is set by
configure, with the following explicit line in aclocal.m4:
   shrext_cmds='$(test .$module = .yes && echo .so || echo .dylib)'

The following modules are affected:
    libguile-srfi-srfi-13-14-v-1
    libguile-srfi-srfi-4-v-1
    libguilereadline-v-12

This becomes evident later on when g-wrap is attempted to be installed,
which will halt with this error:

  /usr/pkg/share/guile/1.6/srfi/srfi-13.scm:159:1: In procedure dynamic-link in expression (load-extension "libguile-srfi-srfi-13-14-v-1" "scm_init_srfi_13"):
  /usr/pkg/share/guile/1.6/srfi/srfi-13.scm:159:1: file: "libguile-srfi-srfi-13-14-v-1", message: "dlcompat: file \"libguile-srfi-srfi-13-14-v-1.so\" not found"

>How-To-Repeat:

Attempt to gnucash on darwin, which requires guile and g-wrap.

>Fix:

I think that the shared libraries which will be used as loadable
modules in guile should be installed with a ".so" extension instead of
".dylib"

Unfortunately, I'm not familiar enough with the pkgsrc dynamic library
build and install magic to provide a fix at this time.