Created attachment 590196 [details] emerge --info I'm not sure if this is related to openjpeg itself or maybe to the fact I'm using profile 17.1 but any software building against openjpeg fails to find its include files, i.e. poppler: [106/240] /bin/x86_64-pc-linux-gnu-g++ -Dpoppler_EXPORTS -I/var/tmp/portage/app-text/poppler-0.79.0-r1/work/poppler-0.79.0 -I/var/tmp/portage/app-text/poppler-0.79.0-r1/work/poppler-0.79.0/fofi -I/var/tmp/portage/app-text/poppler-0.79.0-r1/work/poppler-0.79.0/goo -I/var/tmp/portage/app-text/poppler-0.79.0-r1/work/poppler-0.79.0/poppler -I. -Ipoppler -I/usr/include/freetype2 -I/include/openjpeg-2.3 -O2 -march=native -pipe -fomit-frame-pointer -g -DNDEBUG -Wall -Wextra -Wpedantic -Wno-unused-parameter -Wcast-align -Wformat-security -Wframe-larger-than=65536 -Wlogical-op -Wmissing-format-attribute -Wnon-virtual-dtor -Woverloaded-virtual -Wmissing-declarations -Wundef -Wzero-as-null-pointer-constant -Wshadow -Wsuggest-override -O2 -march=native -pipe -fomit-frame-pointer -g -std=c++11 -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -pthread -std=c++14 -MD -MT CMakeFiles/poppler.dir/poppler/CurlPDFDocBuilder.cc.o -MF CMakeFiles/poppler.dir/poppler/CurlPDFDocBuilder.cc.o.d -o CMakeFiles/poppler.dir/poppler/CurlPDFDocBuilder.cc.o -c /var/tmp/portage/app-text/poppler-0.79.0-r1/work/poppler-0.79.0/poppler/CurlPDFDocBuilder.cc ninja: build stopped: subcommand failed. Note how it misses "/usr" from the openjpeg include path: -I/include/openjpeg-2.3 Looking at /usr/lib64/pkgconfig/libopenjp2.pc also reveals something may be wrong: prefix=/usr bindir=${prefix}/bin mandir=${prefix}//usr/share/man docdir=${prefix}//usr/share/doc/openjpeg-2.3.1 libdir=${prefix}/lib64 includedir=${prefix}/include/openjpeg-2.3 I don't think the lines for mandir and docdir are correct tho that should not matter for most packages. The cmake files look good, tho. But still the example above is a cmake project and fails.
I looked into this one yesterday, and I cannot really reproduce the build failure. On my system, the full contents of "/usr/lib64/pkgconfig/libopenjp2.pc" are: prefix=/usr bindir=${prefix}/bin mandir=${prefix}//usr/share/man docdir=${prefix}//usr/share/doc/openjpeg-2.4.0 libdir=${prefix}/lib64 includedir=${prefix}/include/openjpeg-2.4 Name: openjp2 Description: JPEG2000 library (Part 1 and 2) URL: http://www.openjpeg.org/ Version: 2.4.0 Libs: -L${libdir} -lopenjp2 Libs.private: -lm Cflags: -I${includedir} and running "pkg-config --cflags libopenjp2" produces: -I/usr/include/openjpeg-2.4 Note that the current version is 2.4.0, not 2.3.1 (and is the only available version). I think the lines for mandir and docdir are still wrong though.
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fde99243e307bd130c6f9cc04090bcb9829ce9c0 commit fde99243e307bd130c6f9cc04090bcb9829ce9c0 Author: Thomas Bracht Laumann Jespersen <t@laumann.xyz> AuthorDate: 2022-02-02 19:19:35 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2022-02-03 02:20:20 +0000 media-libs/openjpeg: Fix mandir and docdir for generated pkgconfig Update the patch to remove the ${prefix} variable from mandir and docdir as it results in incorrect paths. Before: $ pkg-config --variable=docdir libopenjp2 /usr//usr/share/doc/openjpeg-2.4.0 $ pkg-config --variable=mandir libopenjp2 /usr//usr/share/man and after: $ pkg-config --variable=docdir libopenjp2 /usr/share/doc/openjpeg-2.4.0-r1 $ pkg-config --variable=mandir libopenjp2 /usr/share/man Bug: https://bugs.gentoo.org/694776 Signed-off-by: Thomas Bracht Laumann Jespersen <t@laumann.xyz> Package-Manager: Portage-3.0.28, Repoman-3.0.3 Closes: https://github.com/gentoo/gentoo/pull/24000 Signed-off-by: Sam James <sam@gentoo.org> .../files/openjpeg-2.4.0-r1-gnuinstalldirs.patch | 435 +++++++++++++++++++++ media-libs/openjpeg/openjpeg-2.4.0-r1.ebuild | 139 +++++++ 2 files changed, 574 insertions(+)
I just hit a similar issue with 2.5.0 while rebuild packages overnight for unrelated reasons. Here's the diff between the two pkgconfig files: @@ -1,14 +1,14 @@ prefix=/usr bindir=${prefix}/bin mandir=/usr/share/man -docdir=/usr/share/doc/openjpeg-2.4.0-r3 +docdir=/usr/share/doc/openjpeg-2.5.0 libdir=${prefix}/lib64 -includedir=${prefix}/include/openjpeg-2.4 +includedir=${prefix}/include Name: openjp2 Description: JPEG2000 library (Part 1 and 2) URL: http://www.openjpeg.org/ -Version: 2.4.0 +Version: 2.5.0 Libs: -L${libdir} -lopenjp2 Libs.private: -lm Cflags: -I${includedir} Please observe how 2.5.0 has includedir incorrectly set to `${prefix}/include` when of course it should be set to `${prefix}/includeopenjpeg-2.5`.
(In reply to Niklāvs Koļesņikovs from comment #3) > I just hit a similar issue with 2.5.0 while rebuild packages overnight for > unrelated reasons. Thanks for reporting this! > Please observe how 2.5.0 has includedir incorrectly set to > `${prefix}/include` when of course it should be set to > `${prefix}/includeopenjpeg-2.5`. Just to be clear, you mean "${prefix}/include/openjpeg-2.5" right? I'll look into getting this fixed.
Yes, I meant "${prefix}/include/openjpeg-2.5". :)
(In reply to Niklāvs Koļesņikovs from comment #5) > Yes, I meant "${prefix}/include/openjpeg-2.5". :) Awesome, I'll push a fix in a PR in a moment.
Closing this as obsolete, the 2.5.0 issue is tracked by bug 847058.
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bf92bccd8ffd7dc4ff4b32b465fa5e34ca04a564 commit bf92bccd8ffd7dc4ff4b32b465fa5e34ca04a564 Author: Thomas Bracht Laumann Jespersen <t@laumann.xyz> AuthorDate: 2022-05-23 11:33:58 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2022-05-23 17:26:28 +0000 media-libs/openjpeg: add 2.5.0-r1, fix includedir Bug: https://bugs.gentoo.org/694776 Closes: https://bugs.gentoo.org/847058 Signed-off-by: Thomas Bracht Laumann Jespersen <t@laumann.xyz> Closes: https://github.com/gentoo/gentoo/pull/25607 Signed-off-by: Sam James <sam@gentoo.org> media-libs/openjpeg/files/openjpeg-2.5.0-gnuinstalldirs.patch | 4 ++-- .../openjpeg/{openjpeg-2.5.0.ebuild => openjpeg-2.5.0-r1.ebuild} | 0 2 files changed, 2 insertions(+), 2 deletions(-)