Subject: pkg/36086: security/openssl build fails on MacOS X 10.2.8 (required header file not found)
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: None <jdbaker@mylinuxisp.com>
List: pkgsrc-bugs
Date: 03/25/2007 16:40:00
>Number:         36086
>Category:       pkg
>Synopsis:       security/openssl build fails on MacOS X 10.2.8 (required header file not found)
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          support
>Submitter-Id:   net
>Arrival-Date:   Sun Mar 25 16:40:00 +0000 2007
>Originator:     John D. Baker
>Release:        MacOS X 10.2.8, pkgsrc-2006Q4
>Organization:
>Environment:
Darwin pm7500.local. 6.8 Darwin Kernel Version 6.8: Wed Sep 10 15:20:55 PDT 2003; root:xnu/xnu-344.49.obj~2/RELEASE_PPC  Power Macintosh powerpc

>Description:
Building security/openssl (dependency of net/wget on MacOS X 10.2.8)
fails as follows:

cc -I.. -I../.. -I../../include -DOPENSSL_SYSNAME_MACOSX -fPIC -fno-common -DOPENSSL_PIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DOPENSSL_NO_KRB5 -DOPENSSL_NO_IDEA -DOPENSSL_NO_MDC2 -DOPENSSL_NO_RC5 -pipe -O2 -O3 -fomit-frame-pointer -DB_ENDIAN -no-cpp-precomp  -c -o dso_dlfcn.o dso_dlfcn.c
dso_dlfcn.c:75:19: dlfcn.h: No such file or directory
dso_dlfcn.c: In function `dlfcn_load':
dso_dlfcn.c:154: error: `RTLD_NOW' undeclared (first use in this function)
dso_dlfcn.c:154: error: (Each undeclared identifier is reported only once
dso_dlfcn.c:154: error: for each function it appears in.)
dso_dlfcn.c:154: warning: assignment makes pointer from integer without a cast
dso_dlfcn.c: In function `dlfcn_bind_var':
dso_dlfcn.c:222: warning: assignment makes pointer from integer without a cast
dso_dlfcn.c: In function `dlfcn_bind_func':
dso_dlfcn.c:253: warning: assignment makes pointer from integer without a cast

[wrapper.sh] note: The real command line, after the pkgsrc wrapper, was:
/Volumes/NetBSD/tmp/pkgsrc/security/openssl/work/.gcc/bin/gcc -I.. -I../.. -I../../include -DOPENSSL_SYSNAME_MACOSX -fPIC -fno-common -DOPENSSL_PIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DOPENSSL_NO_KRB5 -DOPENSSL_NO_IDEA -DOPENSSL_NO_MDC2 -DOPENSSL_NO_RC5 -pipe -O2 -O3 -fomit-frame-pointer -DB_ENDIAN -no-cpp-precomp -c -o dso_dlfcn.o dso_dlfcn.c -I/Volumes/NetBSD/tmp/pkgsrc/security/openssl/work/.buildlink/include -L/Volumes/NetBSD/tmp/pkgsrc/security/openssl/work/.buildlink/lib 
gnumake[2]: *** [dso_dlfcn.o] Error 1
gnumake[1]: *** [subdirs] Error 1
gnumake: *** [sub_all] Error 1
*** Error code 2

Stop.
bmake: stopped in /usr/pkgsrc/security/openssl
*** Error code 1

Stop.
bmake: stopped in /usr/pkgsrc/security/openssl
*** Error code 1

Stop.
bmake: stopped in /usr/pkgsrc/net/wget
[pm7500:pkgsrc/net/wget] sysop% 


It appears the buildlink step failed to install links to files in
/usr/pkg/include, which is where <dlfcn.h> resides (part of the
dlcompat-20030629 package).
>How-To-Repeat:
Attempt to build security/openssl or anything which depends thereon
(like net/wget).

>Fix:
Workaround:  Manually add a link to /usr/pkg/include/dlfcn.h in
.../pkgsrc/security/openssl/work/.buildlink/include.  e.g.,

    cd .../pkgsrc/security/openssl/work/.buildlink
    ln -s /usr/pkg/include/dlfcn.h