Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 234253 - dev-util/subversion-1.5.1 fails to install on IRIX
Summary: dev-util/subversion-1.5.1 fails to install on IRIX
Status: RESOLVED FIXED
Alias: None
Product: Gentoo/Alt
Classification: Unclassified
Component: Prefix Support (show other bugs)
Hardware: All IRIX
: High normal (vote)
Assignee: Gentoo non-Linux Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-08-08 16:05 UTC by Stuart Shelton
Modified: 2009-10-25 09:56 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 Stuart Shelton 2008-08-08 16:05:27 UTC
subversion completes the src_compile stage successfully, but then:

>>> Install subversion-1.5.1 into /usr/opt/portage/var/tmp/portage/dev-util/subversion-1.5.1/image/opt/portage/ category dev-util
/opt/portage/usr/bin/install -c -d /usr/opt/portage/var/tmp/portage/dev-util/subversion-1.5.1/image//opt/portage/usr/lib
cd subversion/libsvn_subr ; /opt/portage/bin/bash /usr/opt/portage/var/tmp/portage/dev-util/subversion-1.5.1/work/subversion-1.5.1/libtool --mode=install /opt/portage/usr/bin/install -c libsvn_subr-1.la /usr/opt/portage/var/tmp/portage/dev-util/subversion-1.5.1/image//opt/portage/usr/lib/libsvn_subr-1.la
/opt/portage/usr/bin/install -c .libs/libsvn_subr-1.so.1.0 /usr/opt/portage/var/tmp/portage/dev-util/subversion-1.5.1/image//opt/portage/usr/lib/libsvn_subr-1.so.1.0
(cd /usr/opt/portage/var/tmp/portage/dev-util/subversion-1.5.1/image//opt/portage/usr/lib && { ln -s -f libsvn_subr-1.so.1.0 libsvn_subr-1.so.1 || { rm -f libsvn_subr-1.so.1 && ln -s libsvn_subr-1.so.1.0 libsvn_subr-1.so.1; }; })
(cd /usr/opt/portage/var/tmp/portage/dev-util/subversion-1.5.1/image//opt/portage/usr/lib && { ln -s -f libsvn_subr-1.so.1.0 libsvn_subr-1.so || { rm -f libsvn_subr-1.so && ln -s libsvn_subr-1.so.1.0 libsvn_subr-1.so; }; })
(cd /usr/opt/portage/var/tmp/portage/dev-util/subversion-1.5.1/image//opt/portage/usr/lib && { ln -s -f libsvn_subr-1.so.1.0 libsvn_subr-1.so || { rm -f libsvn_subr-1.so && ln -s libsvn_subr-1.so.1.0 libsvn_subr-1.so; }; })
/opt/portage/usr/bin/install -c .libs/libsvn_subr-1.lai /usr/opt/portage/var/tmp/portage/dev-util/subversion-1.5.1/image//opt/portage/usr/lib/libsvn_subr-1.la
/opt/portage/usr/bin/install -c .libs/libsvn_subr-1.a /usr/opt/portage/var/tmp/portage/dev-util/subversion-1.5.1/image//opt/portage/usr/lib/libsvn_subr-1.a
chmod 644 /usr/opt/portage/var/tmp/portage/dev-util/subversion-1.5.1/image//opt/portage/usr/lib/libsvn_subr-1.a
ranlib /usr/opt/portage/var/tmp/portage/dev-util/subversion-1.5.1/image//opt/portage/usr/lib/libsvn_subr-1.a
libtool: install: warning: remember to run `libtool --finish /opt/portage/usr/lib'
cd subversion/libsvn_delta ; /opt/portage/bin/bash /usr/opt/portage/var/tmp/portage/dev-util/subversion-1.5.1/work/subversion-1.5.1/libtool --mode=install /opt/portage/usr/bin/install -c libsvn_delta-1.la /usr/opt/portage/var/tmp/portage/dev-util/subversion-1.5.1/image//opt/portage/usr/lib/libsvn_delta-1.la
libtool: install: warning: relinking `libsvn_delta-1.la'
(cd /usr/opt/portage/var/tmp/portage/dev-util/subversion-1.5.1/work/subversion-1.5.1/subversion/libsvn_delta; /opt/portage/bin/bash /usr/opt/portage/var/tmp/portage/dev-util/subversion-1.5.1/work/subversion-1.5.1/libtool  --tag=CC --silent --mode=relink cc -c99 -O2 -n32 -mips4 -r14000 -fno-strict-aliasing -Wl,-n32,-mips4 -L/opt/portage/usr/lib -rpath /opt/portage/usr/lib -o libsvn_delta-1.la cancel.lo compat.lo compose_delta.lo debug_editor.lo default_editor.lo depth_filter_editor.lo path_driver.lo svndiff.lo text_delta.lo vdelta.lo version.lo xdelta.lo ../../subversion/libsvn_subr/libsvn_subr-1.la /opt/portage/usr/lib/libaprutil-1.la /opt/portage/usr/lib/libapr-1.la -lz -lsocket -inst-prefix-dir /usr/opt/portage/var/tmp/portage/dev-util/subversion-1.5.1/image/)  
...
ld32: Laying out sections and assigning virtual addresses.
ld32: creating backup registry file in .libs/so_locations178062.
ld32: Fixing up symbol values.
ld32: Sorting symbol table.
ld32: ERROR   40 : Virtual addresses of loadable segments overlap.
                   Use linker option -aoutkeep and then dump the segment information  with -elfdump -o a.out 
ld32: Pass2:  creating output file.
ld32: .MIPS.options.
ld32: .reginfo.
ld32: .dynamic.
ld32: .liblist.
ld32: .dynstr.
ld32: .hash.
ld32: .dynsym.
ld32: .MIPS.symlib.
ld32: .rel.dyn.
ld32: .msym.
ld32: .conflict.
ld32: .MIPS.stubs.
ld32: .text.
ld32: .rodata.
ld32: .data.
ld32: ERROR   185: Dynamic relocation targets read only segment.
                   The runtime linker, rld, cannot fixup readonly memory
                   Relocation 0 in section .rel.data of input object
                   .libs/default_editor.o.
                   Use, elfdump -r .libs/default_editor.o, to dump this relocation table.
...
ld32: ERROR   185: Dynamic relocation targets read only segment.
                   The runtime linker, rld, cannot fixup readonly memory
                   Relocation 15 in section .rel.data of input object
                   .libs/default_editor.o.
                   Use, elfdump -r .libs/default_editor.o, to dump this relocation table.
ld32: ERROR   185: Dynamic relocation targets read only segment.
                   The runtime linker, rld, cannot fixup readonly memory
                   Relocation 0 in section .rel.data of input object
                   .libs/version.o.
                   Use, elfdump -r .libs/version.o, to dump this relocation table.
ld32: .got.
ld32: .srdata.
ld32: .debug_abbrev.
ld32: .debug_info.
ld32: .debug_frame.
ld32: .debug_aranges.
ld32: .comment.
ld32: .MIPS.interfaces.
ld32: .MIPS.events.text.
ld32: .MIPS.content.data.
ld32: .shstrtab.
ld32: Sorting dynamic relocation records.
ld32: INFO    153: Output file renamed to .libs/a.out.
libtool: install: error: relink `libsvn_delta-1.la' with the above command before installing it
make: *** [install-fsmod-lib] Error 1
 * ERROR: dev-util/subversion-1.5.1 failed:
 *   Installation of core of Subversion failed
 * Call stack:
 *               ebuild.sh:  49: <call src_install>
 *             environment:5940:     emake -j1 DESTDIR="${D}" local-install || die "Installation of core of Subversion failed";

I've never seen this sort of error before... but I've also never seen libtool want to relink a newly built DSO, either.

The output above is with minimal CFLAGS/LDFLAGS and USE="-*".  With my standard CFLAGS/LDFLAGS and usual USE flags, the additional warning appears:

ld32: Trying to open /opt/portage/usr/lib/libdb-4.6.so...
ld32: Mapped ===   /opt/portage/usr/lib/libdb-4.6.so    ====   at address  0x47bc000 
ld32: Processing /opt/portage/usr/lib/libdb-4.6.so.
ld32: WARNING 85 : Definition of __db185_open in /opt/portage/usr/lib/libdb-4.5.so preempts that definition in /opt/portage/usr/lib/libdb-4.6.so.
...
ld32: WARNING 85 : Definition of db_env_set_func_pread in /opt/portage/usr/lib/libdb-4.5.so preempts that definition in /opt/portage/usr/lib/libdb-4.6.so.
ld32: Giving up after printing 50 warnings.  Use -wall to print all warnings.

I don't know why/how it's trying to link against multiple versions of libdb.
Comment 1 Fabian Groffen gentoo-dev 2008-08-08 18:42:02 UTC
maybe it has to do with bdb problems to install it normally?  Shall I mask >subversion-1.5 for you?
Comment 2 Stuart Shelton 2008-08-11 10:21:15 UTC
I'm not sure what you mean about bdb...

I've tried subversion-1.5.0 and that also fails in the same way, whereas subversion-1.4.6-r2 was fine.  Masking would work so long as 1.4.x is kept around - but I'm intrigued about what could confuse libtool so completely... have any other platforms experienced problems?
Comment 3 Fabian Groffen gentoo-dev 2008-08-11 10:30:28 UTC
oh yeah... on OSX for instance the dso USE flag, which has been made the default, totally rendered it useless at runtime (modules could not be found).  AIX needs help regardless... it's such a nice piece of software.
Comment 4 Stuart Shelton 2008-08-11 13:07:19 UTC
Heh...

I've tried again for both 1.5.x versions without DSO or berkdb support (the removal of which does prevent the warnings about linking against multiple versions - so this was obviously a red herring, or a different problem), but the same linker errors still occur.

I'll keep looking in to it...
Comment 5 Stuart Shelton 2008-08-12 21:09:58 UTC
Right - I think I've solved it.

If all files named 'so_locations' (which reside in the .libs directories) are removed after the 'compile' step but before the 'install' step, then the merge completes successfully.

Apparently: "This happens when the so_locations is reused inappropriately, or not cleared before a rebuild.  The so_locations file contains absolute addresses for a shared library. When a library is built for the first time and no so_locations file exists, it is created, and addresses plucked out of the air.  If a build occurs and addresses have already been allocated for that library it will reuse those addresses, if the module is bigger that previously allowed for then you will get the error you see."

subversion appears to work, but it was built with USE="-dso".
Comment 6 Fabian Groffen gentoo-dev 2008-09-13 15:22:27 UTC
I added dso to package.use.mask in the IRIX profile
Comment 7 Fabian Groffen gentoo-dev 2009-10-25 09:56:21 UTC
per comment #6