Jonathan Wakely <jwakely.gcc@xxxxxxxxx> writes: > On Wed, 13 Jul 2022, 19:55 Daniel Santos via Gcc-help, <gcc-help@xxxxxxxxxxx> > wrote: > > Hello community, > > I am trying to build gcc on Sparc Solaris 9. > So far I am creating a directory sibling to the source distribution directory and > running configure from there. > One thing I don’t understand is why the base configure script does not descend > automatically to the gcc subfolder. > I have to go in there and run configure again. > > Which shell are you using? > > See https://gcc.gnu.org/install/specific.html#x-x-solaris2 where it says to use ksh. > > While running configure with the command line : ../../gcc-3.4.6/gcc/configure > —with-gnu-as —with-gnu-ld > and then make : it builds the files and when it gets to running ld I get the error : > > /usr/local/sparc-sun-solaris2.9/bin/ld: target elf64-sparc not found > > I am building this gcc with the same version installed via sunfkeeware > packages. > > The reason for building it is that I need objective-c support and the package > does not have it. > > This ld error indicates that the ld executable being run is from solaris, and not > the gnu one I have in /usr/local/bin/ld > > Can anyone shed some light on this ? > > The installation instructions do say to use the native linker, not the GNU binutils > one. > Again, see https://gcc.gnu.org/install/specific.html#x-x-solaris2 > > Passing --with-gnu-ld is wrong if it's finding and using the Solaris linker. Either > adjust your PATH so the GNU one is found first, or stop telling GCC it's GNU ld when > it isn't. Besides, because GCC on Solaris supports two incompatible versions of ld (Solaris ld and GNU ld), it is crucial to specify the path to the linker you want to configure with with --with-ld=<path to ld> (both for /usr/ccs/bin/ld and some version of GNU ld). Otherwise, PATH changes would randomly break the resulting gcc. If you really want to use GNU ld (I don't know why you would, though), please build and use a recent one: at least what's recommended in install.texi. You'd probably be able to use GNU ld from current binutils 2.38, too. On top of that, I wouldn't bother with GCC 3.4 at all. Instead, please use the latest release still supporting Solaris 9, GCC 4.9.4 It's way better tested and supported than the ancient GCC 3.4. Please consult the Solaris sections of the bundled install docs in gcc/doc/install.texi. It contains many hints and caveats to consider when building GCC. The online version on gcc.gnu.org is for GCC trunk only: everything pertaining to Solaris versions no longer supported (i.e. before Solaris 11.3) has been removed. Rainer -- ----------------------------------------------------------------------------- Rainer Orth, Center for Biotechnology, Bielefeld University