mirror of
https://github.com/ibm-s390-linux/s390-tools.git
synced 2026-08-05 02:14:52 +00:00
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>
44 lines
869 B
Makefile
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
|