Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

vcpkg-tool build on linux-arm64 with GCC 7.5 fails in the latest (2022-11-14) version #27905

Closed
kumaakh opened this issue Nov 18, 2022 · 12 comments
Assignees
Labels
category:vcpkg-bug The issue is with the vcpkg system (including helper scripts in `scripts/cmake/`) Stale

Comments

@kumaakh
Copy link

kumaakh commented Nov 18, 2022

Describe the bug
On linux-arm64 (Jetson) with GCC7.5 the following fails due to a compilation error
git clone https://github.com/microsoft/vcpkg.git
cd vcpkg
.\boostrap_vcpkg.sh
fails while building binarycaching.cpp, full log attached below.

Also tested these tags
2022-05-10 , 2022-03-10, 2021-11-30 build fine in the same setup
2022-07-25 fails with the same error

Environment

  • OS: linux arm64
  • Compiler: gcc 7.5

To Reproduce
Steps to reproduce the behavior:
git clone https://github.com/microsoft/vcpkg.git
cd vcpkg
git checkout tags/2022.11.14
.\boostrap_vcpkg.sh
fails with attached error

Expected behavior
should build just like previous versions were building

Failure logs
2022-11-18T19:20:21.9519487Z Unable to determine a binary release of vcpkg; attempting to build from source.
2022-11-18T19:20:21.9633634Z Downloading vcpkg tool sources
2022-11-18T19:20:23.2230146Z Building vcpkg-tool...
2022-11-18T19:20:23.6993557Z -- The CXX compiler identification is GNU 7.5.0
2022-11-18T19:20:23.7386192Z -- Detecting CXX compiler ABI info
2022-11-18T19:20:23.9099139Z -- Detecting CXX compiler ABI info - done
2022-11-18T19:20:23.9469807Z -- Check for working CXX compiler: /usr/bin/c++ - skipped
2022-11-18T19:20:23.9502998Z -- Detecting CXX compile features
2022-11-18T19:20:23.9522683Z -- Detecting CXX compile features - done
2022-11-18T19:20:23.9573731Z -- Detecting the C++ compiler in use
2022-11-18T19:20:23.9576025Z -- Detecting the C++ compiler in use - gcc
2022-11-18T19:20:25.2498676Z -- Module support is disabled.
2022-11-18T19:20:25.2516913Z -- Version: 9.1.0
2022-11-18T19:20:25.2524504Z -- Build type: Release
2022-11-18T19:20:25.2577375Z -- CXX_STANDARD: 17
2022-11-18T19:20:25.2612732Z -- Performing Test has_std_17_flag
2022-11-18T19:20:25.4176286Z -- Performing Test has_std_17_flag - Success
2022-11-18T19:20:25.4212880Z -- Performing Test has_std_1z_flag
2022-11-18T19:20:25.5763639Z -- Performing Test has_std_1z_flag - Success
2022-11-18T19:20:25.5775944Z -- Required features: cxx_variadic_templates
2022-11-18T19:20:27.3129331Z -- The C compiler identification is GNU 7.5.0
2022-11-18T19:20:27.3373165Z -- Detecting C compiler ABI info
2022-11-18T19:20:27.4719935Z -- Detecting C compiler ABI info - done
2022-11-18T19:20:27.5065560Z -- Check for working C compiler: /usr/bin/cc - skipped
2022-11-18T19:20:27.5069501Z -- Detecting C compile features
2022-11-18T19:20:27.5089952Z -- Detecting C compile features - done
2022-11-18T19:20:27.5302763Z -- Performing Test CPP_ATOMIC_BUILTIN
2022-11-18T19:20:27.8057248Z -- Performing Test CPP_ATOMIC_BUILTIN - Success
2022-11-18T19:20:27.8134379Z -- Looking for C++ include pthread.h
2022-11-18T19:20:27.9923466Z -- Looking for C++ include pthread.h - found
2022-11-18T19:20:27.9931057Z -- Performing Test CMAKE_HAVE_LIBC_PTHREAD
2022-11-18T19:20:28.1592766Z -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
2022-11-18T19:20:28.1600190Z -- Check if compiler accepts -pthread
2022-11-18T19:20:28.3302466Z -- Check if compiler accepts -pthread - yes
2022-11-18T19:20:28.3396920Z -- Found Threads: TRUE
2022-11-18T19:20:28.3435865Z -- Configuring done
2022-11-18T19:20:28.4528337Z -- Generating done
2022-11-18T19:20:28.4559479Z -- Build files have been written to: /mnt/disks/ssd/azure.ws/4/s/vcpkg/buildtrees/_vcpkg/build
2022-11-18T19:20:28.4868167Z [0/2] Re-checking globbed directories...
2022-11-18T19:20:28.5176938Z [1/191] Generating locale-resources resource loader
2022-11-18T19:20:28.9158696Z [2/191] Generating intermediate file for /mnt/disks/ssd/azure.ws/4/s/vcpkg/buildtrees/_vcpkg/src/vcpkg-tool-2022-11-10/locales/messages.fr.json
2022-11-18T19:20:28.9592617Z [3/191] Generating intermediate file for /mnt/disks/ssd/azure.ws/4/s/vcpkg/buildtrees/_vcpkg/src/vcpkg-tool-2022-11-10/locales/messages.de.json
2022-11-18T19:20:29.0247711Z [4/191] Generating intermediate file for /mnt/disks/ssd/azure.ws/4/s/vcpkg/buildtrees/_vcpkg/src/vcpkg-tool-2022-11-10/locales/messages.ja.json
2022-11-18T19:20:29.1773643Z [5/191] Generating intermediate file for /mnt/disks/ssd/azure.ws/4/s/vcpkg/buildtrees/_vcpkg/src/vcpkg-tool-2022-11-10/locales/messages.it.json
2022-11-18T19:20:29.1947105Z [6/191] Generating intermediate file for /mnt/disks/ssd/azure.ws/4/s/vcpkg/buildtrees/_vcpkg/src/vcpkg-tool-2022-11-10/locales/messages.es.json
2022-11-18T19:20:29.2357003Z [7/191] Generating intermediate file for /mnt/disks/ssd/azure.ws/4/s/vcpkg/buildtrees/_vcpkg/src/vcpkg-tool-2022-11-10/locales/messages.cs.json
2022-11-18T19:20:29.2824304Z [8/191] Generating intermediate file for /mnt/disks/ssd/azure.ws/4/s/vcpkg/buildtrees/_vcpkg/src/vcpkg-tool-2022-11-10/locales/messages.json
2022-11-18T19:20:29.4097458Z [9/191] Generating intermediate file for /mnt/disks/ssd/azure.ws/4/s/vcpkg/buildtrees/_vcpkg/src/vcpkg-tool-2022-11-10/locales/messages.ko.json
2022-11-18T19:20:29.4363534Z [10/191] Generating intermediate file for /mnt/disks/ssd/azure.ws/4/s/vcpkg/buildtrees/_vcpkg/src/vcpkg-tool-2022-11-10/locales/messages.pt-BR.json
2022-11-18T19:20:29.4743421Z [11/191] Generating vcpkg.ps1
2022-11-18T19:20:29.5061186Z [12/191] Generating intermediate file for /mnt/disks/ssd/azure.ws/4/s/vcpkg/buildtrees/_vcpkg/src/vcpkg-tool-2022-11-10/locales/messages.pl.json
2022-11-18T19:20:29.6339924Z [13/191] Generating intermediate file for /mnt/disks/ssd/azure.ws/4/s/vcpkg/buildtrees/_vcpkg/src/vcpkg-tool-2022-11-10/locales/messages.tr.json
2022-11-18T19:20:29.6459616Z [14/191] Generating intermediate file for /mnt/disks/ssd/azure.ws/4/s/vcpkg/buildtrees/_vcpkg/src/vcpkg-tool-2022-11-10/locales/messages.zh-Hans.json
2022-11-18T19:20:29.7133264Z [15/191] Generating intermediate file for /mnt/disks/ssd/azure.ws/4/s/vcpkg/buildtrees/_vcpkg/src/vcpkg-tool-2022-11-10/locales/messages.ru.json
2022-11-18T19:20:29.8297319Z [16/191] Generating intermediate file for /mnt/disks/ssd/azure.ws/4/s/vcpkg/buildtrees/_vcpkg/src/vcpkg-tool-2022-11-10/locales/messages.zh-Hant.json
2022-11-18T19:20:30.4944534Z [17/191] Building CXX object CMakeFiles/locale-resources.dir/__cmrc_locale-resources/intermediate/locales/messages.cs.json.cpp.o
2022-11-18T19:20:30.4957230Z [18/191] Building CXX object CMakeFiles/locale-resources.dir/__cmrc_locale-resources/intermediate/locales/messages.es.json.cpp.o
2022-11-18T19:20:30.5682101Z [19/191] Building CXX object CMakeFiles/locale-resources.dir/__cmrc_locale-resources/intermediate/locales/messages.de.json.cpp.o
2022-11-18T19:20:31.1057272Z [20/191] Building CXX object CMakeFiles/locale-resources.dir/__cmrc_locale-resources/intermediate/locales/messages.it.json.cpp.o
2022-11-18T19:20:31.2219740Z [21/191] Building CXX object CMakeFiles/locale-resources.dir/__cmrc_locale-resources/intermediate/locales/messages.fr.json.cpp.o
2022-11-18T19:20:31.3485930Z [22/191] Building CXX object CMakeFiles/locale-resources.dir/__cmrc_locale-resources/intermediate/locales/messages.ja.json.cpp.o
2022-11-18T19:20:31.8351967Z [23/191] Building CXX object CMakeFiles/locale-resources.dir/__cmrc_locale-resources/intermediate/locales/messages.pl.json.cpp.o
2022-11-18T19:20:32.0085454Z [24/191] Building CXX object CMakeFiles/locale-resources.dir/__cmrc_locale-resources/intermediate/locales/messages.ko.json.cpp.o
2022-11-18T19:20:32.0638442Z [25/191] Building CXX object CMakeFiles/locale-resources.dir/__cmrc_locale-resources/intermediate/locales/messages.json.cpp.o
2022-11-18T19:20:32.1666783Z [26/191] Building CXX object _deps/fmt-build/CMakeFiles/fmt.dir/src/os.cc.o
2022-11-18T19:20:32.5716463Z [27/191] Building CXX object CMakeFiles/locale-resources.dir/__cmrc_locale-resources/intermediate/locales/messages.pt-BR.json.cpp.o
2022-11-18T19:20:32.5840933Z [28/191] Building CXX object CMakeFiles/locale-resources.dir/__cmrc_locale-resources/intermediate/locales/messages.zh-Hans.json.cpp.o
2022-11-18T19:20:32.7937041Z [29/191] Building CXX object CMakeFiles/locale-resources.dir/__cmrc_locale-resources/intermediate/locales/messages.tr.json.cpp.o
2022-11-18T19:20:33.0594246Z [30/191] Building CXX object CMakeFiles/locale-resources.dir/__cmrc_locale-resources/intermediate/locales/messages.zh-Hant.json.cpp.o
2022-11-18T19:20:33.1390936Z [31/191] Building CXX object CMakeFiles/locale-resources.dir/__cmrc_locale-resources/intermediate/locales/messages.ru.json.cpp.o
2022-11-18T19:20:34.2830316Z [32/191] Building CXX object CMakeFiles/locale-resources.dir/__cmrc_locale-resources/lib.cpp.o
2022-11-18T19:20:34.3967005Z [33/191] Linking CXX static library liblocale-resources.a
2022-11-18T19:20:40.5847555Z [34/191] Building CXX object CMakeFiles/vcpkglib.dir/src/vcpkg/base/chrono.cpp.o
2022-11-18T19:20:42.9021976Z [35/191] Building CXX object CMakeFiles/vcpkglib.dir/src/vcpkg/base/cofffilereader.cpp.o
2022-11-18T19:20:43.8280813Z [36/191] Building CXX object _deps/fmt-build/CMakeFiles/fmt.dir/src/format.cc.o
2022-11-18T19:20:46.0460095Z [37/191] Building CXX object CMakeFiles/vcpkglib.dir/src/vcpkg/base/downloads.cpp.o
2022-11-18T19:20:50.3239138Z [38/191] Building CXX object CMakeFiles/vcpkglib.dir/src/vcpkg/base/graphs.cpp.o
2022-11-18T19:20:52.5683754Z [39/191] Building CXX object CMakeFiles/vcpkglib.dir/src/vcpkg/base/files.cpp.o
2022-11-18T19:20:53.1445576Z [40/191] Building CXX object CMakeFiles/vcpkglib.dir/src/vcpkg/base/checks.cpp.o
2022-11-18T19:20:54.1663776Z [41/191] Building CXX object CMakeFiles/vcpkglib.dir/src/vcpkg/base/git.cpp.o
2022-11-18T19:20:58.1037793Z [42/191] Building CXX object CMakeFiles/vcpkglib.dir/src/vcpkg/base/stringview.cpp.o
2022-11-18T19:20:59.6937667Z [43/191] Building CXX object CMakeFiles/vcpkglib.dir/src/vcpkg/base/hash.cpp.o
2022-11-18T19:21:05.9478779Z [44/191] Building CXX object CMakeFiles/vcpkglib.dir/src/vcpkg/base/parse.cpp.o
2022-11-18T19:21:06.0308922Z [45/191] Building CXX object CMakeFiles/vcpkglib.dir/src/vcpkg/base/json.cpp.o
2022-11-18T19:21:07.3268468Z [46/191] Building CXX object CMakeFiles/vcpkglib.dir/src/vcpkg/base/system.cpp.o
2022-11-18T19:21:08.1626722Z [47/191] Building CXX object CMakeFiles/vcpkglib.dir/src/vcpkg/base/system.mac.cpp.o
2022-11-18T19:21:08.9670489Z [48/191] Building CXX object CMakeFiles/vcpkglib.dir/src/vcpkg/base/strings.cpp.o
2022-11-18T19:21:10.7602745Z [49/191] Building CXX object CMakeFiles/vcpkglib.dir/src/vcpkg/base/messages.cpp.o
2022-11-18T19:21:11.5087870Z [50/191] Building CXX object CMakeFiles/vcpkglib.dir/src/vcpkg/base/uint128.cpp.o
2022-11-18T19:21:14.2315385Z [51/191] Building CXX object CMakeFiles/vcpkglib.dir/src/vcpkg/base/system.print.cpp.o
2022-11-18T19:21:14.5574975Z [52/191] Building CXX object CMakeFiles/vcpkglib.dir/src/vcpkg/base/uuid.cpp.o
2022-11-18T19:21:14.6661235Z [53/191] Building CXX object CMakeFiles/vcpkglib.dir/src/vcpkg/base/system.proxy.cpp.o
2022-11-18T19:21:17.0183270Z [54/191] Building CXX object CMakeFiles/vcpkglib.dir/src/vcpkg/base/unicode.cpp.o
2022-11-18T19:21:20.3555597Z [55/191] Building CXX object CMakeFiles/vcpkglib.dir/src/vcpkg/base/xmlserializer.cpp.o
2022-11-18T19:21:27.0414133Z [56/191] Building CXX object CMakeFiles/vcpkglib.dir/src/vcpkg/base/system.process.cpp.o
2022-11-18T19:21:27.0932721Z [57/191] Building CXX object CMakeFiles/vcpkglib.dir/src/vcpkg/archives.cpp.o
2022-11-18T19:21:30.3918125Z [58/191] Building CXX object CMakeFiles/vcpkglib.dir/src/vcpkg/buildenvironment.cpp.o
2022-11-18T19:21:30.6939419Z [59/191] Building CXX object CMakeFiles/vcpkglib.dir/src/vcpkg/binarycaching.cpp.o
2022-11-18T19:21:30.6943848Z FAILED: CMakeFiles/vcpkglib.dir/src/vcpkg/binarycaching.cpp.o
2022-11-18T19:21:30.6957162Z /usr/bin/c++ -DVCPKG_BASE_VERSION=2999-12-31 -DVCPKG_VERSION=unknownhash -I/mnt/disks/ssd/azure.ws/4/s/vcpkg/buildtrees/_vcpkg/src/vcpkg-tool-2022-11-10/include -I/mnt/disks/ssd/azure.ws/4/s/vcpkg/buildtrees/_vcpkg/build/_deps/fmt-src/include -I/mnt/disks/ssd/azure.ws/4/s/vcpkg/buildtrees/_vcpkg/build/_cmrc/include -O3 -DNDEBUG -include /mnt/disks/ssd/azure.ws/4/s/vcpkg/buildtrees/_vcpkg/src/vcpkg-tool-2022-11-10/include/pch.h -pthread -std=c++1z -MD -MT CMakeFiles/vcpkglib.dir/src/vcpkg/binarycaching.cpp.o -MF CMakeFiles/vcpkglib.dir/src/vcpkg/binarycaching.cpp.o.d -o CMakeFiles/vcpkglib.dir/src/vcpkg/binarycaching.cpp.o -c /mnt/disks/ssd/azure.ws/4/s/vcpkg/buildtrees/_vcpkg/src/vcpkg-tool-2022-11-10/src/vcpkg/binarycaching.cpp
2022-11-18T19:21:30.6968193Z In file included from /usr/include/c++/7/bits/stl_tempbuf.h:60:0,
2022-11-18T19:21:30.6998038Z from /usr/include/c++/7/bits/stl_algo.h:62,
2022-11-18T19:21:30.6999639Z from /usr/include/c++/7/algorithm:62,
2022-11-18T19:21:30.7003528Z from /mnt/disks/ssd/azure.ws/4/s/vcpkg/buildtrees/_vcpkg/src/vcpkg-tool-2022-11-10/include/pch.h:25,
2022-11-18T19:21:30.7006623Z from :0:
2022-11-18T19:21:30.7011616Z /usr/include/c++/7/bits/stl_construct.h: In instantiation of ‘void std::_Construct(_T1*, _Args&& ...) [with _T1 = std::unique_ptrvcpkg::IBinaryProvider; _Args = {const std::unique_ptr<vcpkg::IBinaryProvider, std::default_deletevcpkg::IBinaryProvider >&}]’:
2022-11-18T19:21:30.7021352Z /usr/include/c++/7/bits/stl_uninitialized.h:83:18: required from ‘static _ForwardIterator std::__uninitialized_copy<_TrivialValueTypes>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const std::unique_ptrvcpkg::IBinaryProvider, std::vector<std::unique_ptrvcpkg::IBinaryProvider > >; _ForwardIterator = std::unique_ptrvcpkg::IBinaryProvider; bool _TrivialValueTypes = false]’
2022-11-18T19:21:30.7032767Z /usr/include/c++/7/bits/stl_uninitialized.h:134:15: required from ‘_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const std::unique_ptrvcpkg::IBinaryProvider, std::vector<std::unique_ptrvcpkg::IBinaryProvider > >; _ForwardIterator = std::unique_ptrvcpkg::IBinaryProvider]’
2022-11-18T19:21:30.7044237Z /usr/include/c++/7/bits/stl_uninitialized.h:289:37: required from ‘_ForwardIterator std::__uninitialized_copy_a(_InputIterator, _InputIterator, _ForwardIterator, std::allocator<_Tp>&) [with _InputIterator = __gnu_cxx::__normal_iterator<const std::unique_ptrvcpkg::IBinaryProvider, std::vector<std::unique_ptrvcpkg::IBinaryProvider > >; _ForwardIterator = std::unique_ptrvcpkg::IBinaryProvider; _Tp = std::unique_ptrvcpkg::IBinaryProvider]’
2022-11-18T19:21:30.7053342Z /usr/include/c++/7/bits/stl_vector.h:331:31: required from ‘std::vector<_Tp, _Alloc>::vector(const std::vector<_Tp, _Alloc>&) [with _Tp = std::unique_ptrvcpkg::IBinaryProvider; _Alloc = std::allocator<std::unique_ptrvcpkg::IBinaryProvider >]’
2022-11-18T19:21:30.7063074Z /mnt/disks/ssd/azure.ws/4/s/vcpkg/buildtrees/_vcpkg/src/vcpkg-tool-2022-11-10/include/vcpkg/base/expected.h:42:57: required from ‘vcpkg::ExpectedHolder::ExpectedHolder(Fwd&&) [with Fwd = std::vector<std::unique_ptrvcpkg::IBinaryProvider >&; typename std::enable_if<(! is_same_v<vcpkg::ExpectedHolder, typename std::remove_cv<typename std::remove_reference<_SrcTuple>::type>::type>), int>::type = 0; T = std::vector<std::unique_ptrvcpkg::IBinaryProvider >]’
2022-11-18T19:21:30.7088598Z /mnt/disks/ssd/azure.ws/4/s/vcpkg/buildtrees/_vcpkg/src/vcpkg-tool-2022-11-10/include/vcpkg/base/expected.h:77:85: required from ‘vcpkg::ExpectedT<T, Error>::ExpectedT(ConvToT&&) [with ConvToT = std::vector<std::unique_ptrvcpkg::IBinaryProvider >&; typename std::enable_if<(is_convertible_v<ConvToT, T> && (! is_same_v<typename std::remove_reference<_SrcTuple>::type, Error>)), int>::type = 0; T = std::vector<std::unique_ptrvcpkg::IBinaryProvider >; Error = std::__cxx11::basic_string]’
2022-11-18T19:21:30.7098482Z /mnt/disks/ssd/azure.ws/4/s/vcpkg/buildtrees/_vcpkg/src/vcpkg-tool-2022-11-10/src/vcpkg/binarycaching.cpp:2313:12: required from here
2022-11-18T19:21:30.7114108Z /usr/include/c++/7/bits/stl_construct.h:75:7: error: use of deleted function ‘std::unique_ptr<_Tp, _Dp>::unique_ptr(const std::unique_ptr<_Tp, _Dp>&) [with _Tp = vcpkg::IBinaryProvider; _Dp = std::default_deletevcpkg::IBinaryProvider]’
2022-11-18T19:21:30.7119710Z { ::new(static_cast<void*>(__p)) _T1(std::forward<_Args>(__args)...); }
2022-11-18T19:21:30.7122232Z ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2022-11-18T19:21:30.7124078Z In file included from /usr/include/c++/7/memory:80:0,
2022-11-18T19:21:30.7127371Z from /mnt/disks/ssd/azure.ws/4/s/vcpkg/buildtrees/_vcpkg/src/vcpkg-tool-2022-11-10/include/pch.h:35,
2022-11-18T19:21:30.7130100Z from :0:
2022-11-18T19:21:30.7131752Z /usr/include/c++/7/bits/unique_ptr.h:383:7: note: declared here
2022-11-18T19:21:30.7133745Z unique_ptr(const unique_ptr&) = delete;
2022-11-18T19:21:30.7134952Z ^~~~~~~~~~
2022-11-18T19:21:33.1153861Z [60/191] Building CXX object CMakeFiles/vcpkglib.dir/src/vcpkg/binaryparagraph.cpp.o
2022-11-18T19:21:34.1316435Z [61/191] Building CXX object CMakeFiles/vcpkglib.dir/src/vcpkg/cgroup-parser.cpp.o
2022-11-18T19:21:41.9254893Z [62/191] Building CXX object CMakeFiles/vcpkglib.dir/src/vcpkg/ci-baseline.cpp.o
2022-11-18T19:21:45.2752977Z [63/191] Building CXX object CMakeFiles/vcpkglib.dir/src/vcpkg/cmakevars.cpp.o
2022-11-18T19:21:47.1961947Z [64/191] Building CXX object CMakeFiles/vcpkglib.dir/src/vcpkg/build.cpp.o
2022-11-18T19:21:47.1964022Z ninja: build stopped: subcommand failed.

@Cheney-W Cheney-W added the category:vcpkg-bug The issue is with the vcpkg system (including helper scripts in `scripts/cmake/`) label Nov 21, 2022
@Cheney-W
Copy link
Contributor

@BillyONeal Could you please take a look this issue? I don't have an arm64 linux machine, but I tested the build of vcpkg-tool on a normal linux machine with gcc 9.5, it build successfully.

@Kingtous
Copy link

Kingtous commented Nov 21, 2022

Same issue here. I'm using gcc 7.5 + aarch64 ubuntu 18.04 docker image.

vcpkg commit id: 6ca56ae

@BillyONeal
Copy link
Member

Our official support is for the compilers we use to build the binary releases, which is gcc 9. However, we have some folks who build from source on older versions and are happy to accept contributions that fix that.

In this case, we've got a little bit of a problem because working around the bug forces us to pessimize all other compilers (adding the std::move to the return). Moreover, nobody has reported this problem for at least 10 months (since that function has not changed in that time). Moreover, ubuntu 18.04 goes out of support in 5 months (April 2023), so one would hope folks are looking to get on something current soon.

Tagging requires:vcpkg-team-review: we need to officially make a statement between these 3 options:

  1. We fully care about building ARM Linux with GCC 7 and will go out of our way to fix this ourselves soon.
  2. We will welcome community contributions that fix the problem for GCC 7 even they pessimize current compilers, because the pessimization is small.
  3. We are unwilling to take fixes for something older than our supported compilers, which is currently GCC 9 for Linux.

I am guessing that the answer will be (2) but want other maintainers involved before I make such a statement.

@BillyONeal BillyONeal added the requires:vcpkg-team-review This PR or issue requires someone on the vcpkg team to take a further look. label Nov 21, 2022
@kumaakh
Copy link
Author

kumaakh commented Nov 21, 2022 via email

@BillyONeal
Copy link
Member

May be the maintainers should take a clear stand that GCC 7.5 on ARM Linux
is not supported, or that ARM Linux is not supported.

To be clear, the current status is "full support for the compilers we produce official builds with, contributions happily accepted to keep other stuff working".

As I also noted GCC 7.5 on Linux x86_64 worked fine.

Then either (1) you got the downloaded copy that we built with GCC 9 rather than attempting to build yourself, or (2) we would be unable to repro it even if we wanted to since we don't have an arm native Linux environment handy.

@BillyONeal
Copy link
Member

@JavierMatosD @markle11m @ras0219-msft @valeriaconde and I discussed this today and reaffirmed that the team answer is #2: we are happy to accept changes that fix it, but aren't going to stand up validation of this at this time.

Additionally, if you have instructions we could use to practically cross compile for arm64-linux such that we could give you binary downloads rather than needing to build us in the first place, that would be better than a targeted bug workaround for this specific GCC 7 bug.

We currently build binary releases using RHEL 7 using the following command line: https://github.com/microsoft/vcpkg-tool/blob/16d6d44efb4f02bdc6957a74f6a0273aaf0d3668/azure-pipelines/signing.yml#L235 . The targeted system needs to be the oldest Linux we want this to work on given how their platform loader works. We also aren't sure exactly if there is a common ABI for arm64-linux given that arm-linux has several ABIs that make deploying binaries there difficult.

Thanks for your help :)

@kumaakh
Copy link
Author

kumaakh commented Nov 25, 2022 via email

@kumaakh
Copy link
Author

kumaakh commented Dec 9, 2022 via email

@pbgodwin
Copy link

Thanks! Apologies for snipping my reply, needed to go regroup with my team after re-reading the thread :)

@BillyONeal BillyONeal removed the requires:vcpkg-team-review This PR or issue requires someone on the vcpkg team to take a further look. label Jan 12, 2023
@BillyONeal
Copy link
Member

I think getting an official binary build of the tool for arm64 will go a long way. On that path.. I have a self hosted action runner running Ubuntu on arm linux (aarch64), It is used for an Open source project. I can offer that runner to build the binaries. Is that useful/possible?

Unfortunately if we are doing it as an official release we need to own the hardware etc. If we can get reasonable instructions we can build/ship the results. If you have practical cross compilation instructions that should work for most arm customers we can go there :)

@github-actions
Copy link

This is an automated message. Per our repo policy, stale issues get closed if there has been no activity in the past 180 days. The issue will be automatically closed in 14 days. If you wish to keep this issue open, please add a new comment.

@github-actions github-actions bot added the Stale label Sep 23, 2023
@github-actions github-actions bot closed this as not planned Won't fix, can't repro, duplicate, stale Oct 7, 2023
@ethanc8
Copy link

ethanc8 commented Dec 24, 2023

If you're on 18.04 and encountering this problem (I have a Jetson Nano, and NVIDIA only supports 18.04 on Jetson Nanos), you can install GCC 13 like so:

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt update
sudo apt install gcc-13 g++-13
mkdir -p ~/.local/bin/gcc-13
ln -s $(which gcc-13) ~/.local/bin/gcc-13/cc
ln -s $(which gcc-13) ~/.local/bin/gcc-13/gcc
ln -s $(which g++-13) ~/.local/bin/gcc-13/c++
ln -s $(which g++-13) ~/.local/bin/gcc-13/g++
export PATH="$HOME/.local/bin/gcc-13:$PATH"
# If you want to always use gcc 13, then do:
# echo "PATH=\$HOME/.local/bin/gcc-13:\$PATH" >> ~/.bashrc

If you want an earlier version of GCC, I believe gcc-9, gcc-10, and gcc-11 are also available.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category:vcpkg-bug The issue is with the vcpkg system (including helper scripts in `scripts/cmake/`) Stale
Projects
None yet
Development

No branches or pull requests

6 participants