public inbox for gcc-help@gcc.gnu.org
 help / color / mirror / Atom feed
* RE: Problems building gcc-3.1.1 on 32-bit sparc-sun-solaris2.7
@ 2002-07-31 11:02 Kick Damien-DKICK1
  0 siblings, 0 replies; 5+ messages in thread
From: Kick Damien-DKICK1 @ 2002-07-31 11:02 UTC (permalink / raw)
  To: 'Rupert Wood', Kick Damien-DKICK1; +Cc: gcc-help

Rupert Wood [me@rupey.net] wrote:

> By default, GCC for sparc-solaris2.7+ will support both 32-bit and
> 64-bit builds.
>
> The problem is actually that you don't have /lib/sparcv9/values-*.o
> installed; [...]
>
>     1. Install the 64-bit object files from package SUNWarcx. You
>        may then be able to build a compiler that targets both 64-bit
>        and 32-bit builds on your 32-bit system. (You might also need
>        SUNWcslx.) 

Not an option for me as I do not have 'root' priveldges on the box.

>     2. Prevent it building 64-bit runtime libraries by adding
>        '--disable-multilib' to your configure line.

I've tried this and got the build to finish successfully.  However, I
then get the following problem with the finished product.

    [kick@csdndev07 ~/tmp]% cat foo.cc
    int main()
    {
    }
    [kick@csdndev07 ~/tmp]% g++ --version
    g++ (GCC) 3.1.1
    Copyright (C) 2002 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.  There is
NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE.

    [kick@csdndev07 ~/tmp]% g++ foo.cc
    ld: fatal: library -lgcc_s: not found
    ld: fatal: library -lgcc_s: not found
    ld: fatal: File processing errors. No output written to a.out
    collect2: ld returned 1 exit status
    [kick@csdndev07 ~/tmp]% g++ -v foo.cc 
    Reading specs from
/usr/test/awo/user_work/kick/sparc-sun-solaris2.7-32/lib/gcc-lib/sparc-sun-s
olaris2.7/3.1.1/specs
    Configured with: ../../../src/gcc-3.1.1/configure
--with-gcc-version-trigger=/usr/test/awo/user_work/kick/src/gcc-3.1.1/gcc/ve
rsion.c --prefix=/usr/test/awo/user_work/kick/sparc-sun-solaris2.7-32
--with-as=/usr/ccs/bin/as --with-ld=/usr/ccs/bin/ld --enable-languages=c,c++
--disable-multilib
    Thread model: posix
    gcc version 3.1.1
 
/usr/test/awo/user_work/kick/sparc-sun-solaris2.7-32/lib/gcc-lib/sparc-sun-s
olaris2.7/3.1.1/cc1plus -v -D__GNUC__=3 -D__GNUC_MINOR__=1
-D__GNUC_PATCHLEVEL__=1 -Dsparc -Dsun -Dunix -D__svr4__ -D__SVR4
-D__PRAGMA_REDEFINE_EXTNAME -D__sparc__ -D__sun__ -D__unix__ -D__svr4__
-D__SVR4 -D__PRAGMA_REDEFINE_EXTNAME -D__sparc -D__sun -D__unix
-Asystem=unix -Asystem=svr4 -D__NO_INLINE__ -D__STDC_HOSTED__=1
-D_XOPEN_SOURCE=500 -D_LARGEFILE_SOURCE=1 -D_LARGEFILE64_SOURCE=1
-D__EXTENSIONS__ -D__SIZE_TYPE__=unsigned int -D__PTRDIFF_TYPE__=int
-D__WCHAR_TYPE__=long int -D__WINT_TYPE__=long int -D__GCC_NEW_VARARGS__
-Acpu=sparc -Amachine=sparc foo.cc -D__GNUG__=3 -D__DEPRECATED
-D__EXCEPTIONS -D__GXX_ABI_VERSION=100 -quiet -dumpbase foo.cc -version -o
/var/tmp//cccHmhYU.s
    GNU CPP version 3.1.1 (cpplib) (sparc ELF)
    GNU C++ version 3.1.1 (sparc-sun-solaris2.7)
            compiled by GNU C version 3.1.1.
    ignoring nonexistent directory "/usr/local/include"
    ignoring nonexistent directory
