This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: gcc-4.2.2 build on solaris-10 failing


> Malay HALDER wrote:
>> hello all,
>>             I am building gcc-4.2.2 on solaris 10 and the build is
>> failing ...
>>
>> *** configure is going on well but the build is failing with the
>> following message...i am using gcc compiler --gcc version 2.95.1
>> 19990816 (release)
>>
>> checking where to find the target windres... host tool
>> checking whether to enable maintainer-specific portions of Makefiles... no
>> checking whether -fkeep-inline-functions is supported... no
>> updating cache ./config.cache
>> creating ./config.status
>> *creating Makefile
>> sh:  : not found   -----> if possible please give me some hint
>> *** Error code 1*
>> dmake: Fatal error: Command failed for target `build-gcc'
>
> What is this "dmake"?  Building GCC needs 'GNU make', the Solaris'
> own, neither any other non-GNU 'make' will work :(  Please see the
> 'Prerequisites' in the fine "Installing GCC" manual!
> (http://gcc.gnu.org, "Manual")

Don't believe everything you read.

There are a few flavours of make in the world and they all seem to
work with the same intent and in different ways.  One needs to keep
focused on what "make" is supposed to do and the fact that the UNIX
make command was closed sourced and behind tightly shut doors for a
long long time.  Then again, that depends on if you look at OpenBSD
or FreeBSD or some other UNIX(tm) flavour that has been out there in
the world forever.

The GNU make is not the same thing in spite of doing a similar task
for the user. There is a reason, after all, why GNU stands for "GNU
is NOT UNIX" right? It just isn't, and don't think that you can go
into the Solaris world, a UNIX world, and use those standards compliant
and very well defined tools therein to achieve a desired result
when the input is from the GNU world. Things often just don't work
in spite of all the wonderful standards docs and compliance testing
that Solaris undergoes.  Why? Because the GNU stuff was never written
to work there. Simply put, the GNU world was created in order to get
away from the closed door closed source monster that UNIX had become.
The fact that the OpenSolaris project now exists and that a *lot* of
the sources are available is cool but you still can not compile a
lot of GNU world sources unless you use GNU tools.  You can not compile
the OpenSolaris guts ( the Operating System/Networking (ON)
consolidation ) with GCC either. That is in spite of the fact that ALL
of the code in the OpenSolaris PowerPC port was compiler with a GCC
cross compiler.  I bet you didn't know that!

For the sake of discussion ..

  look for the mention of XPG4 in here :
  http://www.blastwave.org/man/standards_5.html

  then look for /usr/xpg4 in here :
  http://www.blastwave.org/man/filesystem_5.html

  and again here :
  http://www.blastwave.org/man/make_1S.html

  and dmake is something else entirely :
  http://www.blastwave.org/man/dmake_1.html

So all "make"s are not created equal and dmake is not make and smake from
Jorg Schilling is not make and GNU make is not UNIX(tm) make nor is it
covered under any SUS ( Single UNIX Specification ) or POSIX compliance
standards documents etc etc.

But guess what?

You're stuck with it if you want to try to build GCC and a lot of other
stuff from the GNU world.  Truth is .. you could just stick with the
commercial grade Sun Studio 11 ( or 10 or 8 or maybe even 12 ) compilers and
tools and be done with it. If you do that .. then you will find that a LOT
of the GNU world sources simply don't compile without a massive pile of
warnings and often, errors.

So when it comes to getting GCC 4.2.2 to compile or even bootstrap on
Solaris 10 then I suggest you stick with the GNU tools to get a GNU compiler
created. When you are done it won't pass all of its own testsuites and who
knows what that means. I sure don't and I have been bootstrapping GCC for at
least a decade on Solaris.  Then again, have you read any of the bug reports
and patch releases for the Sun Studio compilers? I sure do and they are not
perfect either. They are better at creating tight fast binaries and they are
better at strict standards compliance but not perfect. GCC isn't either but
its getting there.

Oh, one last thing, I was able to bootstrap GCC 4.2.1 on Solaris just fine
but when I tried to do the same thing with GCC 4.2.2 on the exact same
machine and with the exact same tools ( Sun ONE Studio 8 compiler and
standard UNIX tools ) the process failed.  No amount of digging on my
part was able to get GCC 4.2.2 to build on that very same machine. It
was, in short, baffling.

So I just moved on to GCC 4.2.3 entirely.

Either way, you can download the Sun Studio 11 and Sun Studio 12 compilers
for free and just use them.

Dennis Clarke
Blastwave.org Founder


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]