microsoft / vcpkg

C++ Library Manager for Windows, Linux, and MacOS
MIT License
22.79k stars 6.29k forks source link

[python3] cross build failure #27796

Closed rinechran closed 1 year ago

rinechran commented 1 year ago

Host Environment

To Reproduce

Steps to reproduce the behavior:

/vcpkg install --overlay-triplets="vcpkg-registry/triplets" --triplet aarch64-linux5.4 python3

Failure logs

configure:3985: $? = 0
configure:4033: result: yes
configure:4036: checking for C compiler default output file name
configure:4038: result: a.out
configure:4044: checking for suffix of executables
configure:4051: /usr/local/linaro-aarch64-2020.09-gcc10.2-linux5.4/bin/aarch64-linux-gnu-gcc -o conftest -I/opt/nota_new_sdk/packages -I/opt/nota_new_sdk/include -g  -L/opt/Utility/vcpkg/installed/aarch64-linux5.4/debug/lib conftest.c  >&5
configure:4055: $? = 0
configure:4077: result: 
configure:4099: checking whether we are cross compiling
configure:4107: /usr/local/linaro-aarch64-2020.09-gcc10.2-linux5.4/bin/aarch64-linux-gnu-gcc -o conftest -I/opt/nota_new_sdk/packages -I/opt/nota_new_sdk/include -g  -L/opt/Utility/vcpkg/installed/aarch64-linux5.4/debug/lib conftest.c  >&5
configure:4111: $? = 0
configure:4118: ./conftest
./../src/v3.10.5-d1483c0c4b.clean/configure: line 4120: ./conftest: cannot execute binary file: Exec format error
configure:4122: $? = 126
configure:4129: error: in `/opt/Utility/vcpkg/buildtrees/python3/aarch64-linux5.4-dbg':
configure:4131: error: cannot run C compiled programs.
If you meant to cross compile, use `--host'.

Additional context

python port causes errors in all cross builds

rinechran commented 1 year ago

the profile.cmake file was modified in the python3 folder as fllows Added --host to OPTIONS variable

 set(OPTIONS
        "--with-openssl=${CURRENT_INSTALLED_DIR}"
        "--without-ensurepip"
        "--with-suffix="
        "--with-system-expat"
        "--without-readline"
        "--disable-test-modules"
        "--host"
    )

nevertheless , the following error occurred

configure:2888: checking build system type
configure:2902: result: x86_64-pc-linux-gnu
configure:2922: checking host system type
configure:2931: error: /bin/bash ./../src/v3.10.5-d1483c0c4b.clean/config.sub --disable-silent-rules failed
rinechran commented 1 year ago

@Adela0814 Think of it as category:port-bug , not community-triplet.

there is no --host option in profile.cmake at all

Why do you think it's a community-triplet?

dg0yt commented 1 year ago

aarch64-linux5.4 is not a triplet tested in CI. That's why it was tagged community-triplet. But the bug is a more general issue with ports which want to build some host executables: vcpkg intentionally provides an inactive host toolchain. Required host binaries must be built in the host triplet (native build) and injected into the build for the target triplet (cross build).

rinechran commented 1 year ago

Thank you for your answer.

rinechran commented 1 year ago