"/usr/test/awo/user_work/kick/sparc-sun-solaris2.7-32/sparc-sun-solaris2.7/i
nclude"
    #include "..." search starts here:
    #include <...> search starts here:
     /usr/test/awo/user_work/kick/sparc-sun-solaris2.7-32/include/c++/3.1.1
 
/usr/test/awo/user_work/kick/sparc-sun-solaris2.7-32/include/c++/3.1.1/sparc
-sun-solaris2.7
 
/usr/test/awo/user_work/kick/sparc-sun-solaris2.7-32/include/c++/3.1.1/backw
ard
     /usr/test/awo/user_work/kick/sparc-sun-solaris2.7-32/include
 
/usr/test/awo/user_work/kick/sparc-sun-solaris2.7-32/lib/gcc-lib/sparc-sun-s
olaris2.7/3.1.1/include
     /usr/include
    End of search list.
     /usr/ccs/bin/as -V -Qy -s -o /var/tmp//ccYvoo8J.o /var/tmp//cccHmhYU.s
    /usr/ccs/bin/as: WorkShop Compilers 5.0 Alpha 03/27/98 Build
 
/usr/test/awo/user_work/kick/sparc-sun-solaris2.7-32/lib/gcc-lib/sparc-sun-s
olaris2.7/3.1.1/collect2 -V -Y P,/usr/ccs/lib:/usr/lib -Qy
/usr/test/awo/user_work/kick/sparc-sun-solaris2.7-32/lib/gcc-lib/sparc-sun-s
olaris2.7/3.1.1/crt1.o
/usr/test/awo/user_work/kick/sparc-sun-solaris2.7-32/lib/gcc-lib/sparc-sun-s
olaris2.7/3.1.1/crti.o /usr/ccs/lib/values-Xa.o
/usr/test/awo/user_work/kick/sparc-sun-solaris2.7-32/lib/gcc-lib/sparc-sun-s
olaris2.7/3.1.1/crtbegin.o
-L/usr/test/awo/user_work/kick/sparc-sun-solaris2.7-32/lib/gcc-lib/sparc-sun
-solaris2.7/3.1.1
-L/usr/test/awo/user_work/kick/sparc-sun-solaris2.7-32/lib/gcc-lib/sparc-sun
-solaris2.7/3.1.1/../../../../sparc-sun-solaris2.7/lib -L/usr/ccs/bin
-L/usr/ccs/lib
-L/usr/test/awo/user_work/kick/sparc-sun-solaris2.7-32/lib/gcc-lib/sparc-sun
-solaris2.7/3.1.1/../../.. /var/tmp//ccYvoo8J.o -lstdc++ -lm -lgcc_s -lgcc
-lc -lgcc_s -lgcc -lc
/usr/test/awo/user_work/kick/sparc-sun-solaris2.7-32/lib/gcc-lib/sparc-sun-s
olaris2.7/3.1.1/crtend.o
/usr/test/awo/user_work/kick/sparc-sun-solaris2.7-32/lib/gcc-lib/sparc-sun-s
olaris2.7/3.1.1/crtn.o
    ld: Software Generation Utilities - Solaris-ELF (4.0)
    ld: fatal: library -lgcc_s: not found
    ld: fatal: library -lgcc_s: not found
    ld: fatal: File processing errors. No output written to a.out
    collect2: ld returned 1 exit status
    [kick@csdndev07 ~/tmp]% kf
/usr/test/awo/user_work/kick/sparc-sun-solaris2.7-32/lib/sparcv9 
    libgcc_s.so@  libgcc_s.so.1
    [kick@csdndev07 ~/tmp]% 

What I don't understand is why 'g++' is still apparently looking for
64-bit libraries even though I've told 'configure' to
'--disable-multilib'.  Is there something else I should've done as
well?  Anyway, thanks for the help so far and thanks in advance for
any more.

--
Damien Kick

^ permalink raw reply	[flat|nested] 5+ messages in thread

* RE: Problems building gcc-3.1.1 on 32-bit sparc-sun-solaris2.7
@ 2002-07-31 11:40 Kick Damien-DKICK1
  0 siblings, 0 replies; 5+ messages in thread
From: Kick Damien-DKICK1 @ 2002-07-31 11:40 UTC (permalink / raw)
  To: 'Rupert Wood', Kick Damien-DKICK1; +Cc: gcc-help

