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.
maybe it has to do with bdb problems to install it normally? Shall I mask >subversion-1.5 for you?
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?
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.
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...
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".
I added dso to package.use.mask in the IRIX profile
per comment #6