**********************************************************************
***                                                                ***
***   OpenSSL has been successfully configured                     ***
***                                                                ***
***   If you encounter a problem while building, please open an    ***
***   issue on GitHub <https://github.com/openssl/openssl/issues>  ***
***   and include the output from the following command:           ***
***                                                                ***
***       perl configdata.pm --dump                                ***
***                                                                ***
***   (If you are new to OpenSSL, you might want to consult the    ***
***   'Troubleshooting' section in the INSTALL.md file first)      ***
***                                                                ***
**********************************************************************
removing deps from /opt/eunsik/Utility/vcpkg/buildtrees/openssl/aarch64-linux5.4-dbg/nssl-3.0.5-30ecfd0d02.clean/demos/bio/Makefile
removing deps from /opt/eunsik/Utility/vcpkg/buildtrees/openssl/aarch64-linux5.4-dbg/nssl-3.0.5-30ecfd0d02.clean/demos/cipher/Makefile
removing deps from /opt/eunsik/Utility/vcpkg/buildtrees/openssl/aarch64-linux5.4-dbg/nssl-3.0.5-30ecfd0d02.clean/demos/digest/Makefile
removing deps from /opt/eunsik/Utility/vcpkg/buildtrees/openssl/aarch64-linux5.4-dbg/nssl-3.0.5-30ecfd0d02.clean/demos/kdf/Makefile
removing deps from /opt/eunsik/Utility/vcpkg/buildtrees/openssl/aarch64-linux5.4-dbg/nssl-3.0.5-30ecfd0d02.clean/demos/mac/Makefile
removing deps from /opt/eunsik/Utility/vcpkg/buildtrees/openssl/aarch64-linux5.4-dbg/nssl-3.0.5-30ecfd0d02.clean/demos/pkey/Makefile
removing deps from /opt/eunsik/Utility/vcpkg/buildtrees/openssl/aarch64-linux5.4-dbg/nssl-3.0.5-30ecfd0d02.clean/demos/signature/Makefile
removing deps from /opt/eunsik/Utility/vcpkg/buildtrees/openssl/aarch64-linux5.4-dbg/nssl-3.0.5-30ecfd0d02.clean/doc/life-cycles/Makefile
[2/3] cd /opt/eunsik/Utility/vcpkg/buildtrees/openssl/aarch64-linux5.4-dbg/nssl-3.0.5-30ecfd0d02.clean && export PATH=/usr/bin:/root/.cache/activestate/bin:/root/.local/ActiveState/StateTool/release/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/bin:/opt/eunsik/Utility/vcpkg/downloads/tools/ninja/1.10.2-linux && /opt/eunsik/Utility/vcpkg/downloads/tools/cmake-3.24.0-linux/cmake-3.24.0-linux-x86_64/bin/cmake -E touch /opt/eunsik/Utility/vcpkg/buildtrees/openssl/aarch64-linux5.4-dbg/nssl-3.0.5-30ecfd0d02.clean/krb5.h && /usr/bin/make -j 33 build_libs
FAILED: CMakeFiles/build_libs nssl-3.0.5-30ecfd0d02.clean/libssl.a nssl-3.0.5-30ecfd0d02.clean/libcrypto.a /opt/eunsik/Utility/vcpkg/buildtrees/openssl/aarch64-linux5.4-dbg/CMakeFiles/build_libs /opt/eunsik/Utility/vcpkg/buildtrees/openssl/aarch64-linux5.4-dbg/nssl-3.0.5-30ecfd0d02.clean/libssl.a /opt/eunsik/Utility/vcpkg/buildtrees/openssl/aarch64-linux5.4-dbg/nssl-3.0.5-30ecfd0d02.clean/libcrypto.a 
cd /opt/eunsik/Utility/vcpkg/buildtrees/openssl/aarch64-linux5.4-dbg/nssl-3.0.5-30ecfd0d02.clean && export PATH=/usr/bin:/root/.cache/activestate/bin:/root/.local/ActiveState/StateTool/release/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/bin:/opt/eunsik/Utility/vcpkg/downloads/tools/ninja/1.10.2-linux && /opt/eunsik/Utility/vcpkg/downloads/tools/cmake-3.24.0-linux/cmake-3.24.0-linux-x86_64/bin/cmake -E touch /opt/eunsik/Utility/vcpkg/buildtrees/openssl/aarch64-linux5.4-dbg/nssl-3.0.5-30ecfd0d02.clean/krb5.h && /usr/bin/make -j 33 build_libs
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile" include/crypto/bn_conf.h.in > include/crypto/bn_conf.h
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile" include/crypto/dso_conf.h.in > include/crypto/dso_conf.h
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile" include/openssl/asn1.h.in > include/openssl/asn1.h
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile" include/openssl/asn1t.h.in > include/openssl/asn1t.h
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile" include/openssl/bio.h.in > include/openssl/bio.h
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile" include/openssl/cmp.h.in > include/openssl/cmp.h
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile" include/openssl/cms.h.in > include/openssl/cms.h
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile" include/openssl/conf.h.in > include/openssl/conf.h
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile" include/openssl/crmf.h.in > include/openssl/crmf.h
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile" include/openssl/crypto.h.in > include/openssl/crypto.h
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile" include/openssl/ct.h.in > include/openssl/ct.h
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile" include/openssl/err.h.in > include/openssl/err.h
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile" include/openssl/ess.h.in > include/openssl/ess.h
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile" include/openssl/fipskey.h.in > include/openssl/fipskey.h
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile" include/openssl/lhash.h.in > include/openssl/lhash.h
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile" include/openssl/ocsp.h.in > include/openssl/ocsp.h
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile" include/openssl/opensslv.h.in > include/openssl/opensslv.h
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile" include/openssl/pkcs12.h.in > include/openssl/pkcs12.h
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile" include/openssl/pkcs7.h.in > include/openssl/pkcs7.h
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile" include/openssl/safestack.h.in > include/openssl/safestack.h
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile" include/openssl/srp.h.in > include/openssl/srp.h
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile" include/openssl/ssl.h.in > include/openssl/ssl.h
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile" include/openssl/ui.h.in > include/openssl/ui.h
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile" include/openssl/x509.h.in > include/openssl/x509.h
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile" include/openssl/x509_vfy.h.in > include/openssl/x509_vfy.h
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile" include/openssl/x509v3.h.in > include/openssl/x509v3.h
/usr/bin/make depend && /usr/bin/make _build_libs
make[1]: Entering directory '/opt/eunsik/Utility/vcpkg/buildtrees/openssl/aarch64-linux5.4-dbg/nssl-3.0.5-30ecfd0d02.clean'
make[1]: Leaving directory '/opt/eunsik/Utility/vcpkg/buildtrees/openssl/aarch64-linux5.4-dbg/nssl-3.0.5-30ecfd0d02.clean'
make[1]: Entering directory '/opt/eunsik/Utility/vcpkg/buildtrees/openssl/aarch64-linux5.4-dbg/nssl-3.0.5-30ecfd0d02.clean'
aarch64-linux-gnu-/usr/local/linaro-aarch64-2020.09-gcc10.2-linux5.4/bin/aarch64-linux-gnu-gcc  -I. -Iinclude -Iapps/include  -fPIC -pthread -Wall -O3 -DOPENSSL_USE_NODELETE -DOPENSSL_PIC -DOPENSSLDIR="\"/etc/ssl\"" -DENGINESDIR="\"/opt/eunsik/Utility/vcpkg/packages/openssl_aarch64-linux5.4/debug/lib/engines-3\"" -DMODULESDIR="\"/opt/eunsik/Utility/vcpkg/packages/openssl_aarch64-linux5.4/debug/lib/ossl-modules\"" -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -I/opt/nota_new_sdk/ambarella/packages -I/opt/nota_new_sdk/ambarella/include -g  -c -o apps/lib/libapps-lib-app_libctx.o apps/lib/app_libctx.c
aarch64-linux-gnu-/usr/local/linaro-aarch64-2020.09-gcc10.2-linux5.4/bin/aarch64-linux-gnu-gcc  -I. -Iinclude -Iapps/include  -fPIC -pthread -Wall -O3 -DOPENSSL_USE_NODELETE -DOPENSSL_PIC -DOPENSSLDIR="\"/etc/ssl\"" -DENGINESDIR="\"/opt/eunsik/Utility/vcpkg/packages/openssl_aarch64-linux5.4/debug/lib/engines-3\"" -DMODULESDIR="\"/opt/eunsik/Utility/vcpkg/packages/openssl_aarch64-linux5.4/debug/lib/ossl-modules\"" -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -I/opt/nota_new_sdk/ambarella/packages -I/opt/nota_new_sdk/ambarella/include -g  -c -o apps/lib/libapps-lib-app_params.o apps/lib/app_params.c
aarch64-linux-gnu-/usr/local/linaro-aarch64-2020.09-gcc10.2-linux5.4/bin/aarch64-linux-gnu-gcc  -I. -Iinclude -Iapps/include  -fPIC -pthread -Wall -O3 -DOPENSSL_USE_NODELETE -DOPENSSL_PIC -DOPENSSLDIR="\"/etc/ssl\"" -DENGINESDIR="\"/opt/eunsik/Utility/vcpkg/packages/openssl_aarch64-linux5.4/debug/lib/engines-3\"" -DMODULESDIR="\"/opt/eunsik/Utility/vcpkg/packages/openssl_aarch64-linux5.4/debug/lib/ossl-modules\"" -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -I/opt/nota_new_sdk/ambarella/packages -I/opt/nota_new_sdk/ambarella/include -g  -c -o apps/lib/libapps-lib-app_provider.o apps/lib/app_provider.c
aarch64-linux-gnu-/usr/local/linaro-aarch64-2020.09-gcc10.2-linux5.4/bin/aarch64-linux-gnu-gcc  -I. -Iinclude -Iapps/include  -fPIC -pthread -Wall -O3 -DOPENSSL_USE_NODELETE -DOPENSSL_PIC -DOPENSSLDIR="\"/etc/ssl\"" -DENGINESDIR="\"/opt/eunsik/Utility/vcpkg/packages/openssl_aarch64-linux5.4/debug/lib/engines-3\"" -DMODULESDIR="\"/opt/eunsik/Utility/vcpkg/packages/openssl_aarch64-linux5.4/debug/lib/ossl-modules\"" -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -I/opt/nota_new_sdk/ambarella/packages -I/opt/nota_new_sdk/ambarella/include -g  -c -o apps/lib/libapps-lib-app_rand.o apps/lib/app_rand.c
/bin/sh: 1: aarch64-linux-gnu-/usr/local/linaro-aarch64-2020.09-gcc10.2-linux5.4/bin/aarch64-linux-gnu-gcc: not found
aarch64-linux-gnu-/usr/local/linaro-aarch64-2020.09-gcc10.2-linux5.4/bin/aarch64-linux-gnu-gcc  -I. -Iinclude -Iapps/include  -fPIC -pthread -Wall -O3 -DOPENSSL_USE_NODELETE -DOPENSSL_PIC -DOPENSSLDIR="\"/etc/ssl\"" -DENGINESDIR="\"/opt/eunsik/Utility/vcpkg/packages/openssl_aarch64-linux5.4/debug/lib/engines-3\"" -DMODULESDIR="\"/opt/eunsik/Utility/vcpkg/packages/openssl_aarch64-linux5.4/debug/lib/ossl-modules\"" -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -I/opt/nota_new_sdk/ambarella/packages -I/opt/nota_new_sdk/ambarella/include -g  -c -o apps/lib/libapps-lib-app_x509.o apps/lib/app_x509.c
Makefile:2366: recipe for target 'apps/lib/libapps-lib-app_libctx.o' failed
make[1]: *** [apps/lib/libapps-lib-app_libctx.o] Error 127
make[1]: *** Waiting for unfinished jobs....
/bin/sh: 1: aarch64-linux-gnu-/usr/local/linaro-aarch64-2020.09-gcc10.2-linux5.4/bin/aarch64-linux-gnu-gcc: not found
/bin/sh: 1: Makefile:2368: recipe for target 'apps/lib/libapps-lib-app_params.o' failed
make[1]: *** [apps/lib/libapps-lib-app_params.o] Error 127
aarch64-linux-gnu-/usr/local/linaro-aarch64-2020.09-gcc10.2-linux5.4/bin/aarch64-linux-gnu-gcc: not found
/bin/sh: 1: aarch64-linux-gnu-/usr/local/linaro-aarch64-2020.09-gcc10.2-linux5.4/bin/aarch64-linux-gnu-gcc: not found
Makefile:2370: recipe for target 'apps/lib/libapps-lib-app_provider.o' failed
make[1]: *** [apps/lib/libapps-lib-app_provider.o] Error 127
/bin/sh: 1: aarch64-linux-gnu-/usr/local/linaro-aarch64-2020.09-gcc10.2-linux5.4/bin/aarch64-linux-gnu-gcc: not found
Makefile:2372: recipe for target 'apps/lib/libapps-lib-app_rand.o' failed
make[1]: *** [apps/lib/libapps-lib-app_rand.o] Error 127
Makefile:2374: recipe for target 'apps/lib/libapps-lib-app_x509.o' failed
make[1]: *** [apps/lib/libapps-lib-app_x509.o] Error 127
make[1]: Leaving directory '/opt/eunsik/Utility/vcpkg/buildtrees/openssl/aarch64-linux5.4-dbg/nssl-3.0.5-30ecfd0d02.clean'
Makefile:1383: recipe for target 'build_libs' failed
make: *** [build_libs] Error 2
ninja: build stopped: subcommand failed.

there was a problem with the name of the triplets i made . but couldn't be build because i cat't build on openssl I'm using the latest vcpkg

dg0yt commented 1 year ago

/bin/sh: 1: aarch64-linux-gnu-/usr/local/linaro-aarch64-2020.09-gcc10.2-linux5.4/bin/aarch64-linux-gnu-gcc: not found

Hm, how does aarch64-linux-gnu- get in front of gcc's absolute path?

rinechran commented 1 year ago

Hmm? Let me check why the gcc path is weird only for openssl

rinechran commented 1 year ago

buildtreelog.zip

it's is a build tree log ,but it seems strange The gcc path at the time of installaion and build is strange

rinechran commented 1 year ago

there is an "openssl" bug . i'll close the issue and create it again