Autor Thema: Sendmail kompilieren  (Gelesen 15057 mal)

Offline signal_15

  • Sobl Master
  • ****
  • Beiträge: 426
    • Rechenzentrum Amper
Sendmail kompilieren
« 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,

sonnenblen.de - Das unabhängige Sun User Forum

Sendmail kompilieren
« am: 03. Juni 2009, 09:27:04 »

Offline dornroeschen

  • Sobl Junior
  • **
  • Beiträge: 64
Re: Sendmail kompilieren
« Antwort #1 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
 

Offline signal_15

  • Sobl Master
  • ****
  • Beiträge: 426
    • Rechenzentrum Amper
Re: Sendmail kompilieren
« Antwort #2 am: 03. Juni 2009, 10:00:07 »
@Reiner

ok. werde ich gleich mal ausprobieren.

ct,

Offline signal_15

  • Sobl Master
  • ****
  • Beiträge: 426
    • Rechenzentrum Amper
Re: Sendmail kompilieren
« Antwort #3 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,

Offline signal_15

  • Sobl Master
  • ****
  • Beiträge: 426
    • Rechenzentrum Amper
Re: Sendmail kompilieren
« Antwort #4 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,

Offline Ten Little Indyans

  • Sobl Bachelor
  • ***
  • Beiträge: 218
Re: Sendmail kompilieren
« Antwort #5 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.

Offline signal_15

  • Sobl Master
  • ****
  • Beiträge: 426
    • Rechenzentrum Amper
Re: Sendmail kompilieren
« Antwort #6 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,

Offline signal_15

  • Sobl Master
  • ****
  • Beiträge: 426
    • Rechenzentrum Amper
Re: Sendmail kompilieren
« Antwort #7 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,

Offline erisch

  • Sobl Moderator
  • Sobl Guru
  • *****
  • Beiträge: 758
  • TurboSPAAAAAG
    • erisch.homeunix.net
Re: Sendmail kompilieren
« Antwort #8 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

Offline signal_15

  • Sobl Master
  • ****
  • Beiträge: 426
    • Rechenzentrum Amper
Re: Sendmail kompilieren
« Antwort #9 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,

sonnenblen.de - Das unabhängige Sun User Forum

Re: Sendmail kompilieren
« Antwort #9 am: 04. Juni 2009, 13:44:45 »

Offline erisch

  • Sobl Moderator
  • Sobl Guru
  • *****
  • Beiträge: 758
  • TurboSPAAAAAG
    • erisch.homeunix.net
Re: Sendmail kompilieren
« Antwort #10 am: 04. Juni 2009, 13:49:21 »
-L/usr/local/ssl/lib -R/usr/local/ssl/lib (oder wo auch immer die libs rumfliegen)

Offline signal_15

  • Sobl Master
  • ****
  • Beiträge: 426
    • Rechenzentrum Amper
Re: Sendmail kompilieren
« Antwort #11 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,

Offline erisch

  • Sobl Moderator
  • Sobl Guru
  • *****
  • Beiträge: 758
  • TurboSPAAAAAG
    • erisch.homeunix.net
Re: Sendmail kompilieren
« Antwort #12 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.

Offline signal_15

  • Sobl Master
  • ****
  • Beiträge: 426
    • Rechenzentrum Amper
Re: Sendmail kompilieren
« Antwort #13 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,

Offline erisch

  • Sobl Moderator
  • Sobl Guru
  • *****
  • Beiträge: 758
  • TurboSPAAAAAG
    • erisch.homeunix.net
Re: Sendmail kompilieren
« Antwort #14 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 ...