stefan-langenmaier / jami-overlay

Jami (formerly Ring (formerly SFLphone)) is a SIP compatible softphone for GNU/Linux.
GNU General Public License v3.0
21 stars 9 forks source link

net-voip/gnome-ring-20191110.1: Build fails with USE="static-libs" #69

Closed tastytea closed 4 years ago

tastytea commented 4 years ago

I'm getting a lot of these errors:

/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-
linux-gnu/9.2.0/../../../../lib64/libringclient_static.a(database.cpp.o): in function `lrc::Database::~Database()':
database.cpp:(.text+0x188): undefined reference to `QSqlDatabase::~QSqlDatabase()'
/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../lib64/libringclient_static.a(database.cpp.o): in function `lrc::Database::Database(QString const&, QString const&)':

It seems that CMake is trying to link against static libraries when the use-flag static-libs is enabled. However static-libs means “Build static versions of dynamic libraries as well”. I think the appropriate use-flag is static – “Causes binaries to be statically linked instead of dynamically”.

The build completes successfully with -static-libs.

build.log

stefan-langenmaier commented 4 years ago

Hi!

Thanks for the input. I changed the USE-flag name. I don't know if this fixes your issue but I don't really have experience building the package with these flags enabled, so I'd be happy to hear of any findings.

tastytea commented 4 years ago

My issue was that it tried to build a static binary when I didn't want a static binary – that is fixed, thank you.

But it seems that the ebuild will not work for people that actually want a static binary, probably because the Qt ebuilds never build static libraries on Gentoo.

stefan-langenmaier commented 4 years ago

Thanks for you input, I was reflecting a little bit on it and I don't know if it makes sense to have these use flags, but I'll leave them for now. If somebody wants to experiment with it I'll get feedback. :)