Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 947602 - media-gfx/hugin-2024.0.1 fails to build with sci-libs/flann-1.9.2
Summary: media-gfx/hugin-2024.0.1 fails to build with sci-libs/flann-1.9.2
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Andreas K. Hüttel
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-01-06 09:50 UTC by crabbed halo ablution
Modified: 2025-01-06 21:32 UTC (History)
9 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
build log (media-gfx:hugin-2024.0.1:20250106-085924.log,353.81 KB, text/plain)
2025-01-06 09:50 UTC, crabbed halo ablution
Details

Note You need to log in before you can comment on or make changes to this bug.
Description crabbed halo ablution 2025-01-06 09:50:24 UTC
Same problem as in bug 681898 -- fix was dropped from 1.9.2

FAILED: src/hugin_cpfind/cpfind/cpfind 
: && /usr/bin/x86_64-pc-linux-gnu-g++ -march=native -mtune=native -ggdb -O2 -pipe -Wl,--as-needed -fopenmp     -Wl,--dependency-file=src/hugin_cpfind/cpfind/CMakeFiles/cpfind.dir/link.d src/hugin_cpfind/cpfind/CMakeFiles/cpfind.dir/PanoDetector.cpp.o src/hugin_cpfind/cpfind/CMakeFi
les/cpfind.dir/PanoDetectorLogic.cpp.o src/hugin_cpfind/cpfind/CMakeFiles/cpfind.dir/TestCode.cpp.o src/hugin_cpfind/cpfind/CMakeFiles/cpfind.dir/Utils.cpp.o src/hugin_cpfind/cpfind/CMakeFiles/cpfind.dir/main.cpp.o -o src/hugin_cpfind/cpfind/cpfind -L/var/tmp/portage/media-gfx/hugi
n-2024.0.1/work/hugin-2024.0.1/src/hugin_cpfind/cpfind/-llz4 -Wl,-rpath,/var/tmp/portage/media-gfx/hugin-2024.0.1/work/hugin-2024.0.1/src/hugin_cpfind/cpfind/-llz4:/var/tmp/portage/media-gfx/hugin-2024.0.1/work/hugin-2024.0.1_build/src/hugin_cpfind/localfeatures:/var/tmp/portage/me
dia-gfx/hugin-2024.0.1/work/hugin-2024.0.1_build/src/celeste:/var/tmp/portage/media-gfx/hugin-2024.0.1/work/hugin-2024.0.1_build/src/hugin_base:  src/hugin_cpfind/localfeatures/liblocalfeatures.so.0.0  /usr/lib64/libvigraimpex.so  /usr/lib64/libOpenEXR.so  /usr/lib64/libImath-3_1.s
o  /usr/lib64/libIex.so  /usr/lib64/libIlmThread.so  /usr/lib64/libz.so  /usr/lib64/libjpeg.so  /usr/lib64/libtiff.so  /usr/lib64/libpng.so  /usr/lib64/libz.so  /usr/lib64/libz.so  /usr/lib64/libexiv2.so  /usr/lib64/libpano13.so  src/foreign/levmar/libhuginlevmar.a  /usr/lib64/libG
LEW.so  /usr/lib64/libfftw3.so  /usr/lib64/libvigraimpex.so  /usr/lib64/libOpenEXR.so  /usr/lib64/libImath-3_1.so  /usr/lib64/libIex.so  /usr/lib64/libIlmThread.so  /usr/lib64/libz.so  /usr/lib64/libjpeg.so  /usr/lib64/libtiff.so  /usr/lib64/libpng.so  /usr/lib64/libz.so  /usr/lib6
4/libz.so  /usr/lib64/libexiv2.so  /usr/lib64/liblcms2.so  src/celeste/libceleste.so.0.0  -lflann  -lflann_cpp  src/hugin_base/libhuginbase.so.0.0  /usr/lib64/libX11.so  /usr/lib64/libOpenGL.so  /usr/lib64/libGLX.so  /usr/lib64/libGLU.so  /usr/lib64/libsqlite3.so  /usr/lib64/libpan
o13.so  src/foreign/levmar/libhuginlevmar.a  /usr/lib64/libGLEW.so  /usr/lib64/libboost_filesystem.so.1.87.0  /usr/lib64/libboost_atomic.so.1.87.0  /usr/lib64/libboost_system.so.1.87.0  /usr/lib64/libfftw3.so  /usr/lib64/libvigraimpex.so  /usr/lib64/libOpenEXR.so  /usr/lib64/libIma
th-3_1.so  /usr/lib64/libIex.so  /usr/lib64/libIlmThread.so  /usr/lib64/libz.so  /usr/lib64/libjpeg.so  /usr/lib64/libpng.so  /usr/lib64/libz.so  /usr/lib64/libjpeg.so  /usr/lib64/libpng.so  /usr/lib64/libtiff.so  /usr/lib64/libexiv2.so  /usr/lib64/liblcms2.so && :
/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/bin/ld: src/hugin_cpfind/cpfind/CMakeFiles/cpfind.dir/PanoDetectorLogic.cpp.o: in function `flann::serialization::SaveArchive::flushBlock()':
/usr/include/flann/util/serialization.h:425:(.text._ZN5flann13serialization11SaveArchive10flushBlockEv[_ZN5flann13serialization11SaveArchive10flushBlockEv]+0x47): undefined reference to `LZ4_compress_HC_continue'
/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/include/flann/util/serialization.h:443:(.text._ZN5flann13serialization11SaveArchive10flushBlockEv[_ZN5flann13serialization11SaveArchive10flushBlockEv]+0xd1): undefined reference to `LZ4_compress_HC_continue'
/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/bin/ld: src/hugin_cpfind/cpfind/CMakeFiles/cpfind.dir/PanoDetectorLogic.cpp.o: in function `flann::serialization::SaveArchive::initBlock()':
/usr/include/flann/util/serialization.h:406:(.text._ZN5flann8LshIndexINS_2L2IdEEE9saveIndexEP8_IO_FILE[_ZN5flann8LshIndexINS_2L2IdEEE9saveIndexEP8_IO_FILE]+0x98): undefined reference to `LZ4_resetStreamHC'
/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/include/flann/util/serialization.h:406:(.text._ZN5flann11LinearIndexINS_2L2IdEEE9saveIndexEP8_IO_FILE[_ZN5flann11LinearIndexINS_2L2IdEEE9saveIndexEP8_IO_FILE]+0x94): undefined reference to `LZ4_resetStreamHC'
/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/include/flann/util/serialization.h:406:(.text._ZN5flann14AutotunedIndexINS_2L2IdEEE9saveIndexEP8_IO_FILE[_ZN5flann14AutotunedIndexINS_2L2IdEEE9saveIndexEP8_IO_FILE]+0x9d): undefined reference to `LZ4_resetStreamHC'
/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/include/flann/util/serialization.h:406:(.text._ZN5flann27HierarchicalClusteringIndexINS_2L2IdEEE9saveIndexEP8_IO_FILE[_ZN5flann27HierarchicalClusteringIndexINS_2L2IdEEE9saveIndexEP8_IO_FILE]+0x9c): undefined reference to `LZ4_resetStreamHC'
/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/include/flann/util/serialization.h:406:(.text._ZN5flann11KMeansIndexINS_2L2IdEEE9saveIndexEP8_IO_FILE[_ZN5flann11KMeansIndexINS_2L2IdEEE9saveIndexEP8_IO_FILE]+0x96): undefined reference to `LZ4_resetStreamHC'
/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/bin/ld: src/hugin_cpfind/cpfind/CMakeFiles/cpfind.dir/PanoDetectorLogic.cpp.o:/usr/include/flann/util/serialization.h:406: more undefined references to `LZ4_resetStreamHC' follow
collect2: error: ld returned 1 exit status


