[opensuse-factory] Re: No rule to make target '/usr/lib64/libicuuc.so', needed by 'UnitTests'. Stop.
Hello Aaron, Am Freitag, 9. August 2019, 23:35:20 CEST schrieb Aaron Puchert:
Am 09.08.19 um 19:36 schrieb Axel Braun:
Looks like the link_libraries(icuuc icui18n) does not work.
Log file: https://build.opensuse.org/build/home:DocB:Orthanc/openSUSE_Tumbleweed/x86 _64/ orthanc/_log
The specfile seems to be missing
BuildRequires: libicu-devel
That was obviously...too obvious.
That should contain /usr/lib64/libicuuc.so. Generally .so files are in -devel packages (together with headers, which you probably also need here), and .so.* files are in non-devel packages.
On the other distributions libicu-devel might come in via another package, and perhaps that dependency has been removed in Factory.
Looks like, yes. Now it builds, thanks for the hint Axel -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
Hello, On Sat, 10 Aug 2019, Axel Braun wrote:
Am Freitag, 9. August 2019, 23:35:20 CEST schrieb Aaron Puchert:
Log file: https://build.opensuse.org/build/home:DocB:Orthanc/openSUSE_Tumbleweed/x86 _64/ orthanc/_log
The specfile seems to be missing
BuildRequires: libicu-devel
That was obviously...too obvious.
That should contain /usr/lib64/libicuuc.so. Generally .so files are in -devel packages (together with headers, which you probably also need here), and .so.* files are in non-devel packages.
On the other distributions libicu-devel might come in via another package, and perhaps that dependency has been removed in Factory.
Looks like, yes. Now it builds, thanks for the hint
Please, please do no longer use deps on -devel packages, but depend on pkgconfig() deps. There are some libs left without pkgconfig files (e.g. libjpeg IIRC), but in all other cases, use pkgconfig(). In this case, it's: BuildRequires: pkgconfig(icu-uc) $ rpm -qlf /usr/lib64/libicuuc.so | grep pkgconfig | xargs grep cuuc /usr/lib64/pkgconfig/icu-uc.pc:Libs: -L${libdir} -licuuc -licudata ^^^^^^ ^^^^^ which means that the dep to libicuuc.so is in icu-uc.pc, i.e. use pkgconfig(icu-uc) as a dep. Generally, 'rpm -qlf foo.so | grep pkg' gives you the pkgconfig files, and if you're missing some specific lib, grep those for the lib as shown above, if the package has more than one .pc file. And BTW, this has been valid since *at least* 8 years ago! There just is no excuse for using -devel deps unless a package has no pkgconfig files. HTH, -dnh -- Most people would say I write code like I've already lost my mind. -- Randal L. Schwartz -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
Hi, Am 10.08.19 um 12:16 schrieb David Haller:
Please, please do no longer use deps on -devel packages, but depend on pkgconfig() deps.
It would help getting your point across if you explained why that's better. There are lots of "syntactic sugar" in dependencies besides pkgconfig(), for example cmake(). I appreciate these being available, but I didn't know this was considered mandatory. I didn't look at Axel's package, but I had no indication it was using pkg-config to look up dependencies. (Although it's possible in CMake: <https://cmake.org/cmake/help/latest/module/FindPkgConfig.html>.)
There are some libs left without pkgconfig files (e.g. libjpeg IIRC), but in all other cases, use pkgconfig(). In this case, it's:
BuildRequires: pkgconfig(icu-uc)
Probably also pkgconfig(icu-i18n) then, since the CMake file says link_libraries(icuuc icui18n)
$ rpm -qlf /usr/lib64/libicuuc.so | grep pkgconfig | xargs grep cuuc /usr/lib64/pkgconfig/icu-uc.pc:Libs: -L${libdir} -licuuc -licudata ^^^^^^ ^^^^^
which means that the dep to libicuuc.so is in icu-uc.pc, i.e. use
pkgconfig(icu-uc)
as a dep. Generally, 'rpm -qlf foo.so | grep pkg' gives you the pkgconfig files, and if you're missing some specific lib, grep those for the lib as shown above, if the package has more than one .pc file.
Why not just this? $ rpm -qf --provides /usr/lib64/libicuuc.so
And BTW, this has been valid since *at least* 8 years ago! There just is no excuse for using -devel deps unless a package has no pkgconfig files.
I'm not sure what made this mail thread warranting a rant. I appreciate your suggestions, but I also ask for leniency in case I ever forgot to link the appropriate pkgconfig and added the -devel package instead. Best regards, Aaron -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
Moin, On Sat, 10 Aug 2019, 15:33:28 +0200, Aaron Puchert wrote:
Please, please do no longer use deps on -devel packages, but depend on pkgconfig() deps. [...] I'm not sure what made this mail thread warranting a rant. I appreciate your suggestions, but I also ask for leniency in case I ever forgot to
Am 10.08.19 um 12:16 schrieb David Haller: link the appropriate pkgconfig and added the -devel package instead.
may I ask what in David's e-mail made you think it was a rant? It was just a very good, still calm hint what should be used in a .spec file. The whole thread started by Axel just asked for ideas...
Best regards, Aaron
Cheers. l8er manfred
Hi Manfred, Am 10.08.19 um 16:29 schrieb Manfred Hollstein:
Moin,
On Sat, 10 Aug 2019, 15:33:28 +0200, Aaron Puchert wrote:
I'm not sure what made this mail thread warranting a rant. I appreciate your suggestions, but I also ask for leniency in case I ever forgot to link the appropriate pkgconfig and added the -devel package instead.
may I ask what in David's e-mail made you think it was a rant?
Well, "Please" would have said exactly the same as the repeated, annoyed "Please, please", but he chose to go with the latter. Why a constructive contribution needs phrases such as "There just is no excuse", as opposed to, say, "There is no reason", isn't entirely clear to me either. There are many different ways of expressing the same ideas, and some of them are more, others less constructive. I guess calling this a rant was a bit strong, but these phrases go clearly beyond the constructive, and don't add to the substance of his suggestion.
It was just a very good, still calm hint what should be used in a .spec file.
"And BTW, this has been valid since *at least* 8 years ago!" Both exclamation mark and emphasis are quoted, I didn't add them in. Emphasis is usually supposed to highlight vital information that might otherwise be overseen. Is that the case here?
The whole thread started by Axel just asked for ideas... Correct, and I wrote that I appreciate David's contribution on substance.
I don't want to continue this discussion on the mailing list, because it's getting off-topic, but feel free to answer privately if you want to continue it. (I don't think there is a mailing list for such issues, probably for good reasons.) Best regards, Aaron -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
participants (4)
-
Aaron Puchert
-
Axel Braun
-
David Haller
-
Manfred Hollstein