Summary: | media-libs/lensfun-0.2.6 installs corrupted pkgconfig file | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Juergen Rose <rose> |
Component: | Current packages | Assignee: | Gentoo Graphics Project <graphics+disabled> |
Status: | RESOLVED TEST-REQUEST | ||
Severity: | normal | CC: | asturm, kinbot, nikoli, urcindalo |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
/var/tmp/portage/media-gfx/rawstudio-2.0/temp/build.log
/var/tmp/portage/media-gfx/rawstudio-2.0/work/rawstudio-2.0/config.log /var/tmp/portage/media-libs/lensfun-0.2.6/temp/build.log from moose /var/tmp/portage/media-libs/lensfun-0.2.6/temp/environment uncompressed /var/tmp/portage/media-libs/lensfun-0.2.6/build-info/environment.bz2 modified lensfun-0.2.5_p153-build.patch |
Description
Juergen Rose
2012-10-29 09:24:56 UTC
Created attachment 327670 [details]
/var/tmp/portage/media-gfx/rawstudio-2.0/temp/build.log
Attach config.log too. We need to see where does '-pthread -Llib64/ -lgthread-2.0 -lrt' come from. Created attachment 327886 [details]
/var/tmp/portage/media-gfx/rawstudio-2.0/work/rawstudio-2.0/config.log
I just have to ask to narrow one thing first down. Is this with sysrescuecd? It has had this same problem for years now, exports something to the environment that confuses libtool. We have the bug reported here in our bugzilla, many times, by sysrescuecd users... if I just could remember the Subjects for search :-/ (In reply to comment #4) > I just have to ask to narrow one thing first down. > > Is this with sysrescuecd? It has had this same problem for years now, > exports something to the environment that confuses libtool. We have the bug > reported here in our bugzilla, many times, by sysrescuecd users... if I just > could remember the Subjects for search :-/ This looks significantly different than those sysrescuecd failures - there raw paths were pases, not something like '-Llib64/'. The check seems to be for 'gtk+-2.0 >= 2.8.0 libxml-2.0 >= 2.4 gconf-2.0 >= 2.0 lcms dbus-1 exiv2 fftw3f lensfun libcurl flickcurl sqlite3 libssl libgphoto2 x11'. Quite a lot of it. You'll need to check with 'pkg-config --libs' each of them to see which one adds the value. Then you'll need to trace it back to the *.pc file. Beside the fact that I used systemrescuecd for installing of gentoo and that there are some partition labels with sysresccd: root@cheetahnew:/root(58)# blkid /dev/sda6 /dev/sda6: UUID="b6404946-65df-3b86-ffe8-65e0917887d8" UUID_SUB="0c263ab8-a3d9-2d4e-9d6c-2dca71336b69" LABEL="sysresccd:2" TYPE="linux_raid_member" root@cheetahnew:/root(59)# blkid /dev/sdb6 /dev/sdb6: UUID="b6404946-65df-3b86-ffe8-65e0917887d8" UUID_SUB="01f740c2-d0d8-7392-d089-9536b99e2c01" LABEL="sysresccd:2" TYPE="linux_raid_member" the system is now a normal gentoo system, booted from the harddisk. I also tried the pkg-config calls: root@cheetahnew:/root(68)# pkg-config --libs gtk+ Package gtk+ was not found in the pkg-config search path. Perhaps you should add the directory containing `gtk+.pc' to the PKG_CONFIG_PATH environment variable No package 'gtk+' found root@cheetahnew:/root(69)# pkg-config --libs libxml Package libxml was not found in the pkg-config search path. Perhaps you should add the directory containing `libxml.pc' to the PKG_CONFIG_PATH environment variable No package 'libxml' found [1]+ Done gparted /dev/sda root@cheetahnew:/root(70)# pkg-config --libs gconf Package gconf was not found in the pkg-config search path. Perhaps you should add the directory containing `gconf.pc' to the PKG_CONFIG_PATH environment variable No package 'gconf' found root@cheetahnew:/root(71)# pkg-config --libs lcms -llcms root@cheetahnew:/root(72)# pkg-config --libs dbus-1 -ldbus-1 root@cheetahnew:/root(73)# pkg-config --libs exiv2 -lexiv2 root@cheetahnew:/root(74)# pkg-config --libs fftw3f -lfftw3f -lm root@cheetahnew:/root(75)# pkg-config --libs lensfun -Llib64/ -llensfun -lglib-2.0 root@cheetahnew:/root(76)# pkg-config --libs libcurl -lcurl root@cheetahnew:/root(77)# pkg-config --libs flickcurl -lflickcurl -lxml2 -lcurl root@cheetahnew:/root(78)# pkg-config --libs sqlite3 -lsqlite3 root@cheetahnew:/root(79)# pkg-config --libs libssl -lssl root@cheetahnew:/root(80)# pkg-config --libs libgphoto2 -lgphoto2 -lgphoto2_port -lm -lexif root@cheetahnew:/root(81)# pkg-config --libs x11 -lX11 I.e., "-Llib64/" comes from lensfun. I removed and reemerged lensfun: root@cheetahnew:/root(85)# emerge -C lensfun ... root@cheetahnew:/root(89)# emerge -vuND world ... but nothing changes with pkg-config: root@cheetahnew:/root(94)# pkg-config --libs lensfun -Llib64/ -llensfun -lglib-2.0 @comment 6: First a note: those names were taken straight from the check so i.e 'pkg-config --libs gtk+-2.0', but not really important. Now, just to make sure, attach that pkg-config file from lensfun, so we could check if it's really there or is that inherited. If the file's at fault, the herd is still the same, but the description (and package affected) wil need to be corrected. Still some more answers form pkg-config: root@cheetahnew:/root(40)# pkg-config --libs gtk+-2.0 -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lglib-2.0 root@cheetahnew:/root(41)# pkg-config --libs libxml-2.0 -lxml2 root@cheetahnew:/root(42)# pkg-config --libs gconf-2.0 -lgconf-2 -lglib-2.0 and the contents of lensfun.pc: root@cheetahnew:/root(44)# cat /usr/lib64/pkgconfig/lensfun.pc Name: lensfun Description: A photographic lens database and access library Version: 0.2.6.0 Requires: glib-2.0 Libs: -Llib64/ -llensfun Cflags: -I/usr/include/ root@cheetahnew:/root(45)# What can I do more? On my other systems I have: rose@leopard:/home/rose(56)$ cat /usr/lib64/pkgconfig/lensfun.pc Name: lensfun Description: A photographic lens database and access library Version: 0.2.6.0 Requires: glib-2.0 Libs: -L/usr/lib64/ -llensfun Cflags: -I/usr/include/ OK, so it is caused by lensfun, but now the question is how do those systems differ. Compare cmake versions, portage tree timestamp, try reemerging the working version to see if it breaks... I reemerged lensfun with a working lensfun.pc and now there is lensfun.pc also broken: root@moose:/root(1)# cat /usr/lib64/pkgconfig/lensfun.pc Name: lensfun Description: A photographic lens database and access library Version: 0.2.6.0 Requires: glib-2.0 Libs: -L/usr/lib64/ -llensfun Cflags: -I/usr/include/ root@moose:/root(2)# emerge -v1 lensfun These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild R ] media-libs/lensfun-0.2.6 USE="doc sse sse2" 0 kB Total: 1 package (1 reinstall), Size of downloads: 0 kB >>> Verifying ebuild manifests >>> Emerging (1 of 1) media-libs/lensfun-0.2.6 * lensfun-0.2.6.tar.bz2 SHA256 size ;-) ... ... root@moose:/root(3)# cat /usr/lib64/pkgconfig/lensfun.pc Name: lensfun Description: A photographic lens database and access library Version: 0.2.6.0 Requires: glib-2.0 Libs: -Llib64/ -llensfun Cflags: -I/usr/include/ I.e., should I open a new lensfun bug? (In reply to comment #12) > I.e., should I open a new lensfun bug? What for ? This one is just fine. Attach build log for broken lensfun build. environment file from that build *might* be useful too. Created attachment 328142 [details]
/var/tmp/portage/media-libs/lensfun-0.2.6/temp/build.log from moose
Created attachment 328144 [details]
/var/tmp/portage/media-libs/lensfun-0.2.6/temp/environment
Created attachment 328146 [details]
uncompressed /var/tmp/portage/media-libs/lensfun-0.2.6/build-info/environment.bz2
*** Bug 442524 has been marked as a duplicate of this bug. *** I'm the original poster of Bug 442524, marked as a duplicate of this one. As I said in Bug 442524 I'm an amd64 stable user. I just have a few ~amd64 packages installed, mostly science or photography related. I need lensfun-0.2.6 because it is the first version to include descriptions for micro-4/3 camera systems. So, if lensfun-0.2.6 current incarnation is the culprit (Gentoo or upstream), might this also explain why my Olympus micro-4/3 lens description can't be found by digikam or any other kiki-plugins dependent package? What are the options then for us, micro-4/3 users? Is the lensfun 0.2.6 ebuild to be fixed eventually? I'm not asking for or demanding it, I'm just asking to make up my mind on what steps or workarounds to follow. I can offer my help for whatever developers may need. Thanks. @comment 18: first we need to determine whether it's a bug in the build system, the ebuild or something portage related. Current suspects (alternatives): - in the ebuild, '-DLIBDIR=$(get_libdir)' might need to be '-DLIBDIR=/$(get_libdir)' - in lensfun-0.2.5_p153-pc.patch, '${CMAKE_INSTALL_LIBDIR}/' might need to be '"${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/' Looking at the current state of svn, probably the later. I tried at first to change the ebuild: root@cheetahnew:/usr/local/portage/media-libs/lensfun(21)# diff -U2 lensfun-0.2.6.ebuild_orig lensfun-0.2.6.ebuild --- lensfun-0.2.6.ebuild_orig 2012-09-21 18:31:20.000000000 +0200 +++ lensfun-0.2.6.ebuild 2012-12-03 16:53:08.738402420 +0100 @@ -40,5 +40,5 @@ local mycmakeargs=( -DDOCDIR="${EPREFIX}"/usr/share/doc/${PF}/html - -DLIBDIR=$(get_libdir) + -DLIBDIR=/$(get_libdir) -DBUILD_AUXFUN=ON $(cmake-utils_use_build doc) But the resulting lensfun.pc is the same as before: root@cheetahnew:/root(17)# cat /usr/lib64/pkgconfig/lensfun.pc Name: lensfun Description: A photographic lens database and access library Version: 0.2.6.0 Requires: glib-2.0 Libs: -Llib64/ -llensfun Cflags: -I/usr/include/ Then I returned to the original ebuild but changed files/lensfun-0.2.5_p153-pc.patch: root@cheetahnew:/usr/local/portage/media-libs/lensfun(33)# diff -U2 files/lensfun-0.2.5_p153-pc.patch_orig files/lensfun-0.2.5_p153-pc.patch --- files/lensfun-0.2.5_p153-pc.patch_orig 2012-07-02 18:31:18.000000000 +0200 +++ files/lensfun-0.2.5_p153-pc.patch 2012-12-03 17:04:08.397369132 +0100 @@ -8,8 +8,8 @@ +IF(UNIX AND NOT APPLE) + SET(CONF_VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_MICRO}.${VERSION_BUGFIX}") -+ SET(CONF_LIBDIR "${CMAKE_INSTALL_LIBDIR}/") ++ SET(CONF_LIBDIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/") + SET(CONF_INCLUDEDIR "${CMAKE_INSTALL_PREFIX}/${INCLUDEDIR}/") + SET(CONF_LENSFUN_STATIC "") + CONFIGURE_FILE("lensfun.pc.in" "lensfun.pc" @ONLY) -+ INSTALL(FILES "${CMAKE_CURRENT_BINARY_DIR}/lensfun.pc" DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") ++ INSTALL(FILES "${CMAKE_CURRENT_BINARY_DIR}/lensfun.pc" DESTINATION "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/pkgconfig") +ENDIF(UNIX AND NOT APPLE) and the resulting /usr/lib64/pkgconfig/lensfun.pc seems to be OK: root@cheetahnew:/usr/local/portage/media-libs/lensfun(32)# cat /usr/lib64/pkgconfig/lensfun.pc Name: lensfun Description: A photographic lens database and access library Version: 0.2.6.0 Requires: glib-2.0 Libs: -L/usr/lib64/ -llensfun Cflags: -I/usr/include/ And the following 'emerge rawstudio' works too. Created attachment 331314 [details]
modified lensfun-0.2.5_p153-build.patch
(In reply to comment #21) > Created attachment 331314 [details] > modified lensfun-0.2.5_p153-build.patch I think the "modified" patch is the same old one, according to kdiff3 and my results compiling rawstudio with it. Maybe you attached the wrong one? :) I had to manually edit /usr/lib64/pkgconfig/lensfun.pc to include the correct Libs path. Hmm, the pacth file to modify is lensfun-0.2.5_p153-pc.patch, not lensfun-0.2.5_p153-build.patch You uploaded the wrong file after fixing the correct one. This also explains why I couldn't find your diff changes in the uploaded "modified" patch. Now that I have modified the lensfun-0.2.5_p153-pc.patch as per your suggestions, lensfun-0.2.6 installs the correct /usr/lib64/pkgconfig/lensfun.pc file. Thanks very much. So, is that fixed by the mentioned patch and/or upgrade to 0.2.7? I guess this is fixed in -0.2.7/8? $ cat /usr/lib64/pkgconfig/lensfun.pc prefix=/usr bindir=/usr/bin libdir=/usr/lib64 includedir=/usr/include datadir=/usr/share/lensfun docdir=/usr//usr/share/doc/lensfun-0.2.8-r1/html Name: lensfun Description: A photographic lens database and access library Version: 0.2.8.0 Requires.private: glib-2.0 Libs: -L${libdir} -llensfun Cflags: -I${includedir} -I${includedir}/lensfun I think docdir=/usr//usr/... is wrong. |