I installed gcc version 4.3.0 20070609 but did NOT put it on my path.

I typed: "export CC=/usr/test/bin/gcc" to use the install but off path gcc.

I compiled gcc version 4.3.0 20070613 and everything was fine until here:

/usr/test/bin/gcc -c -g -fkeep-inline-functions      -gnatpg -gnata -nostdinc
-I- -I. -Iada -I/root/downloads/gcc-4_3-trunk/gcc/ada
/root/downloads/gcc-4_3-trunk/gcc/ada/back_end.adb -o ada/back_end.o
/usr/test/bin/gcc -c -g -fkeep-inline-functions      -gnatpg -gnata -nostdinc
-I- -I. -Iada -I/root/downloads/gcc-4_3-trunk/gcc/ada
/root/downloads/gcc-4_3-trunk/gcc/ada/gnat1drv.adb -o ada/gnat1drv.o
gnatbind -C -nostdinc -I- -I. -Iada -I/root/downloads/gcc-4_3-trunk/gcc/ada -o
ada/b_gnat1.c -n ada/gnat1drv.ali
fatal error: file gnat1drv.ali is incorrectly formatted
make sure you are using consistent versions of gcc/gnatbind
12.  R
nnnnnnnvnnnnnnnvvnvnnnnvnnnnnnnnnnnnnvnvnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
                                                                              
|
make[3]: *** [ada/b_gnat1.c] Error 4
make[3]: Leaving directory `/opt/gcc-4_3-build-libcrlibm/gcc'
make[2]: *** [all-stage1-gcc] Error 2
make[2]: Leaving directory `/opt/gcc-4_3-build-libcrlibm'
make[1]: *** [stage1-bubble] Error 2
make[1]: Leaving directory `/opt/gcc-4_3-build-libcrlibm'
make: *** [all] Error 2


# head -1 /opt/gcc-4_3-build-libcrlibm/gcc/ada/gnat1drv.ali 
V "GNAT Lib v4.3"

# gnatbind -v | head -2
GNATBIND 4.2.0 20070501 (prerelease)



My complaint is this: 

1): Since I am using "/usr/test/bin/gcc" why can't gcc simply call
"/usr/test/bin/gnatbind" instead of "gnatbind" (that searches the OS path).

2): The main configure script _does_ seem to look at environment variables for
GNATBIND and GNATMAKE but typing "configure --help" does not show this feature
- though "--help" mentions near every other environment variable supported.

3): You can't simply toss a "GNATBIND=/usr/test/bin/gnatbind" line at the top
of the offending Makefile when the build break as shown above.


If anyone else gets stuck like this you can put your un-pathed gcc 4.3.0
directory at the head of an "export PATH=..." statement (making it pathed) and
then type "make". Ada will now build successfully - since the 'un-pathed'
gnatbind is fetched from the first path in your "export PATH=..." statement.


Gcc should use it's own path (argv[0]) and any "-B"'s to look for any drivers
it calls (cc1, f77, pascal, gnat etc.).


Surely it is wrong to call gnatbind "bare-pathed". What if your PATH
environment was "PATH=/dir1:/dir2:/dir3" and you wanted to use
/dir3/bin/gcc-3.4 to compile an Ada file - would you rather hope to find
something in /dir3/bin instead of looking in /dir1 and then /dir2 first for
gnatbind ?


Which leavs another issue. If we use "/dir3/bin/gcc-3.4" would we want to use
"/dir3/bin/gnatbind-3.4" prior to looking for "/dir3/bin/gnatbind".


-- 
           Summary: Ada gnatbind should utilize gcc's path and also check "-
                    B" path
           Product: gcc
           Version: 4.3.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: ada
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: rob1weld at aol dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32333

Reply via email to