Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 561006 - gnome-extra/yelp-3.16.1 - should not RDEPEND on dev-libs/libgcrypt
Summary: gnome-extra/yelp-3.16.1 - should not RDEPEND on dev-libs/libgcrypt
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] GNOME (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Linux Gnome Desktop Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-09-21 11:30 UTC by Alexander Tsoy
Modified: 2015-09-21 18:38 UTC (History)
1 user (show)

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


Attachments
yelp-3.16.1:20150921-052603.log.gz (yelp-3.16.1:20150921-052603.log.gz,28.48 KB, application/x-gzip)
2015-09-21 11:30 UTC, Alexander Tsoy
Details
eclass/ELT-patches/as-needed/2.4.6 (2.4.6,1.02 KB, text/plain)
2015-09-21 13:05 UTC, Alexander Tsoy
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Alexander Tsoy 2015-09-21 11:30:05 UTC
Created attachment 412416 [details]
yelp-3.16.1:20150921-052603.log.gz

The following commit added dev-libs/libgcrypt to RDEPEND:
https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a2e4698fb6ea795fe902d194a34bf556dc90e1b4

"-lgcrypt" is taken from /usr/lib64/pkgconfig/libexslt.pc and is not really needed by yelp. Looks like there is a problem with ldflags ordering: "-Wl,--as-needed" is passed too late:

libtool: link: x86_64-pc-linux-gnu-gcc -shared  -fPIC -DPIC  .libs/libyelp_la-yelp-bookmarks.o .libs/libyelp_la-yelp-debug.o .libs/libyelp_la-yelp-error.o .libs/libyelp_la-yelp-docbook-document.o .libs/libyelp_la-yelp-document.o .libs/libyelp_la-yelp-help-list.o .libs/libyelp_la-yelp-info-document.o .libs/libyelp_la-yelp-info-parser.o .libs/libyelp_la-yelp-magic-decompressor.o .libs/libyelp_la-yelp-mallard-document.o .libs/libyelp_la-yelp-man-document.o .libs/libyelp_la-yelp-man-parser.o .libs/libyelp_la-yelp-marshal.o .libs/libyelp_la-yelp-search-entry.o .libs/libyelp_la-yelp-settings.o .libs/libyelp_la-yelp-simple-document.o .libs/libyelp_la-yelp-sqlite-storage.o .libs/libyelp_la-yelp-storage.o .libs/libyelp_la-yelp-transform.o .libs/libyelp_la-yelp-uri.o .libs/libyelp_la-yelp-types.o .libs/libyelp_la-yelp-view.o .libs/libyelp_la-yelp-lzma-decompressor.o .libs/libyelp_la-yelp-bz2-decompressor.o   -llzma -lexslt -lxslt -lz -ldl -lm -lgcrypt -lgpg-error -lxml2 -lsqlite3 -lwebkitgtk-3.0 -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lsoup-2.4 -lgio-2.0 -lgobject-2.0 -ljavascriptcoregtk-3.0 -lglib-2.0 -lbz2  -pthread -O2 -g -Wl,-O1 -Wl,--as-needed   -pthread -Wl,-soname -Wl,libyelp.so.0 -o .libs/libyelp.so.0.0.0
Comment 1 Alexander Tsoy 2015-09-21 12:06:18 UTC
# ldd -u /usr/lib64/libyelp.so
Unused direct dependencies:
	/lib64/libz.so.1
	/lib64/libdl.so.2
	/lib64/libm.so.6
	/usr/lib64/libgcrypt.so.20
	/usr/lib64/libgpg-error.so.0
	/usr/lib64/libpangocairo-1.0.so.0
	/usr/lib64/libpango-1.0.so.0
	/usr/lib64/libatk-1.0.so.0
	/usr/lib64/libcairo-gobject.so.2
	/usr/lib64/libcairo.so.2
	/usr/lib64/libgdk_pixbuf-2.0.so.0
	/usr/lib64/libsoup-2.4.so.1
	/usr/lib64/libjavascriptcoregtk-3.0.so.0
	/lib64/libpthread.so.0
Comment 2 Alexander Tsoy 2015-09-21 13:05:13 UTC
Created attachment 412442 [details]
eclass/ELT-patches/as-needed/2.4.6

I just found out that this is a known libtool bug :) And from elibtool.log I see that all as-needed patches has failed:

Trying as-needed/2.4.2 patch
checking file /var/tmp/portage/gnome-extra/yelp-3.16.1/work/yelp-3.16.1/ltmain.sh
Hunk #1 succeeded at 7225 with fuzz 1 (offset 1427 lines).
Hunk #2 FAILED at 6163.
1 out of 2 hunks FAILED

Trying as-needed/2.2.6 patch
checking file /var/tmp/portage/gnome-extra/yelp-3.16.1/work/yelp-3.16.1/ltmain.sh
Hunk #1 succeeded at 7225 with fuzz 1 (offset 2504 lines).
Hunk #2 FAILED at 5080.
1 out of 2 hunks FAILED

Trying as-needed/1.5.26 patch
checking file /var/tmp/portage/gnome-extra/yelp-3.16.1/work/yelp-3.16.1/ltmain.sh
Hunk #1 FAILED at 1812.
Hunk #2 FAILED at 2152.
2 out of 2 hunks FAILED

Trying as-needed/1.5 patch
checking file /var/tmp/portage/gnome-extra/yelp-3.16.1/work/yelp-3.16.1/ltmain.sh
Hunk #1 succeeded at 7227 with fuzz 2 (offset 5473 lines).
Hunk #2 FAILED at 2099.
1 out of 2 hunks FAILED



I fixed this bug locally by adding correct eclass/ELT-patches/as-needed/2.4.6 to my portage tree. Not sure about correctness of the file name - patch may be broken since earlier libtool version (2.4.4 or 2.4.5) and I didn't test them.
Comment 3 Alexander Tsoy 2015-09-21 13:09:31 UTC
@base-system: please see my previous comment
Comment 4 Alexander Tsoy 2015-09-21 14:05:47 UTC
(In reply to Alexander Tsoy from comment #2)
> Not sure about correctness of the file name - patch may be broken since
> earlier libtool version (2.4.4 or 2.4.5) and I didn't test them.
Updated patch applies cleanly on 2.4.4 and 2.4.5 as well.

Github PR: https://github.com/gentoo/gentoo/pull/113
Comment 6 Alexander Tsoy 2015-09-21 18:30:08 UTC
@gnome: dev-libs/libgcrypt still need to be removed from yelp's RDEPEND.

My apologies for mixing 2 issues in one bug. =/
Comment 7 Pacho Ramos gentoo-dev 2015-09-21 18:38:24 UTC
https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=168b9410928cb1dafcb7502455743bce09933901

No apologizes needed at all :P

Thanks a lot for finding the real bug, providing the fix and... well, when are you going to finally be recruited for sharing all your help directly with us? ;)