When attempting to emerge objprelink, you get the following error: scanner portage # emerge dev-util/objprelink Calculating dependencies ...done! >>> emerge dev-util/objprelink-0-r1 to / >>> md5 ;-) objprelink.c.gz >>> md5 ;-) kde-admin-acinclude.patch >>> Unpacking source... >>> Source unpacked. /usr/lib/libbfd.a(archures.o): In function `bfd_default_scan': archures.o(.text+0x180): undefined reference to `_sch_istable' /usr/lib/libbfd.a(bfd.o): In function `bfd_scan_vma': bfd.o(.text+0x22d): undefined reference to `_sch_istable' /usr/lib/libbfd.a(syms.o): In function `bfd_decode_symclass': syms.o(.text+0x256): undefined reference to `_sch_toupper' /usr/lib/libbfd.a(srec.o): In function `srec_scan': srec.o(.text+0xc5): undefined reference to `_sch_istable' srec.o(.text+0x2fc): undefined reference to `_sch_istable' srec.o(.text+0x531): undefined reference to `_sch_istable' srec.o(.text+0x60c): undefined reference to `_sch_istable' /usr/lib/libbfd.a(binary.o): In function `binary_get_symtab': binary.o(.text+0x1f8): undefined reference to `_sch_istable' /usr/lib/libbfd.a(binary.o)(.text+0x306): more undefined references to `_sch_istable' follow /usr/lib/libbfd.a(elf-strtab.o): In function `_bfd_elf_strtab_finalize': elf-strtab.o(.text+0x1cc): undefined reference to `htab_create' elf-strtab.o(.text+0x1e1): undefined reference to `htab_create' elf-strtab.o(.text+0x253): undefined reference to `htab_find_slot_with_hash' elf-strtab.o(.text+0x27a): undefined reference to `htab_find_slot_with_hash' elf-strtab.o(.text+0x2cc): undefined reference to `htab_delete' elf-strtab.o(.text+0x2e1): undefined reference to `htab_delete' /usr/lib/libbfd.a(aout32.o): In function `aout_link_write_symbols': aout32.o(.text+0x459c): undefined reference to `_sch_istable' /usr/lib/libbfd.a(archive.o): In function `_bfd_generic_read_ar_hdr_mag': archive.o(.text+0x1ac): undefined reference to `_sch_istable' /usr/lib/libbfd.a(stabs.o): In function `_bfd_link_section_stabs': stabs.o(.text+0x402): undefined reference to `_sch_istable' /usr/lib/libbfd.a(merge.o): In function `merge_strings': merge.o(.text+0x916): undefined reference to `htab_create' merge.o(.text+0x937): undefined reference to `htab_create' merge.o(.text+0x9cd): undefined reference to `htab_find_slot_with_hash' merge.o(.text+0xa25): undefined reference to `htab_find_slot_with_hash' merge.o(.text+0xa8d): undefined reference to `htab_delete' merge.o(.text+0xaa2): undefined reference to `htab_delete' collect2: ld returned 1 exit status !!! ERROR: The ebuild did not complete successfully. !!! Function src_compile, Line 2, Exitcode 1 !!! (no error message) !!! emerge aborting on /usr/portage/dev-util/objprelink/objprelink-0-r1.ebuild
If you change /usr/lib/libbfd.a to -lbfd (lowercase -L), and change /usr/lib/libiberty.a to -liberty (lowercase -L) in the objprelink ebuild file, it compiles correctly. Then if you do a 'ebuild objprelink.ebuildfile merge', it should install it. However, when I tried doing objprelink on a *.o of a qt build, it said it was out of memory. Adam
I'm removing the objprelink ebuild from cvs. No one needs at anymore since the generic functionality is already in glibc/binutils and it just brings up bug reports.