#4 configure fails with posix make
Opened 2 months ago by orbea. Modified 2 months ago

OS: Gentoo
sofort: slibtool/dbd501be3a1f22332c162711671da673a0db7825
bmake: 20230909

When MAKE=bmake is set in the environment then ./configure fails.

$ export MAKE=bmake
$ ./configure 
slibtool : configure : init_vars  .................................  OK.
slibtool : configure : verify_build_directory  ....................  OK.
slibtool : configure : verify_source_directory  ...................  OK.
slibtool : configure : verify_source_info  ........................  OK.
slibtool : configure : common_defaults  ...........................  bmake: stopped in /tmp/slibtool
OK.
slibtool : configure : config_flags  ..............................  OK.
slibtool : configure : config_copy  ...............................  OK.
 ..
slibtool : configure : detect and query host (targeted) system
 == checking for C compiler  ......................................  cc.
 == checking for C pre-processor  ................................  cpp.
 == checking for C++ compiler  ...................................  c++.
 == checking for ar  ..............................................  ar.
 == checking for nm  ..............................................  nm.
 == checking for objdump  ....................................  objdump.
 == checking for ranlib  ......................................  ranlib.
 == checking for size  ..........................................  size.
 == checking for strip  ........................................  strip.
 == checking for strings  ....................................  strings.
 == checking for objcopy  ....................................  objcopy.
 == checking for addr2line  ................................  addr2line.
 == checking for cov  .......................................  llvm-cov.
 == checking for elfedit  ....................................  elfedit.
 == checking for readelf  ....................................  readelf.
 == checking for readobj  ...............................  llvm-readobj.
 == checking for otool  ...................................  llvm-otool.
 == checking for perk  .........................................  false.
 == checking for mdso  .........................................  false.
 == checking for dlltool  ....................................  dlltool.
 == checking for windmc  .......................................  false.
 == checking for windres  ....................................  windres.
 == checking for pkgconf  ....................................  pkgconf.
 == checking for as (asm)  ........................................  as.
 == checking for as (ll)  ....................................  llvm-as.
 == checking for as (mc)  ....................................  llvm-mc.
 == checking for ld (bfd)  ....................................  ld.bfd.
 == checking for ld (gold)  ....................................  false.
 == checking for ld (lld)  .......................................  lld.
 == checking for objdump (bfd)  ................................  false.
 == checking for objdump (llvm)  ........................  llvm-objdump.
 == checking for readelf (bfd)  ................................  false.
 == checking for readelf (llvm)  ........................  llvm-readelf.
 == detect host system  .........................  x86_64-unknown-linux.
 == detect host bits  .............................................  64.
 == detect host binary format  ...................................  ELF.
 == detect host prepended underscores .............................  no.
 == detect host os name  .......................................  linux.
 == detect host os semantics  ...................  elf-posix-linux-ldso.
 == detect host os dso format  ...................................  ELF.
 == detect host os dso exrules  ..............................  default.
 == detect host os linkage  ..................................  default.
 == trying host compiler visibility attr: default  ...........  (error).
 == trying host compiler visibility attr: hidden  ............  (error).
 == trying host compiler visibility attr: internal  ..........  (error).
 == trying host compiler visibility attr: protected  .........  (error).

In config.log I see many instances of this error.

cc: fatal error: cannot specify '-o' with '-c', '-S' or '-E' with multiple files
cfgtest: probing for host compiler switch: -dumpmachine

cc -S -xc - -o - \
        -DSLBT_MACHINE=\"\" \
        -D_XOPEN_SOURCE=700 \
        -D_DEFAULT_SOURCE \
        -D_BSD_SOURCE \
        -I./src/internal \
        -I./include \
        -Ibuild \
        -DSLBT_TAG_VER_MAJOR=0 \
        -DSLBT_TAG_VER_MINOR=5 \
        -DSLBT_TAG_VER_PATCH=35 \
        } \
        || \
        exit \
        $? \
        -Llib \
        } \
        || \
        exit \
        $? \
        -dumpmachine \
<< _SRCEOF
int fn(void){return 0;}
_SRCEOF


cc: fatal error: cannot specify '-o' with '-c', '-S' or '-E' with multiple files
compilation terminated.
./configure: exit: too many arguments

It does work if MAKE=gmake is exported in the environment instead.

Additionally the slibtool build works with bmake MAKEMODE=posix, but exporting MAKEMODE in the environment does not allow the configure to complete.


Also ./configure --make=bmake exposes this issue.

With the default environment.

cfgtest: probing for host compiler switch: -dumpmachine

cc -S -xc - -o - \
        -DSLBT_MACHINE=\"\" \
        -D_XOPEN_SOURCE=700 \
        -D_DEFAULT_SOURCE \
        -D_BSD_SOURCE \
        -I./src/internal \
        -I./include \
        -Ibuild \
        -DSLBT_TAG_VER_MAJOR=0 \
        -DSLBT_TAG_VER_MINOR=5 \
        -DSLBT_TAG_VER_PATCH=35 \
        -Llib \
        -dumpmachine \
<< _SRCEOF
int fn(void){return 0;}
_SRCEOF


cfgtest: the switch `-dumpmachine' was accepted by the compier.

The problem appears to be here:

        -DSLBT_TAG_VER_PATCH=35 \
        } \
        || \
        exit \
        $? \
        -Llib \
        } \
        || \
        exit \
        $? \
        -dumpmachine \

Login to comment on this ticket.

Metadata
Related Pull Requests
  • #5 Last updated 2 months ago