Hi, Since commit [1] libtool tries to set a 64-bits target for GNU ld. However, it does so wrongly for x86_64-pc-solaris2.* targets, causing libtool to believe the linker is called ld_sol2. There is no such thing, and it obviously breaks things further down. Some people wrongly assume there is supposed to be an ld_sol2 on their systems, e.g. [2].
I think the original change is fragile, because it assumes it has all CHOSTs matched, then appends _sol2. In the wild, people have used amd64-pc-solaris2* too, so perhaps it would be safer if the code only appended _sol2 if there is actually an explicit target set. Anyhow, since the 64-bits sparc target is called sparc64-* or sparcv9-*, the sparc case is already correctly handled, so in the attached patch, I just added an x86_64-* case, although I could imagine relaxing the i?86 case to *86*-pc-solaris2* too. In any case, defaulting to a linker called ld_sol2 is wrong. Regards, Fabian [1] http://lists.gnu.org/archive/html/libtool-commit/2011-02/msg00000.html [2] http://osdyson.org/issues/8 -- Fabian Groffen Gentoo on a different level
Unbreak x86_64-pc-solaris2.1[01], it IS 64-bits too. Without this, libtool thinks the linker is called ld_sol2. --- libltdl/m4/libtool.m4 +++ libltdl/m4/libtool.m4 @@ -1383,7 +1383,7 @@ case $lt_cv_prog_gnu_ld in yes*) case $host in - i?86-*-solaris*) + i?86-*-solaris*|x86_64-*-solaris*) LD="${LD-ld} -m elf_x86_64" ;; sparc*-*-solaris*)
signature.asc
Description: Digital signature