Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 610772 - dev-libs/gobject-introspection-1.50.0 - ImportError: ./.libs/_giscanner.so: cannot open shared object file: No such file or directory
Summary: dev-libs/gobject-introspection-1.50.0 - ImportError: ./.libs/_giscanner.so: c...
Status: CONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: ARM64 Linux
: Normal normal with 1 vote (vote)
Assignee: Gentoo Linux Gnome Desktop Team
URL:
Whiteboard:
Keywords: Bug, REGRESSION, UPSTREAM
Depends on:
Blocks: cross-compile
  Show dependency tree
 
Reported: 2017-02-24 04:40 UTC by R030t1
Modified: 2021-05-27 12:44 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Compilation failure sans configure and prepare output. (build.log,13.70 KB, text/plain)
2017-02-24 04:40 UTC, R030t1
Details

Note You need to log in before you can comment on or make changes to this bug.
Description R030t1 2017-02-24 04:40:30 UTC
Created attachment 464948 [details]
Compilation failure sans configure and prepare output.

Occurs for both arm64 and ~arm64. Additional information output available on request, putting them on bugzilla takes some time. May have it up tomorrow.
Comment 1 Gilles Dartiguelongue (RETIRED) gentoo-dev 2017-08-19 22:57:08 UTC
Actually the error seems to start here :

./g-ir-compiler: line 117: /usr/aarch64-unknown-linux-gnu/tmp/portage/dev-libs/gobject-introspection-1.50.0/work/gobject-introspection-1.50.0/.libs/lt-g-ir-compiler: cannot execute binary file: Exec format error

From the look of your path, I will assume you are cross-compiling, am I right ?
Comment 2 R030t1 2017-08-20 00:02:06 UTC
That is right. Thank you for highlighting that section, I missed it when I reported this. If I had seen it I probably would have filed a bug on the project's tracker.

When cross compiling this type of bug is fairly common, and unfortunately the best solution I have found involves not relying on being able to execute compiled code.
Comment 3 Richard Yao (RETIRED) gentoo-dev 2018-08-03 12:56:31 UTC
Building qemu-user with aarch64 support, modprobing binfmt_misc and doing `echo ':aarch64:M::\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xb7:\xff\xff\xff\xff\xff\xff\xff\xfc\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/local/bin/qemu-aarch64-wrapper:' > /proc/sys/fs/binfmt_misc/register` will let you get around "Exec format error".

However, this fails anyway at `ImportError: ./.libs/_giscanner.so`. The problem is that we are running the system amd64 python while trying to use the C Foreign Function Interface on an aarch64 library. This fails for the obvious reason that it is a different architecture, but produces the non-intuitive error "No such file or directory". :/
Comment 4 Richard Yao (RETIRED) gentoo-dev 2018-08-03 14:17:38 UTC
It is clear from bug #414105 that this is a regression. Making this cross compilation friendly will likely require either modifying the build system to build the lt-g-ir-compiler, _giscanner.so and friends for the host architecture or rewrite all of this in python so that we don't use native code at all.