Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 313015 - app-arch/bzip2 build fails on solaris 10 while bootstrap
Summary: app-arch/bzip2 build fails on solaris 10 while bootstrap
Status: RESOLVED FIXED
Alias: None
Product: Gentoo/Alt
Classification: Unclassified
Component: Prefix Support (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Prefix
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-04-03 19:28 UTC by thomas weidner
Modified: 2010-04-16 22:21 UTC (History)
0 users

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description thomas weidner 2010-04-03 19:28:51 UTC
On the solaris 10 system i have to use, gcc is configured to call /usr/ccs/bin/ld which is the solaris ld and not the gnu ld. solaris ld does not understand -soname, so the build of bzip2 fails with the message

gcc -m64 -L/home/weidner/gentoo//usr/lib -R/home/weidner/gentoo//usr/lib -L/home/weidner/gentoo//lib -R/home/weidner/gentoo//lib -L/usr/sfw/lib/64 -R/usr/sfw/lib/64 -shared -Wl,-soname -Wl,libbz2.so.1 -o libbz2.so.1.0.5 blocksort.o huffman.o crctable.o randtable.o compress.o decompress.o bzlib.o
ld: warning: option -o appears more than once, first setting taken
ld: fatal: file libbz2.so.1: open failed: No such file or directory
ld: fatal: File processing errors. No output written to libbz2.so.1.0.5
collect2: ld returned 1 exit status

a solution is to replace -soname with -h. this is already done on internix plattforms so an updated ebuild simply changes the relevant line to 

        elif [[ ${CHOST} == *-interix*  || ${CHOST} == *-solaris* ]] ; then

i don't know if gcc uses solaris ld on all solaris 10 plattforms or if this is just my configuraiton. so a real fix whould detect the used linker. perhaps someone should add autoconf to bzip2 ;-)
Comment 1 Sebastian Pipping gentoo-dev 2010-04-04 22:11:27 UTC
Bug report QA messages:

 * Please use full package qualifiers
   (e.g. "sys-apps/portage", not just "portage")
   in bug report titles, at the beginning ideally,
   in the future.  Thank you!
Comment 2 Jeremy Olexa (darkside) (RETIRED) archtester gentoo-dev Security 2010-04-05 16:46:45 UTC
Hi,

emerge --oneshot --nodeps binutils

is ran before anything would try to emerge bzip2. It is likely possible that 'binutils-config -l' does not show the correct binutils version. Can you confirm or deny?
Comment 3 thomas weidner 2010-04-05 17:53:32 UTC
hi i think the real problems are the dependancies of wget.

according to the solaris 10 howto, you do

emerge --oneshot wget                          (1)

before installing binutils. (1) installs bzip2 as dependancy. (this also installs perls btw). Changing (1) to

USE="-ssl" emerge --oneshot --nodeps wget 

works.
Comment 4 Jeremy Olexa (darkside) (RETIRED) archtester gentoo-dev Security 2010-04-05 17:59:32 UTC
Ok, that may be true. Not sure how it related to bzip2, though.
Comment 5 thomas weidner 2010-04-05 18:17:04 UTC
bzip2 is the first dependancy of wget which fails to compile...(perl is another one)...so *if* its correct to emerge wget including its dependancies at this point of the howto, the bug is in bzip2. if not bzip2 is fine and the bug is in the howto.
Comment 6 Jeremy Olexa (darkside) (RETIRED) archtester gentoo-dev Security 2010-04-16 22:21:36 UTC
I think this bug is fixed. I'm just bootstrapping on linux and bzip2 was not pulled in.

1271426159:  *** emerge --oneshot wget
1271426159:  >>> emerge (1 of 1) net-misc/wget-1.12-r1 to /
1271426161:  === (1 of 1) Cleaning (net-misc/wget-1.12-r1::$EPREFIX/usr/portage/net-misc/wget/wget-1.12-r1.ebuild)
1271426161:  === (1 of 1) Compiling/Merging (net-misc/wget-1.12-r1::$EPREFIX/usr/portage/net-misc/wget/wget-1.12-r1.eb
uild)
1271426198:  === (1 of 1) Merging (net-misc/wget-1.12-r1::$EPREFIX/usr/portage/net-misc/wget/wget-1.12-r1.ebuild)
1271426199:  >>> AUTOCLEAN: net-misc/wget:0
1271426201:  === (1 of 1) Post-Build Cleaning (net-misc/wget-1.12-r1::$EPREFIX/usr/portage/net-misc/wget/wget-1.12-r1.
ebuild)
1271426201:  ::: completed emerge (1 of 1) net-misc/wget-1.12-r1 to /
1271426201:  *** Finished. Cleaning up...
1271426201:  *** exiting successfully.
1271426201:  *** terminating.

I'm not sure why bzip and perl are pulled in for you. Do you have EMERGE_DEFAULT_OPTS set or something?!