From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8818 invoked by alias); 4 Dec 2007 19:02:49 -0000 Received: (qmail 8795 invoked by uid 22791); 4 Dec 2007 19:02:49 -0000 X-Spam-Check-By: sourceware.org Received: from elasmtp-mealy.atl.sa.earthlink.net (HELO elasmtp-mealy.atl.sa.earthlink.net) (209.86.89.69) by sourceware.org (qpsmtpd/0.31) with ESMTP; Tue, 04 Dec 2007 19:02:42 +0000 Received: from [67.169.18.28] (helo=ix.netcom.com) by elasmtp-mealy.atl.sa.earthlink.net with asmtp (Exim 4.34) id 1Izd2C-0001bm-Nz; Tue, 04 Dec 2007 14:02:24 -0500 Message-ID: <4755A3B9.9060601@ix.netcom.com> Date: Tue, 04 Dec 2007 19:02:00 -0000 From: Thomas Dineen User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax) MIME-Version: 1.0 To: gcc-help@gcc.gnu.org, gcc@gcc.gnu.org, Thomas Dineen Subject: Serious Bugs In Gcc Builds Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-ELNK-Trace: 8fd196f32229d336776432462e451d7bd15d05d9470ff7101877cd5126f65dc6c0ddb4fa7ab456e5350badd9bab72f9c350badd9bab72f9c350badd9bab72f9c X-IsSubscribed: yes Mailing-List: contact gcc-help-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-help-owner@gcc.gnu.org X-SW-Source: 2007-12/txt/msg00094.txt.bz2 Gentle People: I am writing to you today to document several serious build bugs in GCC releases gcc-3.4.6, gcc-4.0.4, and gcc-4.1.2. To be honest I have wasted several days of work on reflector interaction and attempts to work around these issues all to no avail! I have been unable to build a usable gcc on my Solaris 8 Sparc System! By the way don't bother flaming back at me I am way beyond this and thus impervious! Hopefully by fixing the issues documented below you will open up the GCC software to be usable by a larger audience of users. Issue 1) The configure and build scripts insist (read that fight to the death) on using the solaris linker (/usr/ccs/bin/ld) despite every effort to the contrary, and this of course causes errors. The following were my failed efforts to redirect it to the Gnu Linker (/opt/sfw/bin/gld): a) Providing explicit command line direction to configure. /export/home/tools/gcc/gcc-4.0.4/configure --with-gnu-ld --with-gnu-as --with-as=/opt/sfw/bin/as --with-ld=/opt/sfw/bin/ld b) Provide links in the object directory attempting to redirect it: ln -s /opt/sfw/bin/gld ld c) Provide links in the executable directory attempting to redirect it: ln -s gld ld d) Reordering the path so that the Gnu Tools would appear first. e) Removing the Solaris Linker from the path. Issue 2) Same as Issue 1 except for the Gnu assembler (/opt/sfw/bin/gas). Issue 3) After unzipping and untarring release gcc-4.1.2 I changed the owner (chown) and file mode (chmod) to values compatible with my environment. This caused build errors with make complaining of files being touched or changes which required a call to makeinfo, and a further complaint that makeinfo was missing. A subsequent test of makeinfo --version in the same shell as the attempted build indicated that makeinfo was present. Issue 4) What's In A Name? Or what the hell should we name it? When I down load and install various releases of GNU Bintools a tool like GNU Make is sometimes called gmake and sometimes called make. This causes confusion and thus errors in that the Gcc build scripts use make. I would suggest standardizing on the names to prevent confusion. To this end I would suggest that GNU Make always, always, always be called gmake and when you want to use GNU Make in your project that you type gmake. Issue 5) The build process is way to complicated for the average user to negotiate successfully. The user interface should be simplified to the following for a native compiler: ./configure gmake gmake install - A listing or the commands used in the various build attempts: ; ; Gcc Build gcc-3.4.6 ; ; Use gmake gls, gas - required! ; Using csh ; Changed $path in /root/.cshrc to put /opt/sfw/bin first to pick up ; GNU Tools first. cd /export/home/tools/gcc gunzip gcc-3.4.6.tar.gz tar -xvif gcc-3.4.6.tar ; -i -> Ignore directory checksum errors. mkdir gcc-3.4.6-obj chmod 777 gcc-3.4.6-obj cd gcc-3.4.6-obj ln -s /opt/sfw/bin/gmake make ln -s /opt/sfw/bin/gld ld ln -s /opt/sfw/bin/gas as /export/home/tools/gcc/gcc-3.4.6/configure --with-gnu-ld --with-gnu-as --with-as=/opt/sfw/bin/as --with-ld=/opt/sfw/bin/ld gmake DESTDIR=/export/home/tools/gcc/gcc-3.4.6-bin install ; ; Gcc Build gcc-4.0.4 ; ; Use gmake gls, gas - required! ; Using csh cd /export/home/tools/gcc gunzip gcc-4.0.4.tar.gz tar -xvif gcc-4.0.4.tar ; -i -> Ignore directory checksum errors. cd gcc-4.0.4-obj ln -s /opt/sfw/bin/gmake make ln -s /opt/sfw/bin/gld ld ln -s /opt/sfw/bin/gas as /export/home/tools/gcc/gcc-4.0.4/configure --with-gnu-ld --with-gnu-as --with-as=/opt/sfw/bin --with-ld=/opt/sfw/bin gmake DESTDIR=/export/home/tools/gcc/gcc-4.0.4-bin install ; ; Gcc Build gcc-4.1.2 ; ; Use gmake gls, gas - required! ; Using csh cd gcc-4.1.2-obj ln -s /opt/sfw/bin/gmake make ln -s /opt/sfw/bin/gld ld ln -s /opt/sfw/bin/gas as /export/home/tools/gcc/gcc-4.1.2/configure --with-gnu-ld --with-gnu-as --with-as=/opt/sfw/bin --with-ld=/opt/sfw/bin gmake DESTDIR=/export/home/tools/gcc/gcc-4.1.2-bin install