Closed Inviticus-arch closed 3 months ago
Do you have a directory /usr/include/loot or /usr/local/include/loot? Those should exist after installing libloot.
Do you have a directory /usr/include/loot or /usr/local/include/loot? Those should exist after installing libloot.
I tried to follow the libloot installation but it is sort of confusing to me, I am still new to linux in general so any help about that is appreciated.
Does building libloot by itself work for you? If not: Try downloading version 0.23.0, which is what Limo uses currently here. You should be able to build it similarly to how you would build Limo:
mkdir build
cmake -DCMAKE_BUILD_TYPE=Release -S . -B build
cmake --build build
cmake --install build --config Release
Note: Building libloot requires cargo to be installed.
Alternatively, the author offers a pre-build Linux version of libloot here. I did not test the pre build version though. If you download this version, you will have to install some files afterwards. After extracting the archive, run from inside the libloot-0.23.0-Linux directory:
install -D include/loot/* --target-directory /usr/local/include/loot
install -D lib/libloot.so* --target-directory /usr/local/lib/
It keeps saying "fatal error: spdlog/fmt/bundled/args.h: No such file or directory" whenever I do the cmake --build build command I know you said that I can build it similarly.
Also the pre builtdversions doesn't work either for some weird reason.
Also the pre builtdversions doesn't work either for some weird reason.
Does this yield the same error as you got initially, i.e. "cannot find -lloot: no such file or directory"? Did you verify that that
/usr/local/include/loot
and /usr/local/lib/libloot.so
exist?
It keeps saying "fatal error: spdlog/fmt/bundled/args.h: No such file or directory"
This is weird, how far into the build process do you get? Does this happen during cargos build process?
it is at the 46% mark. It does happen during cargos build process
it is at the 46% mark. It does happen during cargos build process
This seems like an issue with libloot, might be best to ask the author about it here. If the pre-build version is actually where it should be, you could try pointing Limos CMAKE file directly to those locations: Change line 249 in Limos CMakeLists.txt from
PRIVATE /usr/include/loot
to
PRIVATE /usr/local/include/loot
For the pre build version it kept saying omitting directory 'include/loot/metadata' omitting directory 'include/loot/exception' omitting directory 'include/loot/enum' and it is only for those three files and nothing else. It will not give me an error either.
My bad, install does not work recursively. Try:
cp -r include/loot /usr/local/include/loot
After that you should hopefully be able to build Limo normally.
seems like it is building fine, it is just slow.
Depending on your system, this may take a while. As a tip for future builds: CMake accepts the -j
argument for building in parallel. So as an example, building on 8 cores would look like this:
cmake --build build -j 8
so I am able to start building limo now but when it gets to 100% it stops and spits out this error now "error: ld returned 1 exit status" and a bunch of undefined reference files
Looks like the linker cannot find some libraries. Can you post the full error block with the undefined references?
By the way, just to make sure since you mentioned you are new to Linux, if you are building Limo from source just to use it you should probably install the flatpak version instead.
It is going to look messy but here it is:
/usr/bin/ld: warning: libicuuc.so.71, needed by /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/libloot.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libtbb.so.2, needed by /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/libloot.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/libloot.so: undefined reference to icu_71::UnicodeString::fromUTF8(icu_71::StringPiece)' /usr/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/libloot.so: undefined reference to
tbb::task::note_affinity(unsigned short)'
/usr/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/libloot.so: undefined reference to icu_71::ByteSink::~ByteSink()' /usr/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/libloot.so: undefined reference to
icu_71::UnicodeString::~UnicodeString()'
/usr/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/libloot.so: undefined reference to typeinfo for tbb::task' /usr/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/libloot.so: undefined reference to
tbb::internal::allocate_root_with_context_proxy::free(tbb::task&) const'
/usr/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/libloot.so: undefined reference to tbb::task_group_context::init()' /usr/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/libloot.so: undefined reference to
icu_71::UnicodeString::toUTF8(icu_71::ByteSink&) const'
/usr/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/libloot.so: undefined reference to icu_71::UnicodeString::doCaseCompare(int, int, char16_t const*, int, int, unsigned int) const' /usr/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/libloot.so: undefined reference to
tbb::internal::get_initial_auto_partitioner_divisor()'
/usr/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/libloot.so: undefined reference to tbb::interface7::internal::isolate_within_arena(tbb::interface7::internal::delegate_base&, long)' /usr/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/libloot.so: undefined reference to
tbb::task_group_context::~task_group_context()'
/usr/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/libloot.so: undefined reference to tbb::internal::allocate_child_proxy::allocate(unsigned long) const' /usr/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/libloot.so: undefined reference to
icu_71::ByteSink::GetAppendBuffer(int, int, char, int, int)'
/usr/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/libloot.so: undefined reference to icu_71::UMemory::operator delete(void*)' /usr/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/libloot.so: undefined reference to
icu_71::UnicodeString::foldCase(unsigned int)'
/usr/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/libloot.so: undefined reference to tbb::internal::allocate_continuation_proxy::allocate(unsigned long) const' /usr/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/libloot.so: undefined reference to
tbb::task_group_context::is_group_execution_cancelled() const'
/usr/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/libloot.so: undefined reference to typeinfo for icu_71::ByteSink' /usr/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/libloot.so: undefined reference to
icu_71::ByteSink::Flush()'
/usr/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/libloot.so: undefined reference to `tbb::internal::allocate_root_with_context_proxy::allocate(unsigned long) const'
collect2: error: ld returned 1 exit status
make[2]: [CMakeFiles/Limo.dir/build.make:1287: Limo] Error 1
make[1]: [CMakeFiles/Makefile2:86: CMakeFiles/Limo.dir/all] Error 2
I also tried using the flatpack version but that also had some wired error with it.
and that is
qt.glx: qglx_findConfig: Failed to finding matching FBConfig for QSurfaceFormat(version 2.0, options QFlags
I also tried using the flatpack version but that also had some wired error with it.
What king of error? Flatpaks have all dependencies packaged into them, so they are supposed to work on every distro. It should usually be much easier to get the flatpak version to run than building from source. This also has the advantage that you receive automatic updates.
The errors point to missing dependencies for libloot, namely libicu-dev and libtbb-dev. Are those packages installed.
this is the error for the flatpack one
qt.glx: qglx_findConfig: Failed to finding matching FBConfig for QSurfaceFormat(version 2.0, options QFlags
Try running export QT_XCB_GL_INTEGRATION=none
and then start the flatpak version again.
that works for the flatpack version thanks
As last question, so i can add this as a tip for users: What Linux distribution are you running?
I am currently running Manjaro
Alright, i assume getting the flatpak version to run solves your problem? If so, then i will close this issue
yep it does solve the problem
Solved, closing
the issue happens whenever I try to build limo.