Building xemacs with -Bdirect in LDFLAGS will fail during the configure phase with the following error:- checking size of short... 0 *** PANIC *** Configure tests are not working - compiler is broken. *** PANIC *** Please examine config.log for compilation errors. I know that this is not a default linker flag, but after building some 400+ packages on the system with an unchanged make.conf, I find it hard to accept that this is a 'bad' flag. Perhaps the xemacs ebuild should mask this flag out? N.B. I did not add this flag myself, but obatined my make.conf as part of an i686 hardened tarball given to me by a developer in the #gentoo-hardened channel, and thus had no reason to suspect a problem until this failure. The given URL is to the strace output of the ebuild process. It is not small, and I have limited bandwidth, so please be gentle :-) Reproducible: Always Steps to Reproduce: 1. Add LDFLAGS="-Wl,-O1 -Bdirect" to /etc/make.conf 2. emerge xemacs 3. There is no step 3 (TM) Actual Results: It doesn't work Expected Results: It should work ;-) >>> Emerging (1 of 1) app-editors/xemacs-21.4.20-r1 to / * xemacs-21.4.20.tar.gz MD5 ;-) ... [ ok ] * xemacs-21.4.20.tar.gz RMD160 ;-) ... [ ok ] * xemacs-21.4.20.tar.gz SHA1 ;-) ... [ ok ] * xemacs-21.4.20.tar.gz SHA256 ;-) ... [ ok ] * xemacs-21.4.20.tar.gz size ;-) ... [ ok ] * NeXT_XEmacs.tar.gz MD5 ;-) ... [ ok ] * NeXT_XEmacs.tar.gz RMD160 ;-) ... [ ok ] * NeXT_XEmacs.tar.gz SHA1 ;-) ... [ ok ] * NeXT_XEmacs.tar.gz SHA256 ;-) ... [ ok ] * NeXT_XEmacs.tar.gz size ;-) ... [ ok ] * checking ebuild checksums ;-) ... [ ok ] * checking auxfile checksums ;-) ... [ ok ] * checking miscfile checksums ;-) ... [ ok ] * checking xemacs-21.4.20.tar.gz ;-) ... [ ok ] * checking NeXT_XEmacs.tar.gz ;-) ... [ ok ] >>> Unpacking source... >>> Unpacking xemacs-21.4.20.tar.gz to /var/tmp/portage/app-editors/xemacs-21.4.20-r1/work * Applying xemacs-21.4.19-texi.patch ... [ ok ] * Applying xemacs-21.4.19-db.patch ... [ ok ] * Applying xemacs-21.4.20-linuxplay.patch ... [ ok ] * Running autoconf ... [ ok ] >>> Source unpacked. >>> Compiling source in /var/tmp/portage/app-editors/xemacs-21.4.20-r1/work/xemacs-21.4.20 ... checking whether ln -s works... yes checking host system type... i686-pc-linux checking for gcc... gcc checking whether the C compiler (gcc -march=pentium3 -O2 -mtune=i686 -pipe -fomit-frame-pointer -Wl,-O1 -Bdirect) works... yes checking whether the C compiler (gcc -march=pentium3 -O2 -mtune=i686 -pipe -fomit-frame-pointer -Wl,-O1 -Bdirect) is a cross-compiler... no checking whether we are using GNU C... yes checking whether gcc accepts -g... yes checking how to run the C preprocessor... gcc -E checking for AIX... no checking for GNU libc... yes Extracting information from the machine- and system-dependent headers... checking for buggy gcc versions... no checking for dynodump... no checking for malloc_set_state... no checking whether __after_morecore_hook exists... no checking for ranlib... ranlib checking for a BSD compatible install... /bin/install -c checking for bison... bison -y checking for a.out.h... yes checking for elf.h... yes checking for cygwin/version.h... no checking for fcntl.h... yes checking for inttypes.h... yes checking for libgen.h... yes checking for locale.h... yes checking for mach/mach.h... no checking for sys/param.h... yes checking for sys/pstat.h... no checking for sys/time.h... yes checking for sys/timeb.h... yes checking for sys/un.h... yes checking for ulimit.h... yes checking for unistd.h... yes checking for sys/wait.h that is POSIX.1 compatible... yes checking for ANSI C header files... no checking whether time.h and sys/time.h may both be included... yes checking for sys_siglist declaration in signal.h or unistd.h... yes checking for utime... yes checking return type of signal handlers... void checking for size_t... yes checking for pid_t... yes checking for uid_t in sys/types.h... yes checking for mode_t... yes checking for off_t... yes checking for ssize_t... yes checking for socklen_t... yes checking for struct timeval... yes checking whether struct tm is in sys/time.h or time.h... time.h checking for tm_zone in struct tm... yes checking for working const... yes checking whether make sets ${MAKE}... yes checking whether byte ordering is bigendian... no checking size of short... 0 *** PANIC *** Configure tests are not working - compiler is broken. *** PANIC *** Please examine config.log for compilation errors. !!! ERROR: app-editors/xemacs-21.4.20-r1 failed. Call stack: ebuild.sh, line 1614: Called dyn_compile ebuild.sh, line 971: Called qa_call 'src_compile' environment, line 3416: Called src_compile xemacs-21.4.20-r1.ebuild, line 168: Called die !!! (no error message) !!! If you need support, post the topmost build error, and the call stack if relevant. !!! A complete build log is located at '/var/tmp/portage/app-editors/xemacs-21.4.20-r1/temp/build.log'.
You have a patch? If not, tough luck, not supported.
Actually this flag is not even a valid flag, since neither upstream supports it nor does Gentoo's toolchain include the the relevant patches.
Why exactly is this reopened?
> N.B. I did not add this flag myself Please don't use any linker flags, unless you understand their implications.
Jakub: Because NEEDINFO is a silly resolution for an invalid bug report.
(In reply to comment #4) > > N.B. I did not add this flag myself > > Please don't use any linker flags, unless you understand their implications. > Hey. I was given the make.conf ny a dev in #gentoo-hardened to accompany a stage3 hardened tarball. It was the same make.conf he made the tarball with. I did not use the flag, he did. I assumed he knew what he was doing when he built it