error cross compiling linux X64 => 32 bit i686 #30330

issue techy2 openend this issue on June 24, 2024
  1. techy2 commented at 10:58 pm on June 24, 2024: none

    Is there an existing issue for this?

    • I have searched the existing issues

    Current behaviour

    While building depends for make HOST=i686-pc-linux-gnu -j8

    issues this warning
    configure: WARNING: using cross tools not prefixed with host triplet …. then fails ….. configure: error: in `/master/gitrepo/bitcoin/depends/work/build/i686-pc-linux-gnu/libevent2.1.12-stable-f9904577bfb’: configure: error: C compiler cannot create executables

    Expected behaviour

    clean build

    Steps to reproduce

    git clone https://github.com/bitcoin/bitcoin cd bitcoin checkout v27.1 cd depends make

    Relevant log output

    config.log

    however, config.log says this, see attached configure:3745: $? = 0 configure:3734: gcc -m32 -v >&5 Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/10/lto-wrapper OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa:hsa OFFLOAD_TARGET_DEFAULT=1 Target: x86_64-linux-gnu Configured with: ../src/configure -v –with-pkgversion=‘Ubuntu 10.3.0-1ubuntu118.041’ –with-bugurl=file:///usr/share/doc/gcc-10/README.Bugs –enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,m2 –prefix=/usr –with-gcc-major-version-only –program-suffix=-10 –program-prefix=x86_64-linux-gnu- –enable-shared –enable-linker-build-id –libexecdir=/usr/lib –without-included-gettext –enable-threads=posix –libdir=/usr/lib –enable-nls –enable-clocale=gnu –enable-libstdcxx-debug –enable-libstdcxx-time=yes –with-default-libstdcxx-abi=new –enable-gnu-unique-object –disable-vtable-verify –enable-plugin –enable-default-pie –with-system-zlib –enable-libphobos-checking=release –with-target-system-zlib=auto –enable-objc-gc=auto –enable-multiarch –disable-werror –with-arch-32=i686 –with-abi=m64 –with-multilib-list=m32,m64,mx32 –enable-multilib –with-tune=generic –enable-offload-targets=nvptx-none=/build/gcc-10-xgJY7J/gcc-10-10.3.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-10-xgJY7J/gcc-10-10.3.0/debian/tmp-gcn/usr,hsa –without-cuda-driver –enable-checking=release –build=x86_64-linux-gnu –host=x86_64-linux-gnu –target=x86_64-linux-gnu

    Note last line, all say x86_64-linux-gnu script seems to be missing the appropriate i686-pc-linux-gnu

    How did you obtain Bitcoin Core

    Compiled from source

    What version of Bitcoin Core are you using?

    v27.1

    Operating system and version

    ubuntu 18.04

    Machine specifications

    HP Proliant with 2x Xeon X5690 - 12 cores, 24 virtual cores 192 gigs memory 2T disk autoconf 2.69 automake 1.16.1 gcc (Ubuntu 10.3.0-1ubuntu1~18.04~1) 10.3.0 python3 3.6.9

  2. hebasto commented at 8:21 am on June 25, 2024: member

    Is g++-multilib package installed?

    Also see https://github.com/bitcoin/bitcoin/blob/27.x/depends/README.md

  3. maflcko commented at 8:43 am on June 25, 2024: member

    The error is:

     0configure:3787: gcc -m32 -pipe -std=c11 -O2       -I/master/gitrepo/bitcoin/depends/i686-pc-linux-gnu/include -D_FORTIFY_SOURCE=3       -L/master/gitrepo/bitcoin/depends/i686-pc-linux-gnu/lib     conftest.c  >&5
     1<command-line>: warning: "_FORTIFY_SOURCE" redefined
     2<built-in>: note: this is the location of the previous definition
     3/usr/bin/ld: cannot find Scrt1.o: No such file or directory
     4/usr/bin/ld: cannot find crti.o: No such file or directory
     5/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/10/libgcc.a when searching for -lgcc
     6/usr/bin/ld: cannot find -lgcc
     7/usr/bin/ld: cannot find libgcc_s.so.1
     8/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/10/libgcc.a when searching for -lgcc
     9/usr/bin/ld: cannot find -lgcc
    10collect2: error: ld returned 1 exit status
    11configure:3791: $? = 1
    12configure:3829: result: no
    13configure: failed program was:
    

    So the problem seems to be that a package is missing, see the previous reply. Alternatively, you can also use a search engine, like https://duckduckgo.com/?q=%2Fusr%2Fbin%2Fld%3A+cannot+find+-lgcc

    Generally, it is easier to just upgrade your system from Ubuntu Bionic to a later LTS, than to fully and correctly install or compile a cross-compiler from scratch. Also, Bionic has reached end of standard support on 31 May 2023 (more than a year ago), so doing an upgrade may be beneficial anyway and may be required at some point anyway.

  4. maflcko added the label Build system on Jun 25, 2024
  5. maflcko added the label Questions and Help on Jun 25, 2024
  6. maflcko commented at 8:34 am on June 27, 2024: member
    Closing for now, because this is not a Bitcoin Core issue, and solutions have been provided anyway.
  7. maflcko closed this on Jun 27, 2024


github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2024-09-28 22:12 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me