Files
s390-tools/osasnmpd/Makefile
Michael Holzheu 8600296030 osasnmpd: Add -fPIC to CFLAGS to fix build on Fedora 27
On Fedora 27 "net-snmp-config --agent-libs" returns
"--specs=/usr/lib/rpm/redhat/redhat-hardened-ld" which introduces "-pie":

 # cat /usr/lib/rpm/redhat/redhat-hardened-ld
 *self_spec:
 + %{!static:%{!shared:%{!r:-pie}}}
 *link:
 + -z now

This leads to the following link error:

 /usr/bin/ld: osasnmpd.o: `getopt_long@@GLIBC_2.2' non-PLT reloc for symbol
              defined in shared library and accessed from executable
              (rebuild file with -fPIC ?)
 /usr/bin/ld: final link failed: Bad value

Add -fPIC to CLFAGS as a workaround to enbable linking again.

Signed-off-by: Michael Holzheu <holzheu@linux.vnet.ibm.com>
2017-11-27 16:57:21 +01:00

44 lines
869 B
Makefile

include ../common.mak
LDLIBS = `net-snmp-config --agent-libs`
# On some Linux systems `net-snmp-config --agent-libs` introduces -pie,
# therefore add -fPIC to prevent link failures.
CFLAGS += -fPIC
CFLAGS += `net-snmp-config --cflags`
OBJS = ibmOSAMib.o ibmOSAMibUtil.o osasnmpd.o
ifeq (${HAVE_SNMP},0)
all:
$(SKIP) HAVE_SNMP=0
install:
$(SKIP) HAVE_SNMP=0
else
check_dep:
$(call check_dep, \
"osasnmpd", \
"net-snmp/net-snmp-config.h", \
"net-snmp-devel or libsnmp-dev", \
"HAVE_SNMP=0")
all: check_dep osasnmpd
osasnmpd: $(OBJS)
install: all
$(INSTALL) -d -m 755 $(DESTDIR)$(USRSBINDIR) $(DESTDIR)$(MANDIR)/man8
$(INSTALL) -g $(GROUP) -o $(OWNER) -m 755 osasnmpd \
$(DESTDIR)$(USRSBINDIR)
$(INSTALL) -g $(GROUP) -o $(OWNER) -m 644 osasnmpd.8 \
$(DESTDIR)$(MANDIR)/man8
endif
clean:
rm -f $(OBJS) osasnmpd core
.PHONY: all install clean