[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#40205: 28.0.50; 32bit or LTO movemail build fails on macOS
From: |
YAMAMOTO Mitsuharu |
Subject: |
bug#40205: 28.0.50; 32bit or LTO movemail build fails on macOS |
Date: |
Tue, 24 Mar 2020 12:14:11 +0900 |
User-agent: |
Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue) FLIM/1.14.9 (Gojō) APEL/10.8 EasyPG/1.0.0 Emacs/26 (x86_64-pc-linux-gnu) MULE/6.0 (HANACHIRUSATO) |
On macOS, movemail cannot be built with CC='cc -arch i386':
CCLD movemail
Undefined symbols for architecture i386:
"_rpl_getopt$UNIX2003", referenced from:
_main in movemail-1f1ea0.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see
invocation)
make[1]: *** [movemail] Error 1
make: *** [lib-src] Error 2
This is due to the following part in the system getopt.h:
#ifndef _GETOPT
#define _GETOPT
int getopt(int, char * const [], const char *) __DARWIN_ALIAS(getopt);
extern char *optarg; /* getopt(3) external variables */
extern int optind, opterr, optopt;
#endif
which is expanded to:
int rpl_getopt(int, char * const [], const char *) __asm("_" "rpl_getopt"
"$UNIX2003");
extern char *rpl_optarg;
extern int rpl_optind, rpl_opterr, rpl_optopt;
I think the Gnulib getopt does not expect the __asm line above.
64-bit LTO build with CC='cc -flto' fails, too.
CCLD movemail
ld: reference to symbol (which has not been assigned an address) _rpl_getopt
in '_main' from /var/folders/69/m7h39yv92g70qy7p3xdlghdm0000gn/T/cc-907a5d.o
for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see
invocation)
make[1]: *** [movemail] Error 1
make: *** [lib-src] Error 2
YAMAMOTO Mitsuharu
mituharu@math.s.chiba-u.ac.jp
- bug#40205: 28.0.50; 32bit or LTO movemail build fails on macOS,
YAMAMOTO Mitsuharu <=