https://bugs.kde.org/show_bug.cgi?id=476068

Nate Graham <n...@kde.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|REPORTED                    |RESOLVED
         Resolution|---                         |NOT A BUG

--- Comment #6 from Nate Graham <n...@kde.org> ---
Yep, that was it.

I ran into one gotcha: by default taglib only builds a static library (.a)
rather than a shared library (.so) which caused kfilemetadata to fail during
compilation because it couldn't link a static library into a dynamic one:

[ 93%] Linking CXX shared module
../../bin/kf6/kfilemetadata/writers/kfilemetadata_taglibwriter.so
/usr/bin/ld: /home/nate/kde/usr6/lib64/libtag.a(mpegfile.cpp.o): relocation
R_X86_64_32S against `.rodata' can not be used when making a shared object;
recompile with -fPIC
/usr/bin/ld: failed to set dynamic section sizes: bad value
collect2: error: ld returned 1 exit status

It turns out that taglib has an off-by-default CMake option to build shared
libs, and after doing that I had to actually delete the buil static libs that
got installed earlier. After I did that, kfilemetadata and Elisa linkes against
the .so and all was well again.

I've added these to my kdesrc-buildrc file:

# For TagLib, because Fedora doesn't have a Qt6 build of it yet
module utfcpp
    repository g...@github.com:nemtrif/utfcpp.git
end module

# For KFileMetadata and Elisa, because Fedora doesn't have a Qt6 build of it
yet
module taglib
    repository g...@github.com:taglib/taglib.git
    cmake-options -DBUILD_SHARED_LIBS=TRUE
end module

And ensured that I build those from source every day as well.

Thanks so much for pointing me on the right path, Jack!

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to