SuSE 8.1 - Postfix 2.1.5 not building.
I'm trying to build postfix 2.1.5 from source under SuSE 8.1 but am getting the following error: ------------ linux:~/install_files/postfix-2.1.5 # make install set -e; for i in src/util src/global src/dns src/master src/postfix src/smtpstone src/sendmail src/error src/pickup src/cleanup src/smtpd src/local src/lmtp src/trivial-rewrite src/qmgr src/oqmgr src/smtp src/bounce src/pipe src/showq src/postalias src/postcat src/postconf src/postdrop src/postkick src/postlock src/postlog src/postmap src/postqueue src/postsuper src/qmqpd src/spawn src/flush src/verify src/virtual src/proxymap; do \ (set -e; echo "[$i]"; cd $i; make 'CC=gcc -Wmissing-prototypes -Wformat -DHAS_MYSQL -I/usr/local/mysql/include /mysql -DHAS_PCRE ' update MAKELEVEL=) || exit 1; \ done [src/util] for i in argv.h attr.h base64_code.h binhash.h chroot_uid.h clean_env.h connect.h ctable.h dict.h dict_db.h dict_dbm.h dict_env.h dict_cidr.h dict_ht.h dict_ni.h dict_nis.h dict_nisplus.h dict_pcre.h dict_regexp.h dict_static.h dict_tcp.h dict_unix.h dir_forest.h events.h exec_command.h find_inet.h fsspace.h fullname.h get_domainname.h get_hostname.h hex_quote.h host_port.h htable.h inet_addr_host.h inet_addr_list.h inet_addr_local.h inet_util.h iostuff.h line_wrap.h listen.h lstat_as.h mac_expand.h mac_parse.h make_dirs.h match_list.h match_ops.h msg.h msg_output.h msg_syslog.h msg_vstream.h mvect.h myflock.h mymalloc.h myrand.h name_mask.h netstring.h nvtable.h open_as.h open_lock.h percentm.h posix_signals.h readlline.h ring.h safe.h safe_open.h sane_accept.h sane_fsops.h sane_socketpair.h sane_time.h scan_dir.h set_eugid.h set_ugid.h sigdelay.h spawn_command.h split_at.h stat_as.h stringops.h sys_defs.h timed_connect.h timed_wait.h trigger.h username.h valid_hostname.h vbuf.h vbuf_print.h vstream.h vstring.h vstring_vstream.h watchdog.h auto_clnt.h attr_clnt.h sane_connect.h name_code.h; \ do \ cmp -s $i ../../include/$i 2>/dev/null || cp $i ../../include; \ done cd ../../include; chmod 644 argv.h attr.h base64_code.h binhash.h chroot_uid.h clean_env.h connect.h ctable.h dict.h dict_db.h dict_dbm.h dict_env.h dict_cidr.h dict_ht.h dict_ni.h dict_nis.h dict_nisplus.h dict_pcre.h dict_regexp.h dict_static.h dict_tcp.h dict_unix.h dir_forest.h events.h exec_command.h find_inet.h fsspace.h fullname.h get_domainname.h get_hostname.h hex_quote.h host_port.h htable.h inet_addr_host.h inet_addr_list.h inet_addr_local.h inet_util.h iostuff.h line_wrap.h listen.h lstat_as.h mac_expand.h mac_parse.h make_dirs.h match_list.h match_ops.h msg.h msg_output.h msg_syslog.h msg_vstream.h mvect.h myflock.h mymalloc.h myrand.h name_mask.h netstring.h nvtable.h open_as.h open_lock.h percentm.h posix_signals.h readlline.h ring.h safe.h safe_open.h sane_accept.h sane_fsops.h sane_socketpair.h sane_time.h scan_dir.h set_eugid.h set_ugid.h sigdelay.h spawn_command.h split_at.h stat_as.h stringops.h sys_defs.h timed_connect.h timed_wait.h trigger.h username.h valid_hostname.h vbuf.h vbuf_print.h vstream.h vstring.h vstring_vstream.h watchdog.h auto_clnt.h attr_clnt.h sane_connect.h name_code.h [src/global] for i in abounce.h been_here.h bounce.h bounce_log.h canon_addr.h cfg_parser.h cleanup_user.h clnt_stream.h config.h debug_peer.h debug_process.h defer.h deliver_completed.h deliver_flock.h deliver_pass.h deliver_request.h dict_ldap.h dict_mysql.h dict_pgsql.h dict_proxy.h domain_list.h dot_lockfile.h dot_lockfile_as.h ext_prop.h file_id.h flush_clnt.h header_opts.h header_token.h hold_message.h input_transp.h is_header.h lex_822.h log_adhoc.h mail_addr.h mail_addr_crunch.h mail_addr_find.h mail_addr_map.h mail_conf.h mail_copy.h mail_date.h mail_dict.h mail_error.h mail_flush.h mail_open_ok.h mail_params.h mail_proto.h mail_queue.h mail_run.h mail_scan_dir.h mail_stream.h mail_task.h mail_version.h maps.h mark_corrupt.h match_parent_style.h mbox_conf.h mbox_open.h mime_state.h mkmap.h mynetworks.h mypwd.h namadr_list.h off_cvt.h opened.h own_inet_addr.h pipe_command.h post_mail.h qmgr_user.h qmqp_proto.h quote_821_local.h quote_822_local.h quote_flags.h rec_streamlf.h rec_type.h recipient_list.h record.h resolve_clnt.h resolve_local.h rewrite_clnt.h sent.h smtp_stream.h split_addr.h string_list.h strip_addr.h sys_exits.h timed_ipc.h tok822.h trace.h verify.h verify_clnt.h verp_sender.h virtual8_maps.h xtext.h; \ do \ cmp -s $i ../../include/$i 2>/dev/null || cp $i ../../include; \ done cd ../../include; chmod 644 abounce.h been_here.h bounce.h bounce_log.h canon_addr.h cfg_parser.h cleanup_user.h clnt_stream.h config.h debug_peer.h debug_process.h defer.h deliver_completed.h deliver_flock.h deliver_pass.h deliver_request.h dict_ldap.h dict_mysql.h dict_pgsql.h dict_proxy.h domain_list.h dot_lockfile.h dot_lockfile_as.h ext_prop.h file_id.h flush_clnt.h header_opts.h header_token.h hold_message.h input_transp.h is_header.h lex_822.h log_adhoc.h mail_addr.h mail_addr_crunch.h mail_addr_find.h mail_addr_map.h mail_conf.h mail_copy.h mail_date.h mail_dict.h mail_error.h mail_flush.h mail_open_ok.h mail_params.h mail_proto.h mail_queue.h mail_run.h mail_scan_dir.h mail_stream.h mail_task.h mail_version.h maps.h mark_corrupt.h match_parent_style.h mbox_conf.h mbox_open.h mime_state.h mkmap.h mynetworks.h mypwd.h namadr_list.h off_cvt.h opened.h own_inet_addr.h pipe_command.h post_mail.h qmgr_user.h qmqp_proto.h quote_821_local.h quote_822_local.h quote_flags.h rec_streamlf.h rec_type.h recipient_list.h record.h resolve_clnt.h resolve_local.h rewrite_clnt.h sent.h smtp_stream.h split_addr.h string_list.h strip_addr.h sys_exits.h timed_ipc.h tok822.h trace.h verify.h verify_clnt.h verp_sender.h virtual8_maps.h xtext.h [src/dns] for i in dns.h; \ do \ cmp -s $i ../../include/$i 2>/dev/null || cp $i ../../include; \ done cd ../../include; chmod 644 dns.h [src/master] gcc -Wmissing-prototypes -Wformat -DHAS_MYSQL -I/usr/local/mysql/include/mys ql -DHAS_PCRE -g -O -I. -I../../include -DLINUX2 -o master master.o master_conf.o master_ent.o master_sig.o master_avail.o master_spawn.o master_service.o master_status.o master_listen.o master_vars.o master_wakeup.o master_flow.o ../../lib/libglobal.a ../../lib/libutil.a -L/usr/local/mysql/lib/mysql -lmysqlclient -lz -lm -L/us r/lib -lpcre -ldb -lnsl -lresolv /usr/lib/gcc-lib/i486-suse-linux/3.2/../../../../i486-suse-linux/bin/ld: cannot find -ldb collect2: ld returned 1 exit status make: *** [master] Error 1 make: *** [update] Error 1 ------------ I'm trying to build postfix with MySQL support, so I used this make: make -f Makefile.init makefiles \ 'CCARGS=-DHAS_MYSQL -I/usr/local/mysql/include' \ 'AUXLIBS=-L/usr/local/mysql/lib -lmysqlclient -lz -lm' One problem I had was <db.h> not found, so I added the following sym link to /usr/include: ln -s /usr/include/db2/db.h db.h This allowed me to do the make, but the "make install" fails. Any ideas on how to fix? Thanks, --BobC
Carlos E. R. wrote
You probably don't have libdb installed, package db-devel.
Is db-devel the same as MySQL-devel-4.0.21-0.i386? What's the best way to tell if libdb is installed? Here's the result of a "whereis": ---------- linux:~/install_files # whereis libdb libdb: /usr/lib/libdb1.a /usr/lib/libdb2.a /usr/lib/libdb1.so /usr/lib/libdb2.so ---------- Thanks, --BobC
The Wednesday 2004-10-06 at 23:56 -0700, Bob Carpenter wrote:
Carlos E. R. wrote
You probably don't have libdb installed, package db-devel.
Is db-devel the same as MySQL-devel-4.0.21-0.i386?
No. db-devel is db-devel, obviously.
What's the best way to tell if libdb is installed? Here's the result of a "whereis":
---------- linux:~/install_files # whereis libdb libdb: /usr/lib/libdb1.a /usr/lib/libdb2.a /usr/lib/libdb1.so /usr/lib/libdb2.so ----------
Yes, you have libdb installed, as needed for a program that uses it. But, you do not have the files needed for compilation of a program using libdb. I'll try to clarify. The last few lines of the compilation - the rest are not needed here - say: ../../lib/libutil.a -L/usr/local/mysql/lib/mysql -lmysqlclient -lz -lm -L/us r/lib -lpcre -ldb -lnsl -lresolv /usr/lib/gcc-lib/i486-suse-linux/3.2/../../../../i486-suse-linux/bin/ld: cannot find -ldb collect2: ld returned 1 exit status make: *** [master] Error 1 make: *** [update] Error 1 The error is "cannot find -ldb". That means library 'db', ie, libdb. Then search for it, using command "pin libdb", for example. You should know that SuSE distributes the development files needed to compile things in rpms of the name package-devel*rpm. Note: before compiling a requested library yourself, first make sure that it is not supplied by SuSE, or you will get into problems by installing a different version of the one required by other programs on your system. If you don't know what package provides certain file, search for it using "pin". Then install it using Yast. So... on another post you put this log - only these few lines are sufficient, not the whole 15000 bytes you emailed: -lnss_files -lnss_dns -lresolv -lc -lnss_files -lnss_dns -lresolv -L/usr/li b -lpcre -ldb -lnsl -lresolv /usr/lib/gcc-lib/i486-suse-linux/3.2/../../../../i486-suse-linux/bin/ld: cannot find -lnss_files collect2: ld returned 1 exit status make: *** [master] Error 1 make: *** [update] Error 1 Ok, you should yourself be able determine what is needed. It is on the CD, I checked. -- Cheers, Carlos Robinson
On Friday 08 October 2004 02:04, Carlos E. R. wrote:
The Wednesday 2004-10-06 at 23:56 -0700, Bob Carpenter wrote:
Carlos E. R. wrote
You probably don't have libdb installed, package db-devel.
Is db-devel the same as MySQL-devel-4.0.21-0.i386?
No. db-devel is db-devel, obviously.
Watch out here folks, there are two versions of db/glibc: an i586 and an i686 version. db and glibc have to be both of the same kind. To see what is installed: rpm -qa --qf %{DISTRIBUTION}\\\ %{NAME}\\\n | egrep '\<(glibc|db)(-devel)?$' Cheers, Leen
On Friday, 8 October 2004 11.03, Leendert Meyer wrote:
On Friday 08 October 2004 02:04, Carlos E. R. wrote:
The Wednesday 2004-10-06 at 23:56 -0700, Bob Carpenter wrote:
Carlos E. R. wrote
You probably don't have libdb installed, package db-devel.
Is db-devel the same as MySQL-devel-4.0.21-0.i386?
No. db-devel is db-devel, obviously.
Watch out here folks, there are two versions of db/glibc: an i586 and an i686 version. db and glibc have to be both of the same kind.
To clarify: in 9.1 this is a concern. In 8.1, which is what the question was about, and in 8.2 and 9.0 there is only an i586 version of db version 4, which works even if you have the i686 version of glibc
On Friday 08 October 2004 11:04, Anders Johansson wrote:
On Friday, 8 October 2004 11.03, Leendert Meyer wrote:
On Friday 08 October 2004 02:04, Carlos E. R. wrote:
The Wednesday 2004-10-06 at 23:56 -0700, Bob Carpenter wrote:
Carlos E. R. wrote
You probably don't have libdb installed, package db-devel.
Is db-devel the same as MySQL-devel-4.0.21-0.i386?
No. db-devel is db-devel, obviously.
Watch out here folks, there are two versions of db/glibc: an i586 and an i686 version. db and glibc have to be both of the same kind.
To clarify: in 9.1 this is a concern. In 8.1, which is what the question was about, and in 8.2 and 9.0 there is only an i586 version of db version 4, which works even if you have the i686 version of glibc
Good point, Anders. I already wondered what version this was about, but did not look at the subject. I only saw problems concerning db, and my alarm bells started ringing... Leen
The Friday 2004-10-08 at 11:03 +0200, Leendert Meyer wrote:
No. db-devel is db-devel, obviously.
Watch out here folks, there are two versions of db/glibc: an i586 and an i686 version. db and glibc have to be both of the same kind.
Ahhhh... yes, that explains the diferences. Yes, I did my initial checkings on a suse 7.3, no such thing there.
To see what is installed:
rpm -qa --qf %{DISTRIBUTION}\\\ %{NAME}\\\n | egrep '\<(glibc|db)(-devel)?$'
Intresting. Mine do not match: SuSE Linux 9.1 (i586) db-devel SuSE Linux 9.1 (i586) glibc-devel SuSE Linux 9.1 (i586) db <---- SuSE Linux 9.1 (i686) glibc Should I solve that? How? -- Cheers, Carlos Robinson
On Friday 08 October 2004 13:59, Carlos E. R. wrote:
The Friday 2004-10-08 at 11:03 +0200, Leendert Meyer wrote:
No. db-devel is db-devel, obviously.
Watch out here folks, there are two versions of db/glibc: an i586 and an i686 version. db and glibc have to be both of the same kind.
Ahhhh... yes, that explains the diferences. Yes, I did my initial checkings on a suse 7.3, no such thing there.
To see what is installed:
rpm -qa --qf %{DISTRIBUTION}\\\ %{NAME}\\\n | egrep '\<(glibc|db)(-devel)?$'
Intresting. Mine do not match:
SuSE Linux 9.1 (i586) db-devel SuSE Linux 9.1 (i586) glibc-devel SuSE Linux 9.1 (i586) db <---- SuSE Linux 9.1 (i686) glibc
Should I solve that? How?
Yes, you should. IMO, best would be to leave the i686 glibc, because it is the biggest rpm. That means db, db-devel, and glibc-devel have to be uninstalled, and re-installed with their i686 counterparts. Cheers, Leen
On Friday, 8 October 2004 14.15, Leendert Meyer wrote:
Intresting. Mine do not match:
SuSE Linux 9.1 (i586) db-devel SuSE Linux 9.1 (i586) glibc-devel SuSE Linux 9.1 (i586) db <---- SuSE Linux 9.1 (i686) glibc
Should I solve that? How?
Yes, you should.
IMO, best would be to leave the i686 glibc, because it is the biggest rpm.
That's not the only reason. The i686 glibc has the NPTL threading model, the i586 version does not
On Friday 08 October 2004 14:17, Anders Johansson wrote:
On Friday, 8 October 2004 14.15, Leendert Meyer wrote:
Intresting. Mine do not match:
SuSE Linux 9.1 (i586) db-devel SuSE Linux 9.1 (i586) glibc-devel SuSE Linux 9.1 (i586) db <---- SuSE Linux 9.1 (i686) glibc
Should I solve that? How?
Yes, you should.
IMO, best would be to leave the i686 glibc, because it is the biggest rpm.
That's not the only reason. The i686 glibc has the NPTL threading model, the i586 version does not
Thanks, that was not in the package. But I found a short description on this page: http://www.opensourcetutorials.com/tutorials/Server-Side-Coding/Administrati... Cheers, Leen
The Friday 2004-10-08 at 14:15 +0200, Leendert Meyer wrote:
Intresting. Mine do not match:
SuSE Linux 9.1 (i586) db-devel SuSE Linux 9.1 (i586) glibc-devel SuSE Linux 9.1 (i586) db <---- SuSE Linux 9.1 (i686) glibc
Should I solve that? How?
Yes, you should.
IMO, best would be to leave the i686 glibc, because it is the biggest rpm.
That means db, db-devel, and glibc-devel have to be uninstalled, and re-installed with their i686 counterparts.
Right... I'll have to use rpm manually, it seems that Yast got it wrong when I updated from SuSE 8.2. Mmm, I guess I'll have to tell feedback. -- Cheers, Carlos Robinson
Bob wrote regarding '[SLE] SuSE 8.1 - Postfix 2.1.5 not building.' on Tue, Oct 05 at 22:11:
I'm trying to build postfix 2.1.5 from source under SuSE 8.1 but am getting the following error:
[...snip...]
[src/master] gcc -Wmissing-prototypes -Wformat -DHAS_MYSQL -I/usr/local/mysql/include/mys ql -DHAS_PCRE -g -O -I. -I../../include -DLINUX2 -o master master.o master_conf.o master_ent.o master_sig.o master_avail.o master_spawn.o master_service.o master_status.o master_listen.o master_vars.o master_wakeup.o master_flow.o ../../lib/libglobal.a ../../lib/libutil.a -L/usr/local/mysql/lib/mysql -lmysqlclient -lz -lm -L/us r/lib -lpcre -ldb -lnsl -lresolv /usr/lib/gcc-lib/i486-suse-linux/3.2/../../../../i486-suse-linux/bin/ld: cannot find -ldb collect2: ld returned 1 exit status make: *** [master] Error 1 make: *** [update] Error 1 ------------
I'm trying to build postfix with MySQL support, so I used this make:
make -f Makefile.init makefiles \ 'CCARGS=-DHAS_MYSQL -I/usr/local/mysql/include' \ 'AUXLIBS=-L/usr/local/mysql/lib -lmysqlclient -lz -lm'
One problem I had was <db.h> not found, so I added the following sym link to /usr/include: ln -s /usr/include/db2/db.h db.h
This allowed me to do the make, but the "make install" fails.
Any ideas on how to fix?
I always use mysql_config to get the correct includes and whatnot for mysql. Well, if you let "always" mean "most of the time"... :) Anyway, you can do this: make -f Makefile.init makefiles \ "CCARGS=-DHAS_MYSQL `mysql_config --cflags`" \ "AUXLIBS=`mysql_config --libs`" and possibly have stuff work a bit better. It may not fix your problem, but it does make things a bit easier. BTW, I'm not real big on moving headers around to locations other than where the pakages put them, because then I have to remember what I did. If I leave stuff alone, then other packages assumptions are generally gonna work. I like things to work. :) --Danny
Danny Sauer wrote:
I always use mysql_config to get the correct includes and whatnot for mysql. Well, if you let "always" mean "most of the time"... :)
Anyway, you can do this: make -f Makefile.init makefiles \ "CCARGS=-DHAS_MYSQL `mysql_config --cflags`" \ "AUXLIBS=`mysql_config --libs`" and possibly have stuff work a bit better. It may not fix your problem, but it does make things a bit easier.
BTW, I'm not real big on moving headers around to locations other than where the pakages put them, because then I have to remember what I did. If I leave stuff alone, then other packages assumptions are generally gonna work. I like things to work. :)
--Danny
"CCARGS=-DHAS_MYSQL `mysql_config --cflags`" \ "AUXLIBS=`mysql_config --libs`" make -f Makefile.in MAKELEVEL= Makefiles set -e; for i in src/util src/global src/dns src/master src/postfix src/smtpstone src/sendmail src/error src/pickup src/cleanup src/smtpd src/local src/lmtp src/trivial-rewrite src/qmgr src/oqmgr src/smtp src/bounce src/pipe src/showq src/postalias src/postcat src/postconf src/postdrop src/postkick src/postlock src/postlog src/postmap src/postqueue src/postsuper src/qmqpd src/spawn src/flush src/verify src/virtual src/proxymap; do \ (set -e; echo "[$i]"; cd $i; rm -f Makefile; \ make -f Makefile.in Makefile MAKELEVEL=) || exit 1; \ done; [src/util] (set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs && cat Makefile.in) Makefile [src/global] (set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs && cat Makefile.in) Makefile [src/dns] (set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs && cat Makefile.in) Makefile [src/master] (set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs && cat Makefile.in) Makefile [src/postfix] (set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs && cat Makefile.in) Makefile [src/smtpstone] (set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs && cat Makefile.in) Makefile [src/sendmail] (set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs && cat Makefile.in) Makefile [src/error] (set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs && cat Makefile.in) Makefile [src/pickup] (set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs && cat Makefile.in) Makefile [src/cleanup] (set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs && cat Makefile.in) Makefile [src/smtpd] (set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs && cat Makefile.in) Makefile [src/local] (set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs && cat Makefile.in) Makefile [src/lmtp] (set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs && cat Makefile.in) Makefile [src/trivial-rewrite] (set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs && cat Makefile.in) Makefile [src/qmgr] (set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs && cat Makefile.in) Makefile [src/oqmgr] (set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs && cat Makefile.in) Makefile [src/smtp] (set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs && cat Makefile.in) Makefile [src/bounce] (set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs && cat Makefile.in) Makefile [src/pipe] (set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs && cat Makefile.in) Makefile [src/showq] (set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs && cat Makefile.in) Makefile [src/postalias] (set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs && cat Makefile.in) Makefile [src/postcat] (set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs && cat Makefile.in) Makefile [src/postconf] (set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs && cat Makefile.in) Makefile [src/postdrop] (set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs && cat Makefile.in) Makefile [src/postkick] (set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs && cat Makefile.in) Makefile [src/postlock] (set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs && cat Makefile.in) Makefile [src/postlog] (set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs && cat Makefile.in) Makefile [src/postmap] (set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs && cat Makefile.in) Makefile [src/postqueue] (set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs && cat Makefile.in) Makefile [src/postsuper] (set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs && cat Makefile.in) Makefile [src/qmqpd] (set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs && cat Makefile.in) Makefile [src/spawn] (set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs && cat Makefile.in) Makefile [src/flush] (set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs && cat Makefile.in) Makefile [src/verify] (set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs && cat Makefile.in) Makefile [src/virtual] (set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs; cat Makefile.in) Makefile [src/proxymap] (set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs && cat Makefile.in) Makefile rm -f Makefile; (set -e; /bin/sh makedefs && cat Makefile.in) >Makefile (echo "# Do not edit -- this file documents how Postfix was built for your machine."; /bin/sh makedefs) >makedefs.tmp set +e; if cmp makedefs.tmp conf/makedefs.out; then rm makedefs.tmp; \ else mv makedefs.tmp conf/makedefs.out; fi >/dev/null 2>/dev/null
I tried your suggestion, and now get a different error. Here's the log: ------------ linux:~/install_files/postfix-2.1.5 # make -f Makefile.init makefiles \ linux:~/install_files/postfix-2.1.5 # make install set -e; for i in src/util src/global src/dns src/master src/postfix src/smtpstone src/sendmail src/error src/pickup src/cleanup src/smtpd src/local src/lmtp src/trivial-rewrite src/qmgr src/oqmgr src/smtp src/bounce src/pipe src/showq src/postalias src/postcat src/postconf src/postdrop src/postkick src/postlock src/postlog src/postmap src/postqueue src/postsuper src/qmqpd src/spawn src/flush src/verify src/virtual src/proxymap; do \ (set -e; echo "[$i]"; cd $i; make 'CC=gcc -Wmissing-prototypes -Wformat -DHAS_MYSQL -I/usr/include/mysql -mcpu =i486 -fno-strength-reduce -DHAS_PCRE ' update MAKELEVEL=) || exit 1; \ done [src/util] for i in argv.h attr.h base64_code.h binhash.h chroot_uid.h clean_env.h connect.h ctable.h dict.h dict_db.h dict_dbm.h dict_env.h dict_cidr.h dict_ht.h dict_ni.h dict_nis.h dict_nisplus.h dict_pcre.h dict_regexp.h dict_static.h dict_tcp.h dict_unix.h dir_forest.h events.h exec_command.h find_inet.h fsspace.h fullname.h get_domainname.h get_hostname.h hex_quote.h host_port.h htable.h inet_addr_host.h inet_addr_list.h inet_addr_local.h inet_util.h iostuff.h line_wrap.h listen.h lstat_as.h mac_expand.h mac_parse.h make_dirs.h match_list.h match_ops.h msg.h msg_output.h msg_syslog.h msg_vstream.h mvect.h myflock.h mymalloc.h myrand.h name_mask.h netstring.h nvtable.h open_as.h open_lock.h percentm.h posix_signals.h readlline.h ring.h safe.h safe_open.h sane_accept.h sane_fsops.h sane_socketpair.h sane_time.h scan_dir.h set_eugid.h set_ugid.h sigdelay.h spawn_command.h split_at.h stat_as.h stringops.h sys_defs.h timed_connect.h timed_wait.h trigger.h username.h valid_hostname.h vbuf.h vbuf_print.h vstream.h vstring.h vstring_vstream.h watchdog.h auto_clnt.h attr_clnt.h sane_connect.h name_code.h; \ do \ cmp -s $i ../../include/$i 2>/dev/null || cp $i ../../include; \ done cd ../../include; chmod 644 argv.h attr.h base64_code.h binhash.h chroot_uid.h clean_env.h connect.h ctable.h dict.h dict_db.h dict_dbm.h dict_env.h dict_cidr.h dict_ht.h dict_ni.h dict_nis.h dict_nisplus.h dict_pcre.h dict_regexp.h dict_static.h dict_tcp.h dict_unix.h dir_forest.h events.h exec_command.h find_inet.h fsspace.h fullname.h get_domainname.h get_hostname.h hex_quote.h host_port.h htable.h inet_addr_host.h inet_addr_list.h inet_addr_local.h inet_util.h iostuff.h line_wrap.h listen.h lstat_as.h mac_expand.h mac_parse.h make_dirs.h match_list.h match_ops.h msg.h msg_output.h msg_syslog.h msg_vstream.h mvect.h myflock.h mymalloc.h myrand.h name_mask.h netstring.h nvtable.h open_as.h open_lock.h percentm.h posix_signals.h readlline.h ring.h safe.h safe_open.h sane_accept.h sane_fsops.h sane_socketpair.h sane_time.h scan_dir.h set_eugid.h set_ugid.h sigdelay.h spawn_command.h split_at.h stat_as.h stringops.h sys_defs.h timed_connect.h timed_wait.h trigger.h username.h valid_hostname.h vbuf.h vbuf_print.h vstream.h vstring.h vstring_vstream.h watchdog.h auto_clnt.h attr_clnt.h sane_connect.h name_code.h [src/global] for i in abounce.h been_here.h bounce.h bounce_log.h canon_addr.h cfg_parser.h cleanup_user.h clnt_stream.h config.h debug_peer.h debug_process.h defer.h deliver_completed.h deliver_flock.h deliver_pass.h deliver_request.h dict_ldap.h dict_mysql.h dict_pgsql.h dict_proxy.h domain_list.h dot_lockfile.h dot_lockfile_as.h ext_prop.h file_id.h flush_clnt.h header_opts.h header_token.h hold_message.h input_transp.h is_header.h lex_822.h log_adhoc.h mail_addr.h mail_addr_crunch.h mail_addr_find.h mail_addr_map.h mail_conf.h mail_copy.h mail_date.h mail_dict.h mail_error.h mail_flush.h mail_open_ok.h mail_params.h mail_proto.h mail_queue.h mail_run.h mail_scan_dir.h mail_stream.h mail_task.h mail_version.h maps.h mark_corrupt.h match_parent_style.h mbox_conf.h mbox_open.h mime_state.h mkmap.h mynetworks.h mypwd.h namadr_list.h off_cvt.h opened.h own_inet_addr.h pipe_command.h post_mail.h qmgr_user.h qmqp_proto.h quote_821_local.h quote_822_local.h quote_flags.h rec_streamlf.h rec_type.h recipient_list.h record.h resolve_clnt.h resolve_local.h rewrite_clnt.h sent.h smtp_stream.h split_addr.h string_list.h strip_addr.h sys_exits.h timed_ipc.h tok822.h trace.h verify.h verify_clnt.h verp_sender.h virtual8_maps.h xtext.h; \ do \ cmp -s $i ../../include/$i 2>/dev/null || cp $i ../../include; \ done cd ../../include; chmod 644 abounce.h been_here.h bounce.h bounce_log.h canon_addr.h cfg_parser.h cleanup_user.h clnt_stream.h config.h debug_peer.h debug_process.h defer.h deliver_completed.h deliver_flock.h deliver_pass.h deliver_request.h dict_ldap.h dict_mysql.h dict_pgsql.h dict_proxy.h domain_list.h dot_lockfile.h dot_lockfile_as.h ext_prop.h file_id.h flush_clnt.h header_opts.h header_token.h hold_message.h input_transp.h is_header.h lex_822.h log_adhoc.h mail_addr.h mail_addr_crunch.h mail_addr_find.h mail_addr_map.h mail_conf.h mail_copy.h mail_date.h mail_dict.h mail_error.h mail_flush.h mail_open_ok.h mail_params.h mail_proto.h mail_queue.h mail_run.h mail_scan_dir.h mail_stream.h mail_task.h mail_version.h maps.h mark_corrupt.h match_parent_style.h mbox_conf.h mbox_open.h mime_state.h mkmap.h mynetworks.h mypwd.h namadr_list.h off_cvt.h opened.h own_inet_addr.h pipe_command.h post_mail.h qmgr_user.h qmqp_proto.h quote_821_local.h quote_822_local.h quote_flags.h rec_streamlf.h rec_type.h recipient_list.h record.h resolve_clnt.h resolve_local.h rewrite_clnt.h sent.h smtp_stream.h split_addr.h string_list.h strip_addr.h sys_exits.h timed_ipc.h tok822.h trace.h verify.h verify_clnt.h verp_sender.h virtual8_maps.h xtext.h [src/dns] for i in dns.h; \ do \ cmp -s $i ../../include/$i 2>/dev/null || cp $i ../../include; \ done cd ../../include; chmod 644 dns.h [src/master] gcc -Wmissing-prototypes -Wformat -DHAS_MYSQL -I/usr/include/mysql -mcpu=i48 6 -fno-strength-reduce -DHAS_PCRE -g -O -I. -I../../include -DLINUX2 -o master master.o master_conf.o master_ent.o master_sig.o master_avail.o master_spawn.o master_service.o master_status.o master_listen.o master_vars.o master_wakeup.o master_flow.o ../../lib/libglobal.a ../../lib/libutil.a -L/usr/lib/mysql -lmysqlclient -lz -lcrypt -lnsl -lm -lc -lnss_files -lnss_dns -lresolv -lc -lnss_files -lnss_dns -lresolv -L/usr/li b -lpcre -ldb -lnsl -lresolv /usr/lib/gcc-lib/i486-suse-linux/3.2/../../../../i486-suse-linux/bin/ld: cannot find -lnss_files collect2: ld returned 1 exit status make: *** [master] Error 1 make: *** [update] Error 1 ------------ Thanks, --BobC
Bob wrote regarding 'RE: [SLE] SuSE 8.1 - Postfix 2.1.5 not building.' on Thu, Oct 07 at 01:56:
I tried your suggestion, and now get a different error. Here's the log: [...] ../../lib/libutil.a -L/usr/lib/mysql -lmysqlclient -lz -lcrypt -lnsl -lm -lc -lnss_files -lnss_dns -lresolv -lc -lnss_files -lnss_dns -lresolv -L/usr/li b -lpcre -ldb -lnsl -lresolv /usr/lib/gcc-lib/i486-suse-linux/3.2/../../../../i486-suse-linux/bin/ld: cannot find -lnss_files collect2: ld returned 1 exit status make: *** [master] Error 1 make: *** [update] Error 1
Well, that's odd. That file should be installed as part of glibc, and it should be in /lib as /lib/libnss_files.so.2. Have you tried a "make clean" (or perhaps "make tidy") before running those makes that keep giving you fits with nss, db, etc? You might try that out... For what it's worth, I just built the newest postfix on a SuSE 7.1 box, using the command from my earlier mail, with no problems - so it *does* compile. :) --Danny
The 2004-10-08 at 12:03 -0500, Danny Sauer wrote:
cannot find -lnss_files collect2: ld returned 1 exit status make: *** [master] Error 1 make: *** [update] Error 1
Well, that's odd. That file should be installed as part of glibc, and it should be in /lib as /lib/libnss_files.so.2.
He could be missing glibc-devel. Also, it could be a cross error, because there are some related packages like nss_db.rpm and nss_ldap.rpm.
Have you tried a "make clean" (or perhaps "make tidy") before running those makes that keep giving you fits with nss, db, etc? You might try that out...
For what it's worth, I just built the newest postfix on a SuSE 7.1 box, using the command from my earlier mail, with no problems - so it *does* compile. :)
Notice that he went to the sleepycat site to get db, instead of using db and db-devel from the dvd... installing from source a library so basic will yield problems, I think: there are too many dependencies. -- Cheers, Carlos Robinson
On Wednesday, 6 October 2004 05.12, Bob Carpenter wrote:
gcc -Wmissing-prototypes -Wformat -DHAS_MYSQL -I/usr/local/mysql/include/mys ql -DHAS_PCRE -g -O -I. -I../../include -DLINUX2 -o master master.o master_conf.o master_ent.o master_sig.o master_avail.o master_spawn.o master_service.o master_status.o master_listen.o master_vars.o master_wakeup.o master_flow.o ../../lib/libglobal.a ../../lib/libutil.a -L/usr/local/mysql/lib/mysql -lmysqlclient -lz -lm -L/us r/lib -lpcre -ldb -lnsl -lresolv /usr/lib/gcc-lib/i486-suse-linux/3.2/../../../../i486-suse-linux/bin/ld: cannot find -ldb collect2: ld returned 1 exit status make: *** [master] Error 1 make: *** [update] Error 1 ------------
I'm trying to build postfix with MySQL support, so I used this make:
make -f Makefile.init makefiles \ 'CCARGS=-DHAS_MYSQL -I/usr/local/mysql/include' \ 'AUXLIBS=-L/usr/local/mysql/lib -lmysqlclient -lz -lm'
One problem I had was <db.h> not found, so I added the following sym link to /usr/include: ln -s /usr/include/db2/db.h db.h
Better to add -I/usr/include/db2 to the flags but are you really sure you want to be using db2? I suspect that what you want to do instead of this is to make sure the packages db and db-devel are installed. I wonder if that won't cure the missing lib as well
On Wednesday, 6 October 2004 05.12, Anders Johansson wrote:
Better to add -I/usr/include/db2 to the flags
but are you really sure you want to be using db2? I suspect that what you want to do instead of this is to make sure the packages db and db-devel are installed. I wonder if that won't cure the missing lib as well
I have installed two mysql pkgs: 1) mysql-standard-4.0.21-pc-linux-i686 2) MySQL-devel-4.0.21-0.i386 Is there more that I need? What do you mean by "the packages db and db-devel"? Thanks, --BobC
On Thursday, 7 October 2004 08.38, Bob Carpenter wrote:
On Wednesday, 6 October 2004 05.12, Anders Johansson wrote:
Better to add -I/usr/include/db2 to the flags
but are you really sure you want to be using db2? I suspect that what you
want
to do instead of this is to make sure the packages db and db-devel are installed. I wonder if that won't cure the missing lib as well
I have installed two mysql pkgs:
1) mysql-standard-4.0.21-pc-linux-i686 2) MySQL-devel-4.0.21-0.i386
Is there more that I need?
What do you mean by "the packages db and db-devel"?
Well, I'm not sure how else to put it. There are, on the suse 8.1 CDs (or the ftp site) two packages, one called db and the other called db-devel. They contain the runtime and development files respectively for the Berkeley (sleepycat) database version 4. db you most likely already have installed (try 'rpm -q db'), but on the off-chance that you don't, then install it; but you definitely don't have db-devel installed. Install it and run the compilation from the top again.
Well, I'm not sure how else to put it. There are, on the suse 8.1 CDs (or
Anders Johansson wrote: the
ftp site) two packages, one called db and the other called db-devel. They contain the runtime and development files respectively for the Berkeley (sleepycat) database version 4. db you most likely already have installed (try 'rpm -q db'), but on the off-chance that you don't, then install it; but you definitely don't have db-devel installed. Install it and run the compilation from the top again.
Ok, I understand now - "Berkeley" db. Didn't get the connection since I stated that I was using MySQL with Postfix. Anyway, I installed db-4.2.52.NC. I don't see any mention of db-devel at the sleepycat site. Do you have a link to it? Thanks, --BobC
On Thursday, 7 October 2004 09.10, Bob Carpenter wrote:
Anders Johansson wrote:
Well, I'm not sure how else to put it. There are, on the suse 8.1 CDs (or
the
ftp site) two packages, one called db and the other called db-devel. They contain the runtime and development files respectively for the Berkeley (sleepycat) database version 4. db you most likely already have installed (try 'rpm -q db'), but on the off-chance that you don't, then install it;
but
you definitely don't have db-devel installed. Install it and run the compilation from the top again.
Ok, I understand now - "Berkeley" db. Didn't get the connection since I stated that I was using MySQL with Postfix.
Anyway, I installed db-4.2.52.NC. I don't see any mention of db-devel at the sleepycat site. Do you have a link to it?
well, no, I was talking about the suse packages ftp://ftp.gwdg.de/pub/linux/suse/ftp.suse.com/suse/i386/8.1/suse/i586/db-4.0.14-193.i586.rpm ftp://ftp.gwdg.de/pub/linux/suse/ftp.suse.com/suse/i386/8.1/suse/i586/db-devel-4.0.14-193.i586.rpm However, if you installed the version from the sleepycat site properly you can probably use it. Just remember to fully start over the compilation of postfix. Since you compiled part of it with db2, there may be incompatibilities.
participants (5)
-
Anders Johansson
-
Bob Carpenter
-
Carlos E. R.
-
Danny Sauer
-
Leendert Meyer