Software > Programmieren, Kompilieren

Sendmail kompilieren

<< < (3/4) > >>

erisch:
-L/usr/local/ssl/lib -R/usr/local/ssl/lib (oder wo auch immer die libs rumfliegen)

signal_15:
Hallo Erish,

keine besserung. die variablene habe ich wie folgend gesetzt ...

--- Code: ---CFLAGS="-mcpu=ultrasparc -m64 -O3"
CXXFLAGS="-mcpu=ultrasparc -m64 -O3"
CPPFLAGS="-I/usr/local/include -I/usr/include -I/usr/local/ssl/include -I/usr/local/BerkeleyDB.4.7/include"
LDFLAGS="-R/usr/local/lib -L/usr/local/lib -L/opt/SUNWspro/lib -R/usr/local/ssl/lib -L/usr/local/ssl/lib -R/usr/local/BerkeleyDB.4.7/lib -L/usr/local/BerkeleyDB.4.7/lib"

--- Ende Code ---

... und in die site.config.m4 sieht so aus.

--- Code: ---APPENDDEF(`confINCDIRS', `-I/usr/local/ssl/include/')
APPENDDEF(`confINCDIRS', `-I/usr/local/BerkeleyDB.4.7/include')
APPENDDEF(`confENVDEF', `-UNIS')
APPENDDEF(`confENVDEF',`-DSTARTTLS')
APPENDDEF(`conf_sendmail_LIBS', `-lsasl2 -lthread')
APPENDDEF(`conf_sendmail_LIBS', `-lssl -lcrypto')
APPENDDEF(`conf_sendmail_LIBS', `-lresolv')
define(`confLIBDIRS', `-L/usr/local/lib -R/usr/local/lib L/usr/local/ssl/lib -R/usr/local/ssl/lib')
define(`confMAPDEF', `-DNEWDB')
define(`confHFDIR', `/usr/local/etc/mail')
define(`confINCDIRS', `-I/usr/local/include')
define(`confINCDIRS', `-I/usr/local/ssl/include/')
define(`confINCGRP', `root')
define(`confINCMODE', `644')
define(`confINCLUDEDIR', `/usr/local/include')
define(`confEBINDIR', `/usr/local/bin')
define(`confLIBDIR', `/usr/local/lib')
define(`confLIBGRP', `root')
define(`confLIBMODE', `644')
define(`confLIBSEARCHPATH', `/lib /usr/lib /usr/shlib /usr/local/lib')
define(`confMANROOT', `/usr/local/man/cat')
define(`MANROOTMAN', `/usr/local/man/man')
define(`confMANOWN', `root')
define(`confMANGRP', `root')
define(`confMANMODE', `644')
define(`confMBINDIR', `/usr/local/sbin')
define(`confMBINOWN', `root')
define(`confMBINGRP', `root')
define(`confMBINMODE', `755')
define(`confSBINDIR', `/usr/local/sbin')
define(`confSBINOWN', `root')
define(`confSBINGRP', `root')
define(`confSHAREDLIBDIR', `/usr/local/lib')
define(`confSTDIR', `/usr/local/etc/mail')
define(`confUBINDIR', `/usr/local/bin')
define(`confUBINGRP', `root')
define(`confUBINOWN', `root')
define(`confUBINMODE', `755')
define(`confCC', `cc')

--- Ende Code ---

und trotzdem der selbe fehler bezuglich fehlender -lssl und -lcrypto.

--- Code: ---Making all in:
/Download/sendmail-8.14.3/vacation
Configuration: pfx=, os=SunOS, rel=5.9, rbase=5, rroot=5.9, arch=sun4, sfx=, variant=optimized
Making in /Download/sendmail-8.14.3/obj.SunOS.5.9.sun4/vacation
make[1]: Entering directory `/Download/sendmail-8.14.3/obj.SunOS.5.9.sun4/vacation'
cc -O -I. -I../../sendmail   -I../../include -I/usr/local/include -DNEWDB -DSOLARIS=20900 -DNETINET6 -UNIS -DSTARTTLS -DNOT_SENDMAIL    -I/usr/local/include -I/usr/include -I/usr/local/ssl/include -I/usr/local/BerkeleyDB.4.7/include  -c -o vacation.o vacation.c
cc -o vacation  -L/usr/local/lib -R/usr/local/lib vacation.o      /Download/sendmail-8.14.3/obj.SunOS.5.9.sun4/libsmdb/libsmdb.a /Download/sendmail-8.14.3/obj.SunOS.5.9.sun4/libsmutil/libsmutil.a /Download/sendmail-8.14.3/obj.SunOS.5.9.sun4/libsm/libsm.a  -lresolv -lsocket -lnsl -lssl -lcrypto
ld: fatal: library -lssl: not found
ld: fatal: library -lcrypto: not found
ld: fatal: File processing errors. No output written to vacation
collect2: ld returned 1 exit status
make[1]: *** [vacation] Error 1
make[1]: Leaving directory `/Download/sendmail-8.14.3/obj.SunOS.5.9.sun4/vacation'
make: *** [all] Error 2
ismine/Download/sendmail-8.14.3$

--- Ende Code ---

ct,

erisch:

--- Code: ---define(`confLIBDIRS', `-L/usr/local/lib -R/usr/local/lib L/usr/local/ssl/lib -R/usr/local/ssl/lib')

--- Ende Code ---

da fehlt schonmal das "-" vorm L

und manchmal frisst der verwendete Buildmechanismus die als Env-Variablen gesetzten Flags nicht. In solchen Faellen kann man die betreffende Zeile

--- Code: ---cc -o vacation  -L/usr/local/lib -R/usr/local/lib vacation.o      /Download/sendmail-8.14.3/obj.SunOS.5.9.sun4/libsmdb/libsmdb.a /Download/sendmail-8.14.3/obj.SunOS.5.9.sun4/libsmutil/libsmutil.a /Download/sendmail-8.14.3/obj.SunOS.5.9.sun4/libsm/libsm.a  -lresolv -lsocket -lnsl -lssl -lcrypto

--- Ende Code ---

auch per Hand rauskopieren, die entsprechenden Flags einsetzen und einzeln kompilieren. Alternativ kann man auch das makefile anpassen und die Flags nachtragen.

signal_15:

--- Code: ---[code]ja, du hast recht. das fehlende minus zeichen ist mir dann auch aufgefallen als cc meinte es koennte das file L/usr/... nicht finden.

so wie's aussieht sollte man lieber 'APPENDDEF' zum erstellen von listen fuer verzeichnisse hernehme als 'define', da dieses die werte jedesmal zuruecksetzt. ausserdem scheint es so, dass die site.config.m4 mittels -f option angegeben werden muss. ueberall steht zwar man kann diese option benutzen, aber ich habe definitiv andere/bessere ergebnisse mit dieser option. die site.config.m4 sieht jetzt so aus.

--- Ende Code ---
APPENDDEF(`confINCDIRS', `-I/usr/local/ssl/include/')
APPENDDEF(`confINCDIRS', `-I/usr/local/BerkeleyDB.4.7/include')
APPENDDEF(`confINCDIRS', `-I/usr/local/include')
APPENDDEF(`confENVDEF', `-UNIS')
APPENDDEF(`confENVDEF',`-DSTARTTLS')
APPENDDEF(`conf_sendmail_LIBS', `-lsasl2 -lthread')
APPENDDEF(`conf_sendmail_LIBS', `-lssl -lcrypto')
APPENDDEF(`conf_sendmail_LIBS', `-lresolv')
APPENDDEF(`confLIBDIRS', `-L/usr/local/lib')
APPENDDEF(`confLIBDIRS', `-L/usr/local/ssl/lib')
APPENDDEF(`confLIBDIRS', `-L/usr/local/BerkeleyDB.4.7/lib')
APPENDDEF(`confLIBDIRS', `-R/usr/local/lib')
APPENDDEF(`confLIBDIRS', `-R/usr/local/ssl/lib')
APPENDDEF(`confLIBDIRS', `-R/usr/local/BerkeleyDB.4.7/lib')
define(`confLIBSEARCH', `')
define(`confMAPDEF', `-DNEWDB')
define(`confHFDIR', `/usr/local/etc/mail')
define(`confINCGRP', `root')
define(`confINCMODE', `644')
define(`confEBINDIR', `/usr/local/bin')
define(`confLIBGRP', `root')
define(`confLIBMODE', `644')
define(`confMANROOT', `/usr/local/man/cat')
define(`MANROOTMAN', `/usr/local/man/man')
define(`confMANOWN', `root')
define(`confMANGRP', `root')
define(`confMANMODE', `644')
define(`confMBINDIR', `/usr/local/sbin')
define(`confMBINOWN', `root')
define(`confMBINGRP', `root')
define(`confMBINMODE', `755')
define(`confSBINDIR', `/usr/local/sbin')
define(`confSBINOWN', `root')
define(`confSBINGRP', `root')
define(`confSHAREDLIBDIR', `/usr/local/lib')
define(`confSTDIR', `/usr/local/etc/mail')
define(`confUBINDIR', `/usr/local/bin')
define(`confUBINGRP', `root')
define(`confUBINOWN', `root')
define(`confUBINMODE', `755')
define(`confCC', `cc')
[/code]

und produziert folgenden fehler:

--- Code: ---Including /Download/sendmail-8.14.3/devtools/Site/site.config.m4
Making dependencies in /Download/sendmail-8.14.3/obj.SunOS.5.9.sun4/vacation
make[1]: Entering directory `/Download/sendmail-8.14.3/obj.SunOS.5.9.sun4/vacation'
if [ -r /usr/include/sysexits.h ]; \
        then \
                ln -s /usr/include/sysexits.h; \
        fi
rm -f sm_os.h
ln -f -s ../../include/sm/os/sm_os_sunos.h sm_os.h
cc -M -I. -I../../sendmail   -I../../include  -I/usr/local/ssl/include/ -I/usr/local/BerkeleyDB.4.7/include -I/usr/local/include -DNEWDB -DSOLARIS=20900 -DNETINET6 -UNIS -DSTARTTLS -DNOT_SENDMAIL   vacation.c    >> Makefile
make[1]: Leaving directory `/Download/sendmail-8.14.3/obj.SunOS.5.9.sun4/vacation'
Making in /Download/sendmail-8.14.3/obj.SunOS.5.9.sun4/vacation
make[1]: Entering directory `/Download/sendmail-8.14.3/obj.SunOS.5.9.sun4/vacation'
cc -O -I. -I../../sendmail   -I../../include  -I/usr/local/ssl/include/ -I/usr/local/BerkeleyDB.4.7/include -I/usr/local/include -DNEWDB -DSOLARIS=20900 -DNETINET6 -UNIS -DSTARTTLS -DNOT_SENDMAIL      -c -o vacation.o vacation.c
cc -o vacation  -L/usr/local/lib -L/usr/local/ssl/lib -L/usr/local/BerkeleyDB.4.7/lib -R/usr/local/lib -R/usr/local/ssl/lib -R/usr/local/BerkeleyDB.4.7/lib vacation.o      /Download/sendmail-8.14.3/obj.SunOS.5.9.sun4/libsmdb/libsmdb.a /Download/sendmail-8.14.3/obj.SunOS.5.9.sun4/libsmutil/libsmutil.a /Download/sendmail-8.14.3/obj.SunOS.5.9.sun4/libsm/libsm.a  -lsocket -lnsl
Undefined                       first referenced
 symbol                             in file
db_version                          /Download/sendmail-8.14.3/obj.SunOS.5.9.sun4/libsmdb/libsmdb.a(smdb2.o)
db_create                           /Download/sendmail-8.14.3/obj.SunOS.5.9.sun4/libsmdb/libsmdb.a(smdb2.o)
ld: fatal: Symbol referencing errors. No output written to vacation
collect2: ld returned 1 exit status
make[1]: *** [vacation] Error 1
make[1]: Leaving directory `/Download/sendmail-8.14.3/obj.SunOS.5.9.sun4/vacation'
make: *** [all] Error 2

--- Ende Code ---

ct,

erisch:
"-ldb" fehlt in der Zeile, das sieht aber nach nem Bug im Makefile aus oder du machst wieder irgendwas haarstraeubendes ...

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln