--- Begin Message ---
Subject: |
json-c cross-build fails from x86-64 to armhf |
Date: |
Wed, 4 Nov 2020 08:44:39 -0700 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Icedove/78.4.0 |
I'm trying to build a guix system for my banana pi m2u, but json-c fails
to cross-build.
~$ guix describe
Generation 319 Nov 04 2020 06:41:25 (current)
guix 3d67269
repository URL: https://git.savannah.gnu.org/git/guix.git
branch: master
commit: 3d67269ee787c8624bafdd68df9fbf7eedd8eb1e
~$ guix build --system=armhf-linux json-c
...
command "cmake" "../json-c-0.14" "-DCMAKE_BUILD_TYPE=RelWithDebInfo"
"-DCMAKE_INSTALL_PREFIX=/gnu/store/yqaw63n8wmg7f2ncc24019z87m5cwhim-json-c-0.14"
"-DCMAKE_INSTALL_LIBDIR=lib" "-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE"
"-DCMAKE_INSTALL_RPATH=/gnu/store/yqaw63n8wmg7f2ncc24019z87m5cwhim-json-c-0.14/lib"
"-DCMAKE_VERBOSE_MAKEFILE=ON" failed with status 1
builder for
`/gnu/store/m3x5hnlp9d9qmg72a0c7rqlz40yc0x0m-json-c-0.14.drv' failed
with exit code 1
build of /gnu/store/m3x5hnlp9d9qmg72a0c7rqlz40yc0x0m-json-c-0.14.drv failed
View build log at
'/var/log/guix/drvs/m3/x5hnlp9d9qmg72a0c7rqlz40yc0x0m-json-c-0.14.drv.bz2'.
guix build: error: build of
`/gnu/store/m3x5hnlp9d9qmg72a0c7rqlz40yc0x0m-json-c-0.14.drv' failed
Log attached.
x5hnlp9d9qmg72a0c7rqlz40yc0x0m-json-c-0.14.drv.bz2
Description: Binary data
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#44445: json-c cross-build fails from x86-64 to armhf |
Date: |
Fri, 27 Aug 2021 15:43:14 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) |
Hello,
Jesse Gibbons <jgibbons2357@gmail.com> writes:
> I'm trying to build a guix system for my banana pi m2u, but json-c
> fails to cross-build.
>
> ~$ guix describe
> Generation 319 Nov 04 2020 06:41:25 (current)
> guix 3d67269
> repository URL: https://git.savannah.gnu.org/git/guix.git
> branch: master
> commit: 3d67269ee787c8624bafdd68df9fbf7eedd8eb1e
>
> ~$ guix build --system=armhf-linux json-c
> ...
> command "cmake" "../json-c-0.14" "-DCMAKE_BUILD_TYPE=RelWithDebInfo"
> "-DCMAKE_INSTALL_PREFIX=/gnu/store/yqaw63n8wmg7f2ncc24019z87m5cwhim-json-c-0.14"
>
> "-DCMAKE_INSTALL_LIBDIR=lib"
> "-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE"
> "-DCMAKE_INSTALL_RPATH=/gnu/store/yqaw63n8wmg7f2ncc24019z87m5cwhim-json-c-0.14/lib"
>
> "-DCMAKE_VERBOSE_MAKEFILE=ON" failed with status 1
> builder for
> `/gnu/store/m3x5hnlp9d9qmg72a0c7rqlz40yc0x0m-json-c-0.14.drv' failed
> with exit code 1
> build of /gnu/store/m3x5hnlp9d9qmg72a0c7rqlz40yc0x0m-json-c-0.14.drv failed
> View build log at
> '/var/log/guix/drvs/m3/x5hnlp9d9qmg72a0c7rqlz40yc0x0m-json-c-0.14.drv.bz2'.
> guix build: error: build of
> `/gnu/store/m3x5hnlp9d9qmg72a0c7rqlz40yc0x0m-json-c-0.14.drv' failed
>
>
> Log attached.
As others have said, it looks like you used a native system here (via
offloading/QEMU user emulation) or both. QEMU has limitations that
often causes run time failure, such as during the test suites.
There are substitutes for json-c for both the aarch64-linux and
arm-linux systems, and cross-compiling tested fine as well too:
$ guix build json-c --target=arm-linux-gnueabihf
/gnu/store/dmcii1kjf7035gfn8rg5xws3an7avffl-json-c-0.14
$ guix build json-c --target=aarch64-linux-gnu
/gnu/store/7y20nqvp19254picqa0l345lklf4zih1-json-c-0.14
Closing,
Maxim
--- End Message ---