From: Douglas Richardson <douglas.richardson@gaussvip.com>
To: "'gcc-help@gcc.gnu.org'" <gcc-help@gcc.gnu.org>
Subject: RE: Still can't build 3.2 on Solaris 8
Date: Wed, 25 Sep 2002 09:20:00 -0000 [thread overview]
Message-ID: <AA067AE32DECD511B8A00002555878BC161F6D@mailsrv2.magellan.com> (raw)
Hi Mark,
I recently built gcc 3.2 on Solaris 8. I'll tell you what I did.
First of all, you wrote:
> $ ./configure --with-ld=/usr/ccs/bin/ls --with-as=/usr/ccs/bin/as
> $ make bootstrap
The gcc installation docs say that you should not build in the source
directory (as you did). Here is an except from the gcc installation manual:
"First, in general, GCC must be built into a separate directory than the
sources which does not reside within the source tree. This is how almost all
developers build GCC; building where srcdir == objdir is completely
unsupported; building where objdir is a subdirectory of srcdir is completely
unsupported."
I created a directory called gcc-3.2-objdir and then from there I did the
following:
$ ../gcc-3.2/configure --with-as=/usr/share/devenvs/gcc32/bin/as
--with-gnu-as --with-ld=/usr/share/devenvs/gcc32/bin/ld --with-gnu-ld
--prefix=/usr/share/devenvs/gcc32 --enable-languages=c,c++ --disable-shared
$ make bootstrap
My existing compiler was gcc 2.95.2 and I used binutils 2.12. Before I used
binutils 2.12 I tried binutils 2.13 and I was able to build gcc 3.2.
However, I had a problem building my own application that uses shared
libraries with binutils 2.13 (my app would get a segmentation fault in the
startup code). But as soon as I switched to binutils 2.12 the problem went
away (I wrote a small test application to make sure it wasn't a problem with
my application).
If you still have no luck go to
http://dcsearch.sun.com/search/sfw/index.jsp?qt=+gcc+3.2 for a binary
distribution.
Keep me updated,
Douglas Richardson.
-----Original Message-----
From: Frost Mark - mfrost [mailto:Mark.Frost@acxiom.com]
Sent: Wednesday, September 25, 2002 08:43
To: 'gcc-help@gcc.gnu.org'
Subject: Still can't build 3.2 on Solaris 8
I've been working on this for about a month now and am still having
problems. My platform:
Sun Solaris 8 on sparc
existing compiler is gcc 3.0.2
binutils 2.13 (when I attempt to use them anyway)
GNU make 3.79 and also the built-in Sun make (tried both)
I've tried building with the following options all of which have resulted in
the same problem.
$ ./configure --with-ld=/usr/ccs/bin/ls --with-as=/usr/ccs/bin/as
$ make bootstrap
and
$ ./configure --with-gnu-ld --with-gnu-as
--with-ld=/usr/local/bin/ld --with-as=/usr/local/bin/as
$ make bootstrap
and
$ CONFIG_SHELL=/bin/ksh; export CONFIG_SHELL
$ ./configure --with-ld=/usr/ccs/bin/ls --with-as=/usr/ccs/bin/as $
make bootstrap
I've also tried building this on another Solaris 8 box here with the same
results (not that I really expected anything different).
(It was suggested to me that I could install the GNU installer. I tried
that, but it had no effect on this issue.)
In between build attempts, I've completely removed the gcc directory and
re-extracted it from the gcc*.gz file just to make sure I start from a
consistent state as "make distclean" does not seem to leave things in
exactly the same state as the extracted distribution (for instance, all the
platform-specific files and dirs are still there).
When I run through the "make bootstrap", it runs for hours and appears to go
through at least one stage of the compiler build and craps out with the
following:
...
stamp-h.in ..linked
loading cache ../config.cache
checking for Cygwin environment... (cached) no
checking for mingw32 environment... (cached) no
configure: error: can not find install-sh or install.sh in . ./..
./../..
*** Error code 1
make: Fatal error: Command failed for target
`configure-target-libffi'
Current working directory /sysadmin/src/gcc-3.2
*** Error code 1
make: Fatal error: Command failed for target `bootstrap'
$
The log file is over 11,000 lines so it definitely ran for a long time
before this happened. If I do an "ls gcc" (the directory), I can see that
there's a stage1, stage2
gcc/stage1
gcc/stage1_build
gcc/stage1_copy
gcc/stage2
gcc/stage2_build
gcc/stage2_copy
gcc/stage3_build
gcc/stage_last
It looks like the error is happening in
gcc-3.2/sparc-sun-solaris-2.8/sparcv9/libffi/configure and it's looking for
install-sh in '.' then '..' then '../..'. The "install-sh" file is really 3
levels up. The config.log file in that directory shows only:
configure:561: checking for Cygwin environment
configure:594: checking for mingw32 environment
If I edit line 657 in gcc-3.2/sparc-sun-solaris-2.8/sparcv9/libffi/configure
from
for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
To
for ac_dir in $srcdir $srcdir/.. $srcdir/../.. $srcdir/../../..; do
Then cd back to the gcc root dir and do "make bootstrap" again. It compiles
merrily away for a while and generates about another 1,000 lines of output
before it gives me:
make: Fatal error: Don't know how to make target `all'
Current working directory /sysadmin/src/gcc-3.2/sparc-sun-
solaris2.8/sparcv9/libffi
*** Error code 1
make: Fatal error: Command failed for target `multi-do'
Current working directory
/sysadmin/src/gcc-3.2/sparc-sun-solaris2.8/libffi
*** Error code 1
make: Fatal error: Command failed for target `all-multi'
Current working directory
/sysadmin/src/gcc-3.2/sparc-sun-solaris2.8/libffi
*** Error code 1
make: Fatal error: Command failed for target `all-recursive-am'
Current working directory
/sysadmin/src/gcc-3.2/sparc-sun-solaris2.8/libffi
*** Error code 1
make: Fatal error: Command failed for target `all-target-libffi'
Current working directory /sysadmin/src/gcc-3.2
*** Error code 1
make: Fatal error: Command failed for target `bootstrap'
$
So then, thinking that maybe I need to start afresh after this "fix" of
adding the 3-level deep stuff to that configure file in libffi, I ran a
"make clean" from the root dir and did a "make boostrap" again and got the
same error (the one just above with the complaints about not being able to
"make all").
So maybe a "make distclean" then running configure again and then "make
bootstrap" again will help since "make distclean" does not seem to clear out
the architecture dependent directories. However, "make distclean" blows out
this time with:
...
" "MAKE=make" "MAKEINFO=makeinfo " "PICFLAG="
"PICFLAG_FOR_TARGET=" "SHELL=/bin/ksh" "RUNTESTFLAGS="
"exec_prefix=/usr/local" "infodir=/usr/local/info"
"libdir=/usr/local/lib" "includedir=/usr/local/include"
"prefix=/usr/local" "tooldir=/usr/local/sparc- sun-solaris2.8" "AR=ar"
"AS=as" "LD=ld" "LIBCFLAGS=-g -O2" "PICFLAG=" "RANLIB=true"
"NM=nm" "NM_FOR_BUILD=" "NM_FOR_TARGET=nm" "DESTDIR=" "WERROR="
DO=mostlyclean multi-clean
make: Fatal error: Don't know how to make target `multi-clean'
Current working directory
/sysadmin/src/gcc-3.2/sparc-sun-solaris2.8/libstdc++-v3
*** Error code 1
make: Fatal error: Command failed for target `mostlyclean-multi'
Current working directory
/sysadmin/src/gcc-3.2/sparc-sun-solaris2.8/libstdc++-v3
*** Error code 1
make: Fatal error: Command failed for target `distclean-recursive'
Current working directory
/sysadmin/src/gcc-3.2/sparc-sun-solaris2.8/libstdc++-v3
*** Error code 1
make: Fatal error: Command failed for target `do-distclean'
$
This is just driving me crazy. I've built gcc many times over the years
with no problems. I've got reasonably "vanilla" Sun Solaris boxes. I've
got plenty of space in the build directory. I've tried with and without GNU
tools. I've made minor modifications to hopefully fix issues only to get
stuck at the next issue. I've explicitly told the bootstrap process to use
the ksh and I've also used the default (bourne shell presumably). All the
while I see that others have built successfully on this platform. All in
all I've been working on this off and on for two months now.
I'm clueless as to where to go from here other than to continue using my
existing 3.0.2 compiler.
Any help is greatly appreciated. At what point do I consider this some kind
of bug? When that happens do I just send it to the gcc-bugs mailing list?
Thanks
Mark Frost
*********************************************************************
The information contained in this communication is
confidential, is intended only for the use of the recipient
named above, and may be legally privileged.
If the reader of this message is not the intended
recipient, you are hereby notified that any dissemination,
distribution, or copying of this communication is strictly
prohibited.
If you have received this communication in error,
please re-send this communication to the sender and
delete the original message or any copy of it from your
computer system. Thank You.
next reply other threads:[~2002-09-25 16:20 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-09-25 9:20 Douglas Richardson [this message]
-- strict thread matches above, loose matches on Subject: below --
2002-09-25 9:42 Frost Mark - mfrost
2002-09-25 8:43 Frost Mark - mfrost
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=AA067AE32DECD511B8A00002555878BC161F6D@mailsrv2.magellan.com \
--to=douglas.richardson@gaussvip.com \
--cc=gcc-help@gcc.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).