Rupert Wood [me@rupey.net] wrote:

> There should be 32-bit libgcc_s.so in 
> 
>     /usr/test/awo/user_work/kick/sparc-sun-solaris2.7-32/lib

> However, I'm quite confused about how the sparcv9 version got built!
> It may just be a mis-install; [...]

If I'm remembering the order of this correctly, I first did a 'rm -r
*' in the build directory in which I had run my previous, failed build
and then reconfigured it with the additional '--disable-multilib'.  Of
course, I've tried a few different things at this point, so I could be
confused.

> [...] you could try running 'file' on lib/sparcv9/libgcc_s.so; if
> it's actually 32-bit, move it into the lib directory. Otherwise, go
> to the gcc subdirectory of your build tree and try 'make
> libgcc_s.so' to hopefully build the 32-bit version.

    [kick@csdndev07 ~/tmp]% file
/usr/test/awo/user_work/kick/sparc-sun-solaris2.7-32/lib/sparcv9/libgcc_s.so
 
/usr/test/awo/user_work/kick/sparc-sun-solaris2.7-32/lib/sparcv9/libgcc_s.so
:  ELF 32-bit MSB dynamic lib SPARC Version 1, dynamically linked, not
stripped
    [kick@csdndev07 ~/tmp]% 

Indeed, it looks as if the 'libgcc_s.so' is 32-bit.  After I
"manually" (there has to be a better word than the same "manual" used
in "manual labor") copied 'libgcc_s.so' from '.../lib/sparcv9' into
'.../lib', everything worked just fine.

    [kick@csdndev07 ~/tmp]% cat foo.cc 
    #include <iostream>

    int main()
    {
        std::cout << "Hello, sailor.\n";
    }
    [kick@csdndev07 ~/tmp]% g++ foo.cc 
    [kick@csdndev07 ~/tmp]% ./a.out 
    Hello, sailor.
    [kick@csdndev07 ~/tmp]% 

> There might be a makefile bug; I'll have a quick investigate here.

Let me know if it would help for me to re-run the bootstrap/install or
some such...

--
Damien Kick

^ permalink raw reply	[flat|nested] 5+ messages in thread

* RE: Problems building gcc-3.1.1 on 32-bit sparc-sun-solaris2.7
       [not found] <616BE6A276E3714788D2AC35C40CD18D740AC2@whale.softwire.co.uk>
@ 2002-07-31 11:22 ` Rupert Wood
  0 siblings, 0 replies; 5+ messages in thread
From: Rupert Wood @ 2002-07-31 11:22 UTC (permalink / raw)
  To: 'Kick Damien-DKICK1'; +Cc: gcc-help

Damien Kick wrote:

The g++ -v output all looks fairly normal; I get very similar here.

> /usr/test/awo/user_work/kick/sparc-sun-solaris2.7-32/lib/sparcv9 
>     libgcc_s.so@  libgcc_s.so.1
:
> What I don't understand is why 'g++' is still apparently looking for
> 64-bit libraries even though I've told 'configure' to
> '--disable-multilib'.

There should be 32-bit libgcc_s.so in 

    /usr/test/awo/user_work/kick/sparc-sun-solaris2.7-32/lib

If there is, you may need to add this to your LD_LIBRARY_PATH
environment.

However, I'm quite confused about how the sparcv9 version got built! It
may just be a mis-install; you could try running 'file' on
lib/sparcv9/libgcc_s.so; if it's actually 32-bit, move it into the lib
directory. Otherwise, go to the gcc subdirectory of your build tree and
try 'make libgcc_s.so' to hopefully build the 32-bit version.

There might be a makefile bug; I'll have a quick investigate here.

Rup.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* RE: Problems building gcc-3.1.1 on 32-bit sparc-sun-solaris2.7
       [not found] <616BE6A276E3714788D2AC35C40CD18D740854@whale.softwire.co.uk>
@ 2002-07-31  1:21 ` Rupert Wood
  0 siblings, 0 replies; 5+ messages in thread
From: Rupert Wood @ 2002-07-31  1:21 UTC (permalink / raw)
  To: 'Kick Damien-DKICK1'; +Cc: gcc-help

Damien Kick wrote:

