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

fails to run with undefined symbol on Manjaro #14171

Open
Malthbern opened this issue Jan 23, 2023 · 6 comments
Open

fails to run with undefined symbol on Manjaro #14171

Malthbern opened this issue Jan 23, 2023 · 6 comments
Labels
good-first-issue Issue ready for a new contributor according to the help wanted guidelines. help-wanted Issue that needs help from a contributor. Must meet help wanted guidelines. kind/bug Categorizes issue or PR as related to a bug. platform/linux Issues affecting content related to Linux as a host or target platform. sig/platform Categorizes an issue or PR as relevant to SIG Platform. triage/deferred Indicates an issue that is valid but backlogged

Comments

@Malthbern
Copy link

Describe the bug
fails to launch with "o3de: symbol lookup error: /opt/O3DE/22.10.0/bin/Linux/profile/Default/libAzQtComponents.so: undefined symbol: _ZN16QStyleSheetStyle16staticMetaObjectE, version Qt_5_PRIVATE_API" with LD_LIBRARY_PATH and LD_PRELOAD having no effect on loading the provided libraries

Assets required
Manjaro Linux (seems specific to this distro)
aur package: https://aur.archlinux.org/packages/o3de-bin

Steps to reproduce the behavior:

  1. download from aur
  2. run "o3de" in command line

Expected behavior
o3de should load

Actual behavior
fails to load with error "o3de: symbol lookup error: /opt/O3DE/22.10.0/bin/Linux/profile/Default/libAzQtComponents.so: undefined symbol: _ZN16QStyleSheetStyle16staticMetaObjectE, version Qt_5_PRIVATE_API"

Found in Branch
https://o3debinaries.org/main/Latest/Linux/o3de_2210_0.deb

Desktop/Device
Operating System: Manjaro Linux
KDE Plasma Version: 5.26.4
KDE Frameworks Version: 5.101.0
Qt Version: 5.15.7
Kernel Version: 6.0.15-1-MANJARO (64-bit)
Graphics Platform: X11
Processors: 16 × AMD Ryzen 7 3800X 8-Core Processor
Memory: 31.3 GiB of RAM
Graphics Processor: NVIDIA GeForce RTX 3080/PCIe/SSE2

@Malthbern Malthbern added kind/bug Categorizes issue or PR as related to a bug. needs-sig Indicates an issue or PR lacks a `sig/foo` label and requires one. needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. labels Jan 23, 2023
@lmbr-pip lmbr-pip added sig/platform Categorizes an issue or PR as relevant to SIG Platform. and removed needs-sig Indicates an issue or PR lacks a `sig/foo` label and requires one. labels Jan 23, 2023
@xaque
Copy link
Contributor

xaque commented Jan 23, 2023

This issue has cropped up a few times in the discord as well by users running distros such as Manjaro, Garuda. Based on this QT article: https://www.qt.io/blog/2011/10/28/rpath-and-runpath

When you ship binaries, either use RPATH and not RUNPATH or ensure LD_LIBRARY_PATH is set before they are run. When you build Qt on a system where 'ld' defaults to --enable-new-dtags (and thus -rpath adds a RUNPATH), be aware that you might have to set LD_LIBRARY_PATH before starting applications built against that Qt version.

The binaries from O3DE only have RUNPATH and it seems different distros are behaving differently with regards to loading the system or O3DE ones first

@byrcolin
Copy link
Contributor

byrcolin commented Jan 26, 2023

We will take this under advisement, understand Manjaro is not a supported platform as of yet so this would be a good issue for the community to dig into and fix in such a way that would not break the officially supported platforms and would move Manjaro closer to potentially being an officially supported platform. We will leave this open, so the community know about it and can action on this, and perhaps we can get to it after issues from supported platforms, however SIG platform must decline at present.

@byrcolin byrcolin added platform/linux Issues affecting content related to Linux as a host or target platform. good-first-issue Issue ready for a new contributor according to the help wanted guidelines. help-wanted Issue that needs help from a contributor. Must meet help wanted guidelines. triage/declined Indicates an issue is not accepted and removed needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. labels Jan 26, 2023
@byrcolin byrcolin added triage/deferred Indicates an issue that is valid but backlogged and removed triage/declined Indicates an issue is not accepted labels Feb 21, 2023
@ShaunaGordon
Copy link
Contributor

Just for reference purposes for anyone who happens along this issue, this is still happening with 23.10.2.

@conradax
Copy link

conradax commented Apr 7, 2024

I suggest to add notification about this issue on O3DE download page.
And EMPHASIZE that ONLY Ubuntu is officially supported yet.

@ShaunaGordon
Copy link
Contributor

I took some time to track this down, and found that it's not something on the O3DE side, nor does it seem to be a runpath thing, but rather a permissions issue on install.

Basically, it's installing into /opt, which is recursively owned by root by default (of course). However, at least pip, if not get_python as a whole doesn't like being run with elevated privileges, and the user check in the package install script isn't behaving as expected, resulting in the whole thing failing in some silent way.

I've updated the issue on the package repository with my findings so they can implement the best fix for it.

In the meantime, for any affected user that happens across this, you can work around the issue by chowning the descendants of the /opt/O3DE/23.10.2 folder, then running python/get_python.sh again.

@fhdk
Copy link

fhdk commented Apr 18, 2024

Please check comment marked as solution on Manjaro Forum

https://forum.manjaro.org/t/is-something-different-about-manjaros-runpath-handling/159464/18

To sum up the topic

  1. Custom buildscripts are unsupported on Manjaro stable branch
  2. Unstable branch is a requirement
  3. Do not use Pamac (Add/Remove Software)
  4. Use git clone and makepkg

The following steps will result in a successful installation

sudo pacman-mirrors -aS unstable
sudo pacman -Syu base-devel git --needed
git clone https://aur.archlinux.org/libffi7
git clone https.//aur.archlinux.org/o3de-bin
cd libffi7
makepkg -is
cd ../o3de-bin
cd o3de-bin
makepkg -is

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good-first-issue Issue ready for a new contributor according to the help wanted guidelines. help-wanted Issue that needs help from a contributor. Must meet help wanted guidelines. kind/bug Categorizes issue or PR as related to a bug. platform/linux Issues affecting content related to Linux as a host or target platform. sig/platform Categorizes an issue or PR as relevant to SIG Platform. triage/deferred Indicates an issue that is valid but backlogged
Projects
None yet
Development

No branches or pull requests

7 participants