Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 190744 - gnustep-base/gnustep-base-1.14.0 w/ USE=doc fails on binutils upgrade
Summary: gnustep-base/gnustep-base-1.14.0 w/ USE=doc fails on binutils upgrade
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High minor
Assignee: Gentoo Gnustep project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-08-30 04:47 UTC by Manuel Gomez
Modified: 2007-09-18 14:32 UTC (History)
1 user (show)

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


Attachments
emerge --info (emerge-info.txt,6.58 KB, text/plain)
2007-08-30 04:50 UTC, Manuel Gomez
Details
gnustep-base patch (base.patch,494 bytes, patch)
2007-09-17 09:37 UTC, Fabian Groffen
Details | Diff
gnustep-base patch (base.patch,485 bytes, patch)
2007-09-17 09:42 UTC, Fabian Groffen
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Manuel Gomez 2007-08-30 04:47:09 UTC
gnustep-base/gnustep-base-1.14.0 uses tools to generate the documentation that somehow get linked to non-existent (when binutils isn't 2.17) libraries and then fail when ran to generate the docs.  Is this an issue of gnustep-base-1.14.0 depending on not having binutils-2.18 installed?  If so, the ebuild should perhaps know about it, at least until it's fixed in gnustep-base.

Reproducible: Always

Steps to Reproduce:
1. emerge =sys-devel/binutils-2.18
2. USE=doc emerge =gnustep-base/gnustep-base-1.14.0
Actual Results:  
After successfully compiling/installing the code, while it's building the documentation files, it breaks:

Making all for doc ReleaseNotes...
../Tools/obj/autogsdoc -Project ReleaseNotes -DocumentationDirectory ReleaseNotes  -MakeDependencies ReleaseNotes/dependencies ReleaseNotes.gsdoc
../Tools/obj/autogsdoc: error while loading shared libraries: libbfd-2.17.so: cannot open shared object file: No such file or directory
make[1]: *** No rule to make target `ReleaseNotes/dependencies', needed by `internal-doc-all_'.  Stop.
make: *** [ReleaseNotes.all.doc.variables] Error 2
 * 
 * ERROR: gnustep-base/gnustep-base-1.14.0 failed.
 * Call stack:
 *   ebuild.sh, line 1654:   Called dyn_install
 *   ebuild.sh, line 1089:   Called qa_call 'src_install'
 *   ebuild.sh, line 44:   Called src_install
 *   gnustep-base-1.14.0.ebuild, line 50:   Called gnustep-base_src_install
 *   gnustep-base.eclass, line 73:   Called egnustep_doc
 *   gnustep-base.eclass, line 158:   Called die
 * 
 * doc make failed



When it's compiling the tools, the one that fails in particular, I noticed this:

Making all in Tools...
make[1]: Entering directory `/var/tmp/portage/gnustep-base/gnustep-base-1.14.0/work/gnustep-base-1.14.0/Tools'
Making all for tool autogsdoc...

[lots of compiling object files goes here]

x86_64-pc-linux-gnu-gcc  -rdynamic  -Wl,-rpath=/usr/GNUstep/System/Library/Libraries -L/usr/GNUstep/System/Library/Libraries    -shared-libgcc -fexceptions -fgnu-runtime -o obj/gdnc \
                ./obj/gdnc.o \
                  -L../Source/./obj   -L/var/tmp/portage/gnustep-base/gnustep-base-1.14.0/temp/GNUstep/Library/Libraries -L/usr/GNUstep/Local/Library/Libraries -L/usr/GNUstep/System/Library/Libraries   -Wl,-rpath=/usr/GNUstep/System/Library/Libraries -L/usr/GNUstep/System/Library/Libraries -L/usr/GNUstep/System/Library/Libraries -L/usr/GNUstep/System/Library/Libraries/gnu-gnu-gnu -L/usr/GNUstep/System/Library/Libraries -L/usr/lib   -lgnustep-base   -lpthread -lobjc  -lgmp -lxslt  -lxml2 -lz -lm -lcallback -lavcall -lbfd -liberty -ldl  -lz -lm
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../x86_64-pc-linux-gnu/bin/ld: warning: libbfd-2.17.so, needed by /usr/GNUstep/System/Library/Libraries/libgnustep-base.so, not found (try using -rpath or -rpath-link)
Comment 1 Manuel Gomez 2007-08-30 04:50:35 UTC
Created attachment 129591 [details]
emerge --info

Attached emerge --info; note the line about binutils:
sys-devel/binutils:  2.18
Comment 2 Fabian Groffen gentoo-dev 2007-08-30 09:38:46 UTC
have you ran revdep-rebuild?  Updating your binutils always breaks gnustep.
Comment 3 Manuel Gomez 2007-08-30 13:49:16 UTC
Revdep-rebuild wants to do
emerge --oneshot  =dev-util/libconf-0.42.10-r1 =gnustep-base/gnustep-base-1.14.0 =gnustep-base/gnustep-gui-0.12.0 =gnustep-base/mknfonts-0.5-r1 =gnustep-base/gnustep-back-art-0.12.0

It is indeed broken, and tries to fix it by emerging the latest version, which fails because of USE=doc.
Comment 4 Fabian Groffen gentoo-dev 2007-08-30 13:55:44 UTC
ok, this needs some patching, I (or someone else) need to look into the makefiles how to get it to use the just compiled binaries instead.
Comment 5 Bernard Cafarelli gentoo-dev 2007-09-03 09:02:55 UTC
The correct binary is used:
AUTOGSDOC=../Tools/$(GNUSTEP_OBJ_DIR_NAME)/autogsdoc

However it uses the system gnustep lib (still linked to the old binutils lib), and not the new one... A hack could be to change this AUTOGSDOC to force library path...

Btw, did re-merging gnustep-base another time fix your problem?
Comment 6 Fabian Groffen gentoo-dev 2007-09-17 08:47:52 UTC
The only way out here seems to be to set LD_LIBRARY_PATH to the libs in the install tree.  I think we should fix this in the ebuild when the doc USE-flag is set.  I'll try and see if I can come up with a patch today.
Comment 7 Fabian Groffen gentoo-dev 2007-09-17 09:37:46 UTC
Created attachment 131135 [details, diff]
gnustep-base patch

@original reporter: do you still have the same situation, or did you emerge gnustep-base without doc in the meanwhile?

The attached patch should solve things.  I still compiles for me, but I couldn't test as downgrading binutils in general is a bad idea.
Comment 8 Fabian Groffen gentoo-dev 2007-09-17 09:42:34 UTC
Created attachment 131137 [details, diff]
gnustep-base patch

Right... not really awake.  This should be the correct patch.
Comment 9 Fabian Groffen gentoo-dev 2007-09-18 13:00:36 UTC
I hit the problem on my Solaris 10/Sparc machine.  The patch I attached here is wrong, but I am testing a new one at the moment.  That hopefully closes this bug.
Comment 10 Fabian Groffen gentoo-dev 2007-09-18 14:32:08 UTC
Fixed in CVS, thanks!