> Why is 'configure' assuming that I want 64-bit?  Is there an option
> that I can pass to 'configure' to explicitly request '-m32'?

By default, GCC for sparc-solaris2.7+ will support both 32-bit and
64-bit builds.

The problem is actually that you don't have /lib/sparcv9/values-*.o
installed; it's failing a compile-confidence-check whilst configuring a
64-bit build of libiberty (which it needs to build 64-bit versions of
the runtime libraries). You have two options:

    1. Install the 64-bit object files from package SUNWarcx. You may
then
       be able to build a compiler that targets both 64-bit and 32-bit
       builds on your 32-bit system. (You might also need SUNWcslx.)

    2. Prevent it building 64-bit runtime libraries by adding
       '--disable-multilib' to your configure line.

Good luck,
Rup.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Problems building gcc-3.1.1 on 32-bit sparc-sun-solaris2.7
@ 2002-07-30 14:36 Kick Damien-DKICK1
  0 siblings, 0 replies; 5+ messages in thread
From: Kick Damien-DKICK1 @ 2002-07-30 14:36 UTC (permalink / raw)
  To: 'gcc-help@gcc.gnu.org'; +Cc: Kick Damien-DKICK1

I'm having problems building gcc-3.1.1 on a 32-bit
sparc-sun-solaris2.7.

        checking whether the C compiler
(/usr/test/awo/user_work/kick/obj/sparc-sun-solaris2.7-32/gcc-3.1.1/gcc/xgcc
-B/usr/test/awo/user_work/kick/obj/sparc-sun-solaris2.7-32/gcc-3.1.1/gcc/
-B/usr/test/awo/user_work/kick/sparc-sun-solaris2.7-32/sparc-sun-solaris2.7/
bin/
-B/usr/test/awo/user_work/kick/sparc-sun-solaris2.7-32/sparc-sun-solaris2.7/
lib/ -isystem
/usr/test/awo/user_work/kick/sparc-sun-solaris2.7-32/sparc-sun-solaris2.7/in
clude  -m64 -g -O2 ) works... no
        configure: error: installation or configuration problem: C compiler
cannot create executables.
        make[1]: *** [configure-target-libiberty] Error 1
        make[1]: Leaving directory
`/usr/test/awo/user_work/kick/obj/sparc-sun-solaris2.7-32/gcc-3.1.1'
        make: *** [bootstrap] Error 2
        [kick@csdndev07 sparc-sun-solaris2.7-32/gcc-3.1.1]% isainfo -v
        32-bit sparc applications
        [kick@csdndev07 sparc-sun-solaris2.7-32/gcc-3.1.1]% cat
config.status 
        #!/bin/sh
        # This file was generated automatically by configure.  Do not edit.
        # This directory was configured as follows:
        ../../../src/gcc-3.1.1/configure
--with-gcc-version-trigger=/usr/test/awo/user_work/kick/src/gcc-3.1.1/gcc/ve
rsion.c --host=sparc-sun-solaris2.7
--prefix=/usr/test/awo/user_work/kick/sparc-sun-solaris2.7-32
--with-as=/usr/ccs/bin/as --with-ld=/usr/ccs/bin/ld --enable-languages=c,c++
--norecursion 
        # using "mh-frag"
        [kick@csdndev07 sparc-sun-solaris2.7-32/gcc-3.1.1]% 

I'm assuming that the problem is from the '.../xgcc ... -m64 ...' as
the box has not been enabled for 64-bit applicaitons.  Does this sound
reasonable?  Why is 'configure' assuming that I want 64-bit?  Is there
an option that I can pass to 'configure' to explicitly request '-m32'?

--
Damien Kick 

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2002-07-31 18:40 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-07-31 11:02 Problems building gcc-3.1.1 on 32-bit sparc-sun-solaris2.7 Kick Damien-DKICK1
  -- strict thread matches above, loose matches on Subject: below --
2002-07-31 11:40 Kick Damien-DKICK1
     [not found] <616BE6A276E3714788D2AC35C40CD18D740AC2@whale.softwire.co.uk>
2002-07-31 11:22 ` Rupert Wood
     [not found] <616BE6A276E3714788D2AC35C40CD18D740854@whale.softwire.co.uk>
2002-07-31  1:21 ` Rupert Wood
2002-07-30 14:36 Kick Damien-DKICK1

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).