Hello,

I'm seeing a regression after 0.9.8e on a NetBSD/i386 4.99.34 system.
There are linker errors while the libraries in the engines/ directory
are being linked. IIUC the reason for this is as follows:

The Configure skript sets `SHARED_LDFLAGS=-Wl,-rpath,$(LIBRPATH)' in
the Makefile created from Makefile.org. However, $(LIBRPATH) seems to
be unset while $(SHARED_LDFLAGS) is used.

A stripped down version of the OpenSSL Makefile which demonstrates the
problem is attached (Makefile.not_ok). Note the missing pathname in
SHARED_LDFLAGS:

        $ gmake -v
        GNU Make 3.81
        [...]
        This program built for i386--netbsdelf

        $ gmake -s -f Makefile.not_ok
        LIBRPATH: /usr/local/ssl/lib
        SHARED_LDFLAGS: -Wl,-rpath,

I'm not sure how to fix this correctly, but the attached Makefile.ok
behaves as expected:

        $ gmake -s -f Makefile.ok
        LIBRPATH: /usr/local/ssl/lib
        SHARED_LDFLAGS: -Wl,-rpath,/usr/local/ssl/lib


So, what's the correct fix for this problem?


Regards, Jukka

-- 
bashian roulette:
$ ((RANDOM%6)) || rm -rf ~
MAKEFILE=       Makefile.not_ok
INSTALLTOP=     /usr/local/ssl
SHARED_LDFLAGS= -Wl,-rpath,$(LIBRPATH)

CLEARENV=       unset $${SHAREDFLAGS+SHAREDFLAGS}

BUILDENV=       LIBRPATH='${INSTALLTOP}/lib'    \
                SHARED_LDFLAGS='${SHARED_LDFLAGS}'

all:
        @$(CLEARENV) && $(MAKE) -f $(MAKEFILE) -e $(BUILDENV) show

show:
        @echo LIBRPATH: $(LIBRPATH)
        @echo SHARED_LDFLAGS: $(SHARED_LDFLAGS)
MAKEFILE=       Makefile.ok
INSTALLTOP=     /usr/local/ssl
LIBRPATH=       ${INSTALLTOP}/lib
SHARED_LDFLAGS= -Wl,-rpath,$(LIBRPATH)

CLEARENV=       unset $${SHAREDFLAGS+SHAREDFLAGS}

BUILDENV=       LIBRPATH='${LIBRPATH}'  \
                SHARED_LDFLAGS='${SHARED_LDFLAGS}'

all:
        @$(CLEARENV) && $(MAKE) -f $(MAKEFILE) -e $(BUILDENV) show

show:
        @echo LIBRPATH: $(LIBRPATH)
        @echo SHARED_LDFLAGS: $(SHARED_LDFLAGS)

Reply via email to