sonnenblen.de - Das unabhängige Sun User Forum

Software => Programmieren, Kompilieren => Thema gestartet von: signal_15 am 03. Juni 2009, 09:27:04

Titel: Sendmail kompilieren
Beitrag von: signal_15 am 03. Juni 2009, 09:27:04
Hi,

und wie versprochen, ein fehler beim kompilieren von sendmail.

...
...
ln -f -s ../../include/sm/os/sm_os_sunos.h sm_os.h
gcc -M -I. -I../../sendmail   -I../../include  -DNDBM -DNIS -DNISPLUS -DMAP_REGEX -DSOLARIS=20900 -DNETINET6 -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'
gcc -O -I. -I../../sendmail   -I../../include  -DNDBM -DNIS -DNISPLUS -DMAP_REGEX -DSOLARIS=20900 -DNETINET6 -DNOT_SENDMAIL    -I/usr/local/include -I/usr/include  -c -o vacation.o vacation.c
gcc -o vacation   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
Undefined                       first referenced
 symbol                             in file
dbm_pagfno                          /Download/sendmail-8.14.3/obj.SunOS.5.9.sun4/libsmdb/libsmdb.a(smndbm.o)
dbm_dirfno                          /Download/sendmail-8.14.3/obj.SunOS.5.9.sun4/libsmdb/libsmdb.a(smndbm.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
ismine/Download/sendmail-8.14.3$

weiss einer rat?

ct,
Titel: Re: Sendmail kompilieren
Beitrag von: dornroeschen am 03. Juni 2009, 09:54:45
dbm_pagfno ist eine ndbm Funktion, die in /usr/include/ndbm.h als Define auf eine andere Funktion gemappt wird. Ich vermute daher, dass in Deinem Include Pfad ein anderes ndbm.h liegt (/usr/local/include ?), das vor /usr/include/ndbm.h gefunden wird. Du musst dafür sorgen, dass statt dessen /usr/include/ndbm.h eingefügt wird.

Rainer
 
Titel: Re: Sendmail kompilieren
Beitrag von: signal_15 am 03. Juni 2009, 10:00:07
@Reiner

ok. werde ich gleich mal ausprobieren.

ct,
Titel: Re: Sendmail kompilieren
Beitrag von: signal_15 am 03. Juni 2009, 10:24:11
kann mann denn beim kompilieren von sendmail keinen prefix setzen? ich will das ding nicht unter /usr/sbin haben.

ct,
Titel: Re: Sendmail kompilieren
Beitrag von: signal_15 am 03. Juni 2009, 10:50:45
nee, '/usr/local/include' rauslassen hat keine besserung gebracht.

gcc -O -I. -I../../sendmail   -I../../include  -DNDBM -DNIS -DNISPLUS -DMAP_REGEX -DSOLARIS=20900 -DNETINET6 -DNOT_SENDMAIL    -I/usr/include  -c -o vacation.o vacation.c
gcc -o vacation   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
Undefined                       first referenced
 symbol                             in file
dbm_pagfno                          /Download/sendmail-8.14.3/obj.SunOS.5.9.sun4/libsmdb/libsmdb.a(smndbm.o)
dbm_dirfno                          /Download/sendmail-8.14.3/obj.SunOS.5.9.sun4/libsmdb/libsmdb.a(smndbm.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

ct,
Titel: Re: Sendmail kompilieren
Beitrag von: Ten Little Indyans am 03. Juni 2009, 12:23:41
nee, '/usr/local/include' rauslassen hat keine besserung gebracht.

Undefined                       first referenced
 symbol                             in file
dbm_pagfno                          /Download/sendmail-8.14.3/obj.SunOS.5.9.sun4/libsmdb/libsmdb.a(smndbm.o)
dbm_dirfno                          /Download/sendmail-8.14.3/obj.SunOS.5.9.sun4/libsmdb/libsmdb.a(smndbm.o)
ld: fatal: Symbol referencing errors. No output written to vacation

Ist denn libsmdb.a bzw. das Objekt smndbm.o nach der Änderung auch wirklich neu übersetzt worden?

Wie bereits von Rainer erwähnt handelt es sich bei dbm_pagfno und dbm_dirfno um Makros, es gibt also gar kein Symbol das referenziert werden müsste. Versuch mal vorher ein 'make clean' um die bereits übersetzte Bibliothek libsmdb.a platt zu machen.
Titel: Re: Sendmail kompilieren
Beitrag von: signal_15 am 03. Juni 2009, 12:48:26
nein. ein 'make clean' hat keine besserung gebracht.

gcc -O -I. -I../../sendmail   -I../../include  -DNDBM -DNIS -DNISPLUS -DMAP_REGEX -DSOLARIS=20900 -DNETINET6 -DNOT_SENDMAIL    -I/usr/include  -c -o vacation.o vacation.c
gcc -o vacation   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
Undefined                       first referenced
 symbol                             in file
dbm_pagfno                          /Download/sendmail-8.14.3/obj.SunOS.5.9.sun4/libsmdb/libsmdb.a(smndbm.o)
dbm_dirfno                          /Download/sendmail-8.14.3/obj.SunOS.5.9.sun4/libsmdb/libsmdb.a(smndbm.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

ct,
Titel: Re: Sendmail kompilieren
Beitrag von: signal_15 am 04. Juni 2009, 13:00:38
Mahlzeit,

aus den gruppen comp.mail.sendmail und comp.unix.solaris habe ich ein paar infos und anregungen bekommen und schrieb mir folgende 'devtools/Site/site.config.m4' zusammen. ob sich das problem bezuglich ndbm geloest hat kann ich noch nicht sagen. denke aber schon, da es nun mit BerkeleyDB kompiliert wird.

site.config.m4
APPENDDEF(`confINCDIRS', `-I/usr/local/ssl/include/openssl')
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')
define(`confMAPDEF', `-DNEWDB')
define(`confHFDIR', `/usr/local/etc/mail')
define(`confINCDIRS', `-I/usr/local/include')
define(`confINCDIRS', `-I/usr/local/ssl/include/openssl')
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')

jedenfalls laeuft das ganze in einen fehler bezueglich nicht gefundener ssl.h die unter /usr/local/ssl/include/openssl liegt und eigentlich auch in der site.config.m4 angegeben wird.

...
...
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'
(cd ../../libsmutil; sh Build )
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/libsmutil
make[2]: Entering directory `/Download/sendmail-8.14.3/obj.SunOS.5.9.sun4/libsmutil'
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/openssl  -c -o debug.o debug.c
In file included from debug.c:11:
../../sendmail/sendmail.h:125:27: openssl/ssl.h: No such file or directory
In file included from debug.c:11:
../../sendmail/sendmail.h:694: error: syntax error before "SSL"
../../sendmail/sendmail.h:694: warning: no semicolon at end of struct or union
../../sendmail/sendmail.h:697: error: syntax error before '}' token
../../sendmail/sendmail.h:1451: error: field `sv_mci' has incomplete type
../../sendmail/sendmail.h:1883: error: syntax error before '*' token
../../sendmail/sendmail.h:1887: error: syntax error before '*' token
../../sendmail/sendmail.h:1888: error: syntax error before '*' token
../../sendmail/sendmail.h:2630: error: syntax error before '*' token
make[2]: *** [debug.o] Error 1
make[2]: Leaving directory `/Download/sendmail-8.14.3/obj.SunOS.5.9.sun4/libsmutil'
make[1]: *** [/Download/sendmail-8.14.3/obj.SunOS.5.9.sun4/libsmutil/libsmutil.a] Error 2
make[1]: Leaving directory `/Download/sendmail-8.14.3/obj.SunOS.5.9.sun4/vacation'
make: *** [all] Error 2

ct,
Titel: Re: Sendmail kompilieren
Beitrag von: erisch am 04. Juni 2009, 13:18:18
-I/usr/local/ssl/include/openssl  >> -I/usr/local/ssl/include

im Moment wuerde er ssl.h in /usr/local/ssl/include/openssl/openssl suchen

Mfg. erisch
Titel: Re: Sendmail kompilieren
Beitrag von: signal_15 am 04. Juni 2009, 13:44:45
ich glaube dem Build-skript ist es egal was ich in die site.config.m4 reinschreibe. keine aenderung. ich habe jetzt folgendes in meiner .profile datei
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"

und siehe da! die ssl.h sowie die db.h werden nun gefunden. dafuer aber nun folgender fehler.
cc -o sendmail  -L/usr/local/lib -R/usr/local/lib main.o alias.o arpadate.o bf.o collect.o conf.o control.o convtime.o daemon.o deliver.o domain.o envelope.o err.o headers.o macro.o map.o mci.o milter.o mime.o parseaddr.o queue.o ratectrl.o readcf.o recipient.o sasl.o savemail.o sfsasl.o shmticklib.o sm_resolve.o srvrsmtp.o stab.o stats.o sysexits.o timers.o tls.o trace.o udb.o usersmtp.o util.o version.o      /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 sendmail
collect2: ld returned 1 exit status
make[1]: *** [sendmail] Error 1
make[1]: Leaving directory `/Download/sendmail-8.14.3/obj.SunOS.5.9.sun4/sendmail'
Making all in:
/Download/sendmail-8.14.3/editmap
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/editmap
make[1]: Entering directory `/Download/sendmail-8.14.3/obj.SunOS.5.9.sun4/editmap'
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 editmap.o editmap.c
cc -o editmap  -L/usr/local/lib -R/usr/local/lib editmap.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 editmap
collect2: ld returned 1 exit status
make[1]: *** [editmap] Error 1
make[1]: Leaving directory `/Download/sendmail-8.14.3/obj.SunOS.5.9.sun4/editmap'
Making all in:
/Download/sendmail-8.14.3/mail.local
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/mail.local
make[1]: Entering directory `/Download/sendmail-8.14.3/obj.SunOS.5.9.sun4/mail.local'
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 mail.local.o mail.local.c
cc -o mail.local  -L/usr/local/lib -R/usr/local/lib mail.local.o      /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 mail.local
collect2: ld returned 1 exit status
make[1]: *** [mail.local] Error 1
make[1]: Leaving directory `/Download/sendmail-8.14.3/obj.SunOS.5.9.sun4/mail.local'
Making all in:
/Download/sendmail-8.14.3/mailstats
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/mailstats
make[1]: Entering directory `/Download/sendmail-8.14.3/obj.SunOS.5.9.sun4/mailstats'
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 mailstats.o mailstats.c
cc -o mailstats  -L/usr/local/lib -R/usr/local/lib mailstats.o      /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 mailstats
collect2: ld returned 1 exit status
make[1]: *** [mailstats] Error 1
make[1]: Leaving directory `/Download/sendmail-8.14.3/obj.SunOS.5.9.sun4/mailstats'
Making all in:
/Download/sendmail-8.14.3/makemap
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/makemap
make[1]: Entering directory `/Download/sendmail-8.14.3/obj.SunOS.5.9.sun4/makemap'
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 makemap.o makemap.c
cc -o makemap  -L/usr/local/lib -R/usr/local/lib makemap.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 makemap
collect2: ld returned 1 exit status
make[1]: *** [makemap] Error 1
make[1]: Leaving directory `/Download/sendmail-8.14.3/obj.SunOS.5.9.sun4/makemap'
Making all in:
/Download/sendmail-8.14.3/praliases
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/praliases
make[1]: Entering directory `/Download/sendmail-8.14.3/obj.SunOS.5.9.sun4/praliases'
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 praliases.o praliases.c
cc -o praliases  -L/usr/local/lib -R/usr/local/lib praliases.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 praliases
collect2: ld returned 1 exit status
make[1]: *** [praliases] Error 1
make[1]: Leaving directory `/Download/sendmail-8.14.3/obj.SunOS.5.9.sun4/praliases'
Making all in:
/Download/sendmail-8.14.3/rmail
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/rmail
make[1]: Entering directory `/Download/sendmail-8.14.3/obj.SunOS.5.9.sun4/rmail'
cc -O -I. -I../../sendmail   -I../../include -I/usr/local/include -DNEWDB -DSOLARIS=20900 -DNETINET6 -UNIS -DSTARTTLS    -I/usr/local/include -I/usr/include -I/usr/local/ssl/include -I/usr/local/BerkeleyDB.4.7/include  -c -o rmail.o rmail.c
cc -o rmail  -L/usr/local/lib -R/usr/local/lib rmail.o      /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 rmail
collect2: ld returned 1 exit status
make[1]: *** [rmail] Error 1
make[1]: Leaving directory `/Download/sendmail-8.14.3/obj.SunOS.5.9.sun4/rmail'
Making all in:
/Download/sendmail-8.14.3/smrsh
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/smrsh
make[1]: Entering directory `/Download/sendmail-8.14.3/obj.SunOS.5.9.sun4/smrsh'
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 smrsh.o smrsh.c
cc -o smrsh  -L/usr/local/lib -R/usr/local/lib smrsh.o      /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 smrsh
collect2: ld returned 1 exit status
make[1]: *** [smrsh] Error 1
make[1]: Leaving directory `/Download/sendmail-8.14.3/obj.SunOS.5.9.sun4/smrsh'
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

ach gott, wie war das doch noch mal mit den libs?

ct,
Titel: Re: Sendmail kompilieren
Beitrag von: erisch am 04. Juni 2009, 13:49:21
-L/usr/local/ssl/lib -R/usr/local/ssl/lib (oder wo auch immer die libs rumfliegen)
Titel: Re: Sendmail kompilieren
Beitrag von: signal_15 am 04. Juni 2009, 14:27:23
Hallo Erish,

keine besserung. die variablene habe ich wie folgend gesetzt ...
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"

... und in die site.config.m4 sieht so aus.
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')

und trotzdem der selbe fehler bezuglich fehlender -lssl und -lcrypto.
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$

ct,
Titel: Re: Sendmail kompilieren
Beitrag von: erisch am 04. Juni 2009, 14:41:23
define(`confLIBDIRS', `-L/usr/local/lib -R/usr/local/lib L/usr/local/ssl/lib -R/usr/local/ssl/lib')

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
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

auch per Hand rauskopieren, die entsprechenden Flags einsetzen und einzeln kompilieren. Alternativ kann man auch das makefile anpassen und die Flags nachtragen.
Titel: Re: Sendmail kompilieren
Beitrag von: signal_15 am 04. Juni 2009, 15:51:05
[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.
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:
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

ct,
Titel: Re: Sendmail kompilieren
Beitrag von: erisch am 04. Juni 2009, 16:09:17
"-ldb" fehlt in der Zeile, das sieht aber nach nem Bug im Makefile aus oder du machst wieder irgendwas haarstraeubendes ...
Titel: Re: Sendmail kompilieren
Beitrag von: signal_15 am 04. Juni 2009, 16:13:49
woher weisst du, dass ein '-ldb' fehlt? und wie bekomme ich das rein?

haarstreubendes? ich? neee! diesmal wirklich nicht. ich habe die CPPFLAGS und LDFLAGS rausgeschmissen und LD_LIBRARY_PATH benutze ich diesmal auch nicht.-)

ct,
Titel: Re: Sendmail kompilieren
Beitrag von: signal_15 am 04. Juni 2009, 16:42:16
heah!? war's das etwa schon? ich habe "APPENDDEF(`confLIBS', `-ldb')" in die site.config.m4 mit aufgenommen und siehe da. kein ERROR zu sehen. aber irgendwie traue ich der sache aber nicht. irgendwas muss bestimmt noch im argen liegen.

ct,
Titel: Re: Sendmail kompilieren
Beitrag von: erisch am 04. Juni 2009, 16:50:38
woher weisst du, dass ein '-ldb' fehlt?

google weiss alles und die Minute hab ich auch noch uebrig ;)

aber irgendwie traue ich der sache aber nicht. irgendwas muss bestimmt noch im argen liegen.

naja, wenns funktioniert ist es gut. Kannst ja schauen obs vedaechtige Warnungen gibt.
Titel: Re: Sendmail kompilieren
Beitrag von: signal_15 am 04. Juni 2009, 17:10:59
jetzt ist erst mal feierabend. morgen schaue ich mir das ganze noch mal genau an. dann muss ich auch noch sehen ob die milter unterstuetzt werden.

@erisch, ich danke dir fuer deine unterstuetzung.

ct,