Reproducible: Always
Comment 1 crabbed halo ablution 2025-01-06 09:50:54 UTC
Created attachment 915981 [details]
build log
Comment 2 Bernd Feige 2025-01-06 10:32:58 UTC
Got the same problem here.
The reason is the following line in /usr/lib64/pkgconfig/flann.pc:

Libs: -L${libdir} -L/usr/lib64;-llz4 -lflann -lflann_cpp

Removing the semicolon fixes the problem compiling projects using flann.
Comment 3 Bernd Feige 2025-01-06 10:55:22 UTC
More info:
In flann-1.9.2/cmake/flann.pc.in I see that the semicolon comes from substituting @LZ4_STATIC_LDFLAGS@. This in turn comes from pkg_check_modules(LZ4 REQUIRED liblz4) in the main CMakeLists.txt which transforms the "Libs: -L${libdir} -llz4" line in /usr/lib64/pkgconfig/liblz4.pc in this way.

I'm not deep enough into cmake to see whether a different variable than LZ4_STATIC_LDFLAGS should be substituted.
Comment 4 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2025-01-06 11:01:36 UTC
https://github.com/flann-lib/flann/pull/523 perhaps
Comment 5 Bernd Feige 2025-01-06 11:31:49 UTC
(In reply to Sam James from comment #4)
> https://github.com/flann-lib/flann/pull/523 perhaps

Yes, that should help as it removes @LZ4_STATIC_LDFLAGS@ from flann.pc.in.

The upstream issue https://github.com/flann-lib/flann/issues/514 sound exactly like this but others are mentioned in the pull request.
Comment 6 Larry the Git Cow gentoo-dev 2025-01-06 21:32:52 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4db46c950246613586189689f3f05e5c6e7e0717

commit 4db46c950246613586189689f3f05e5c6e7e0717
Author:     Paul Zander <negril.nx+gentoo@gmail.com>
AuthorDate: 2025-01-06 19:29:46 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2025-01-06 21:32:03 +0000

    sci-libs/flann: add 1.9.2_p20221027, drop 1.9.2
    
    uses latest upstream commit
    
    update cmake code, handle warnings
    use enable_language for cuda and fix warnings in code
    use find_package(Python) instead of PythonInterp
    fix erroneous dependency for doc, unmask the flag
    
    Closes: https://bugs.gentoo.org/947608
    Closes: https://bugs.gentoo.org/947602
    Closes: https://bugs.gentoo.org/946465
    Closes: https://bugs.gentoo.org/829080
    Bug: https://bugs.gentoo.org/830013
    Signed-off-by: Paul Zander <negril.nx+gentoo@gmail.com>
    Signed-off-by: Sam James <sam@gentoo.org>

 profiles/base/package.use.mask                     |  3 +-
 sci-libs/flann/Manifest                            |  3 +-
 .../flann/files/flann-1.9.2-system-gtest.patch     | 36 +++++++++
 ...n-1.9.2.ebuild => flann-1.9.2_p20221027.ebuild} | 88 ++++++++++++++++------
 4 files changed, 105 insertions(+), 25 deletions(-)