Subject: pkg/33665: g-wrap Makefile needs to set LTDL_LIBRARY_PATH
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: Darrin B.Jewell <dbj@netbsd.org>
List: pkgsrc-bugs
Date: 06/07/2006 20:55:01
>Number:         33665
>Category:       pkg
>Synopsis:       g-wrap Makefile needs to set LTDL_LIBRARY_PATH
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Jun 07 20:55:00 +0000 2006
>Originator:     Darrin B. Jewell
>Release:        pkgsrc-2006Q1 branch updated via cvs ~20060605T1828Z
>Organization:
>Environment:

$ uname -a
Darwin Quiteria 8.6.0 Darwin Kernel Version 8.6.0: Tue Mar  7 16:58:48 PST 2006; root:xnu-792.6.70.obj~1/RELEASE_PPC Power Macintosh powerpc

$ sw_vers
ProductName:	Mac OS X
ProductVersion:	10.4.6
BuildVersion:	8I127

$ powerpc-apple-darwin8-gcc-4.0.1 (GCC) 4.0.1 (Apple Computer, Inc. build 5341)
Copyright (C) 2005 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

$ cat /Developer/Applications/Xcode.app/Contents/version.plist 
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>BuildVersion</key>
        <string>10</string>
        <key>CFBundleShortVersionString</key>
        <string>2.3</string>
        <key>CFBundleVersion</key>
        <string>744</string>
        <key>ProjectName</key>
        <string>DevToolsIDE</string>
        <key>SourceVersion</key>
        <string>7440000</string>
</dict>
</plist>

>Description:

I build pkgsrc on Darwin using 
  env -i PATH=/bin:/usr/bin /usr/pkg/bin/bmake update
which highlights environment variable issues when building.

Building g-wrap on Darwin requires the LTDL_LIBRARY_PATH to be set
or else it dies with an error like the following:

[...]
  (use-modules (g-wrap)) \
                 (use-modules (g-wrap guile)) \
                         (use-modules (g-wrap guile ws standard)) \
                         (generate-wrapset 'guile 'standard \"standard\")"
  /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: "dlopen(libguile-srfi-srfi-13-14-v-1.so, 9): image not found"
  
  Some deprecated features have been used.  Set the environment
  variable GUILE_WARN_DEPRECATED to "detailed" and rerun the
  program to get more information.  Set it to "no" to suppress
  this message.
  gnumake[4]: *** [standard.c] Error 2
  gnumake[3]: *** [all-recursive] Error 1
  gnumake[2]: *** [all-recursive] Error 1
  gnumake[1]: *** [all-recursive] Error 1
  gnumake: *** [all] Error 2
  *** Error code 2
  
  Stop.
  bmake: stopped in /u3/n/z/pkgsrc/devel/g-wrap
  ===> 
  ===> There was an error during the ``build'' phase.
  ===> Please investigate the following for more information:
  ===>      * log of the build
  ===>      * /u2/n/z/work/devel/g-wrap/work/.work.log
  ===> 
  *** Error code 1
  
  Stop.
  bmake: stopped in /u3/n/z/pkgsrc/devel/g-wrap
  *** Error code 1
  


>How-To-Repeat:

cd pkgsrc/devel/glib
env -i PATH=/bin:/usr/bin /usr/pkg/bin/bmake update

>Fix:

The following patch fixes the problem.  However, it may better
to set the environment variable in libltdl's buildlink3.mk
file or something.

Index: Makefile
===================================================================
RCS file: /cvsroot/pkgsrc/devel/g-wrap/Makefile,v
retrieving revision 1.42
diff -u -u -r1.42 Makefile
--- Makefile	5 Mar 2006 16:27:24 -0000	1.42
+++ Makefile	7 Jun 2006 18:45:17 -0000
@@ -18,6 +18,8 @@
 TEST_TARGET=		check
 INFO_FILES=		g-wrap.info
 
+MAKE_ENV+=		LTDL_LIBRARY_PATH=${LOCALBASE}/lib
+
 pre-install:
 	${INSTALL_DATA_DIR} ${PREFIX}/share/guile/site/g-wrap/guile/ws