i'm building a new/clean postfix 3.5.0 instance on linux/64

currently, with

        gcc --version
                gcc (SUSE Linux) 10.0.1 20200408 (experimental) [revision 
13e41d8b9d3d7598c72c38acc86a3d97046c8373]

my usually problem-free `make`,

        make V=1 -j8 DEBUG="" OPT="-O3"

now fails,

        ...
        ranlib ../../lib/libmaster.a
        /usr/bin/gcc-10 -I. -I../../include -DHAS_LMDB 
-I/usr/local/lmdb/include -DNO_DB -DNO_CDB -DNO_NIS -DUSE_TLS  
-I/usr/local/openssl11/include -DHAS_PCRE -I/usr/local/include 
-I/usr/include/db4 -DUSE_SASL_AUTH -DDEF_SERVER_SASL_TYPE=\"dovecot\" 
-DMAX_DYNAMIC_MAPS -DDEF_CONFIG_DIR=\"/usr/local/etc/postfix\" 
-DDEF_DATA_DIR=\"/var/lib/postfix\" -DDEF_QUEUE_DIR=\"/var/spool/postfix\" 
-DDEF_SENDMAIL_PATH=\"/usr/local/sbin/sendmail\" 
-DDEF_NEWALIAS_PATH=\"/usr/local/bin/newaliases\" 
-DDEF_MAILQ_PATH=\"/usr/local/bin/mailq\" -DDEF_COMMAND_DIR=\"/usr/local/sbin\" 
-DDEF_DAEMON_DIR=\"/usr/local/libexec/postfix\" 
-DDEF_MANPAGE_DIR=\"/usr/local/man\" 
-DDEF_README_DIR=\"/usr/local/share/doc/packages/postfix-doc/README_FILES\" 
-DDEF_HTML_DIR=\"/usr/local/share/doc/packages/postfix-doc/html\" 
-I/usr/local/include -DHAS_DEV_URANDOM -UUSE_DYNAMIC_LIBS 
-DDEF_SHLIB_DIR=\"no\" -UUSE_DYNAMIC_MAPS -Wmissing-prototypes -Wformat 
-Wno-comment  -O3 -I. -I../../include -DLINUX5  -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_watch.o master_flow.o master_monitor.o ../../lib/libglobal.a 
../../lib/libutil.a -L/usr/local/openssl11/lib64 
-Wl,-rpath,/usr/local/openssl11/lib64 -lssl -lcrypto -L/usr/local/lib64 
-Wl,-rpath,/usr/local/lib64 -lpcre -lpcrecpp -L/usr/local/lmdb/lib64 
-Wl,-rpath,/usr/local/lmdb/lib64 -llmdb -L/usr/local/lib64 
-Wl,-rpath,/usr/local/lib64 -lz -lm -lnsl -lresolv -ldl -L/usr/local/lib64 
-licui18n -licuuc -licudata
        
/usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: 
../../lib/libglobal.a(mail_params.o):(.bss+0x270): multiple definition of 
`var_inet_protocols'; master_vars.o:(.bss+0x10): first defined here
        collect2: error: ld returned 1 exit status
        make: *** [Makefile:146: master] Error 1
        make: *** [Makefile:157: update] Error 1

looks like the source of the issue is (?),

        grep var_inet_protocols `grep -rlni var_inet_protocols .`
                ./src/postconf/postconf_builtin.c:    if (var_inet_protocols == 
0) {
                ./src/postconf/postconf_builtin.c:      var_inet_protocols = 
mystrdup(junk);
                ./src/postconf/postconf_builtin.c:      (void) 
inet_proto_init(VAR_INET_PROTOCOLS, var_inet_protocols);
                ./src/qmqpd/qmqpd_peer.c:                     "other", 
VAR_INET_PROTOCOLS, var_inet_protocols);
                ./src/qmqpd/qmqpd.c:              VAR_INET_PROTOCOLS, 
var_inet_protocols);
                ./src/master/master.c:    (void) 
inet_proto_init(VAR_INET_PROTOCOLS, var_inet_protocols);
                ./src/master/master_ent.c:               VAR_INET_PROTOCOLS, 
var_inet_protocols);
>>>             ./src/master/master_vars.c:char   *var_inet_protocols;
                ./src/master/master_vars.c:     VAR_INET_PROTOCOLS, 
&var_inet_protocols, &saved_inet_protocols, 0, 0,
>>>             ./src/global/mail_params.c:/*   char    *var_inet_protocols;
                ./src/global/mail_params.c:char   *var_inet_protocols;
                ./src/global/mail_params.c:     VAR_INET_PROTOCOLS, 
DEF_INET_PROTOCOLS, &var_inet_protocols, 0, 0,
                ./src/global/mail_params.c:    (void) 
inet_proto_init(VAR_INET_PROTOCOLS, var_inet_protocols);
                ./src/global/mail_params.h:extern char *var_inet_protocols;
                ./src/smtpd/smtpd_peer.c:                     "other", 
VAR_INET_PROTOCOLS, var_inet_protocols);
                ./src/smtpd/smtpd.c:              VAR_INET_PROTOCOLS, 
var_inet_protocols);
                ./src/postscreen/postscreen.c:            VAR_INET_PROTOCOLS, 
var_inet_protocols);

haven't seen this b4.  not sure if something's changed, my config's wrong, or 
this is a GCC-10 sensitivity ...

bug, or me?

Reply via email to