-
Notifications
You must be signed in to change notification settings - Fork 867
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
arm-linux-gnueabihf-gcc: fatal error: -fuse-linker-plugin, but liblto_plugin.so not found #12
Comments
Seems like there's other files missing too like crtbegin.o and crtend.o. Rolling back to previous toolchain for now. |
Have your rolled it back to the previous version yet? |
Yep, compiling fine with HEAD~1 |
I've had this issue as well, when trying to compile Xenomai. Interestingly, I had no issues compiling the Linux kernel with the Linaro toolchain. The liblto_plugin.so problem was solved by simply creating a symlink. I don't know how to solve the crtbegin.o problem. It doesn't seem to be in any of the .a files in the Linaro subtree. |
The crtbegin.o and related files are missing from the latest git repo. You'll need to revert to the older git commit in order to solve the problem for now. |
Thanks, I saw that and did (actually just switched to one of the other toolchains included in this tree). I just wanted to add extra info. |
:-) . Lets hope they fix this soon.....It took me a lots of hours to figure out their mistake. |
To make it clear, the command to check out a rolled back version of the tools directory, created after the initial 'git clone' command, is:
Hope this helps others like me. |
for me:
Seems to be provided by cpp-4.8. Can you try: |
@popcornmix As this package is a cross-compile toolchain, using the host's libs would be a bit counterproductive. |
@popcornmix if you look at the bug report you'll see that these files are present in the repo, but not in the correct location. The strace shows which paths are searched. Either the files have to move, or the gcc configuration has to be changed to tell gcc where to look for these libs. Additionally, the liblto_plugin.so symlink to liblto_plugin.so.0 might be missing. |
To followup on popcornmix's suggestion for the sake of being thorough, I have cpp-4.8 installed that provides those files, but that didn't work for me (see my first comment above) |
Sorry about this. My mistake. |
Hah, good catch! The pitfalls of putting binaries in VCS... Thanks for the fix! |
I'd say we can safely close this issue now... |
See: raspberrypi/tools#12 Former-commit-id: 97873a8551d2cce4dac7f2483deff595c07a1622 [formerly 4185745ad3d9a257a2a139ccd39cfa0c63b8b324 [formerly e810a0b88e864dbcdb8c750f65ec454f65c56a3a]] Former-commit-id: 66a279a225574aa82ac7d6f3e56a77e4415ad382 Former-commit-id: 33b6df0dba85773034bbf0af84683bbc86c72976
This can also happen when the symbolic links in arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/libexec/gcc/arm-linux-gnueabihf/4.8.3 is not valid. My tools repo was on an NTFS filesystem which I accessed through Linux. Somehow the links were broken and compilation was failing saying missing liblto.so. Cloned the tools repo again into an ext4 filesystem and things started working! |
Hi there,
After the last commit (b49947c) to upgrade the linaro toolchain to 4.8, I'm consistently hitting an error during linking:
$ arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-gcc /tmp/tmp.c -o /tmp/tmp.out
arm-linux-gnueabihf-gcc: fatal error: -fuse-linker-plugin, but liblto_plugin.so not found
compilation terminated.
$
The liblto_plugin seems to exist:
$ find arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/|grep liblto
arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/libexec/gcc/arm-linux-gnueabihf/4.8.3/liblto_plugin.so.0.0.0
arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/libexec/gcc/arm-linux-gnueabihf/4.8.3/liblto_plugin.so.0
$
However, gcc isn't looking for it in the right place - strace shows:
$ strace ./arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-gcc /tmp/tmp.c -o /tmp/tmp.pi 2>&1|grep liblto
access("/home/johny/src/MVPSS/linux-buildroot/toolchain_rpi_bcm2708/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/../libexec/gcc/arm-linux-gnueabihf/4.8.3/liblto_plugin.so", R_OK) = -1 ENOENT (No such file or directory)
access("/home/johny/src/MVPSS/linux-buildroot/toolchain_rpi_bcm2708/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/../libexec/gcc/arm-linux-gnueabihf/liblto_plugin.so", R_OK) = -1 ENOENT (No such file or directory)
access("/home/johny/src/MVPSS/linux-buildroot/toolchain_rpi_bcm2708/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/../libexec/gcc/liblto_plugin.so", R_OK) = -1 ENOENT (No such file or directory)
access("/home/johny/src/MVPSS/linux-buildroot/toolchain_rpi_bcm2708/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/../libexec/gcc/arm-linux-gnueabihf/liblto_plugin.so", R_OK) = -1 ENOENT (No such file or directory)
access("/home/johny/src/MVPSS/linux-buildroot/toolchain_rpi_bcm2708/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/../lib/gcc/arm-linux-gnueabihf/4.8.3/../../../../arm-linux-gnueabihf/bin/arm-linux-gnueabihf/4.8.3/liblto_plugin.so", R_OK) = -1 ENOENT (No such file or directory)
access("/home/johny/src/MVPSS/linux-buildroot/toolchain_rpi_bcm2708/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/../lib/gcc/arm-linux-gnueabihf/4.8.3/../../../../arm-linux-gnueabihf/bin/arm-linux-gnueabihf/liblto_plugin.so", R_OK) = -1 ENOENT (No such file or directory)
access("/home/johny/src/MVPSS/linux-buildroot/toolchain_rpi_bcm2708/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/../lib/gcc/arm-linux-gnueabihf/4.8.3/../../../../arm-linux-gnueabihf/bin/liblto_plugin.so", R_OK) = -1 ENOENT (No such file or directory)
access("/home/johny/src/MVPSS/linux-buildroot/toolchain_rpi_bcm2708/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/../lib/gcc/arm-linux-gnueabihf/4.8.3/../../../../arm-linux-gnueabihf/bin/arm-linux-gnueabihf/liblto_plugin.so", R_OK) = -1 ENOENT (No such file or directory)
$
The text was updated successfully, but these errors were encountered: