AIX (xlC) Makefile Probleme
-
Hallo,
Bei folgendem Makefile Problem könnte ich Hilfe brauchen:
ich möchte verschiedene shared Objekt Dateien (.so und .a) mit einer neuen Bibliotek verlinken. Diese dann mit einem ausführbaren Programm (.exe) anwenden.
Bei Linken läuft alles gut. Jedoch zur Laufzeit (Aufruf der exe Datei) kommt es zu folgendem Fehlerrtld: 0712-001 Symbol X509_check_issued was referenced
from module ../lib/libteil1.so(), but a runtime definition
of the symbol was not found.Unter SuSE Linux kann ich das Ganze zum Laufen bringen. Jedoch unter AIX (5.2) funktioniert es nicht.
Ich habe schon alle möglichen Compileroptionen ausprobiert. Momentan sehen mein Makefiles wie folgt aus:
für shared Objekt (libmy.so):
AR = /usr/bin/ar
CC = /usr/vacpp/bin/cc
CXX = /usr/vacpp/bin/xlC
OUT = libmy.so
CDEBUG = -qlanglvl = noansifor
DEFINES = -DBITS32 -D_CL_UNIX
CXXFLAGS = -O -QLDFLAGS = -bM:SRE -G
INCLUDES = -I. -I../include -I/extern1/include -I/extern2/includeLIBS = -L ../lib -lteil1 -lteil2 -L ../extern1/lib -lextern1 -L ../extern2/lib -lextern2 -lm
ifeq "$(ISEFENCE)" "1"
INCLUDES += -I/usr/local/include
endififeq "$(ISEFENCE)" "1"
LIBS += -L /usr/lib -lefence
endifOBJS := (patsubst %.cpp,%.o,(wildcard *.cpp))
%.o : %.cpp
$(CXX) -c $(CXXFLAGS) $(INCLUDES) $(DEFINES) $<$(OUT): (CXX) $(LDFLAGS) -o $@ $? $(LIBS)
all: $(OUT)
clean:
rm -f $(OUT) *.ofür die exe Datei:
INSTALL = /usr/bin/install
AR = /opt/freeware/GNUPro/bin/ar
CC = /usr/vacpp/bin/cc
CXX = /usr/vacpp/bin/xlCCDEBUG = -O
DEFINES = -DBITS32 -D_CL_UNIX
CXXFLAGS = -O -Q
LDFLAGS = -brtl -lCifeq "$(ISTHREAD)" "1"
CXXFLAGS += -qthreaded
LDFLAGS += -L/usr/lib/threads -lpthreads -qthreaded
endifINCLUDES = -I. -I../mylib
LIBS = -L ../mylib -lmylib -lm
OBJS := (patsubst %.cpp,%.o,(wildcard *.cpp))
OUT = mytest%.o : %.cpp
$(CXX) -c $(CXXFLAGS) $(INCLUDES) $(DEFINES) $<$(OUT): (CXX) $(LDFLAGS) -o $@ $? $(LIBS)
all: $(OUT)
clean:
rm -f $(OUT) *.oLIBPATH ist gesetzt.
Für Hilfe und Anregungen wäre ich sehr dankbar.
Vielen Dank!Pferdle