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

Build fails on latest Arch Linux x86_64 #7203

Open
wilchak opened this issue Sep 21, 2024 · 5 comments
Open

Build fails on latest Arch Linux x86_64 #7203

wilchak opened this issue Sep 21, 2024 · 5 comments
Labels
scope: compilation Compilation issues

Comments

@wilchak
Copy link

wilchak commented Sep 21, 2024

Just tried to build a fresh checkout of dev (1e0265f), and it fails.

Building on a fully up-to-date Arch Linux x86_64. I last successfully built RawTherapee on this environment/machine on Sept 3.

Tried building today because libjxl got a version bump, and now my current binary fails on launch looking for the old .so

(Just to be safe, I disabled libjxl support this time since I don't need that support anyway)

Failure:

[ 79%] Building CXX object rtgui/CMakeFiles/rth.dir/pathutils.cc.o
/usr/bin/ld: /tmp/cciAoelP.ltrans7.ltrans.o: in function `rtengine::RawImageSource::demosaic(rtengine::procparams::RAWParams const&, bool, double&, bool)':
<artificial>:(.text+0x93d9): undefined reference to `rtengine::RawImageSource::fast_demosaic()'
collect2: error: ld returned 1 exit status
make[2]: *** [rtgui/CMakeFiles/rth-cli.dir/build.make:225: rtgui/rawtherapee-cli] Error 1
make[1]: *** [CMakeFiles/Makefile2:273: rtgui/CMakeFiles/rth-cli.dir/all] Error 2

and then of course linking fails at the end.

My cmake run looks like this: cmake -DCMAKE_BUILD_TYPE="release" -DCACHE_NAME_SUFFIX="5-dev" -DPROC_TARGET_NUMBER="2" -DWITH_LTO="ON" -DENABLE_TCMALLOC="ON" -DWITH_JXL="OFF" ..

Let me know if I can supply any other logs or debug info.

@wilchak
Copy link
Author

wilchak commented Sep 21, 2024

Update: well, 40dccc3 fails with the same error.

gcc version 14.2.1 20240910
GNU ld (GNU Binutils) 2.43.0

@wilchak wilchak changed the title Build fails on latest dev Build fails on latest Arch Linux x86_64 Sep 21, 2024
@Lawrence37
Copy link
Collaborator

I successfully compiled the latest commit on a fully updated Arch Linux system, JXL included. When you say "fresh checkout", does that mean a clean build? If not, delete the build directory and try again.

@Lawrence37 Lawrence37 added the scope: compilation Compilation issues label Sep 22, 2024
@wilchak
Copy link
Author

wilchak commented Sep 22, 2024

Yes, I completely wiped out the RawTherapee code directory (including build) and did a new git clone, mkdir build, cmake, make, etc.

Here's what AboutThisBuild looks like:

Version: 5.11-5-g1e0265f98
Branch: dev
Commit: 1e0265f
Commit date: 2024-09-17
Compiler: cc 14.2.1
Processor: x86_64
System: Linux
Bit depth: 64 bits
Gtkmm: 3.24.9
Lensfun: 0.3.4.0
libjxl: 0.11.0 - Disabled
Build type: release
Build flags: -std=c++11 -ffp-contract=off -march=native -Werror=unused-label -Werror=delete-incomplete -fno-math-errno -Wno-attributes -flto -Wall -Wuninitialized -Wcast-qual -Wno-deprecated-declarations -Wno-unused-result -Wunused-macros -fopenmp -Werror=unknown-pragmas -O3 -DNDEBUG -ftree-vectorize
Link flags: -march=native -flto
OpenMP support: ON
MMAP support: ON
Build OS: Linux 6.10.11-zen3-xanmod1-1 x86_64
Build date: Sun, 22 Sep 2024 12:41:09 +0000 UTC
Build epoch: 1727008869
Build UUID: fc2e9ab5-c09f-4a75-a917-468f7e049323

@wilchak
Copy link
Author

wilchak commented Sep 23, 2024

Update: built successfully with -DWITH_LTO="OFF"

@Lawrence37
Copy link
Collaborator

I spent the day trying to figure out why it doesn't compile with LTO. The relevant object file and librtengine.a definitely has the symbol. Removing irrelevant code causes the linking to succeed. However, removing irrelevant code from just rtgui causes the linker to fail again, and with more errors.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
scope: compilation Compilation issues
Projects
None yet
Development

No branches or pull requests

2 participants