More Problems Installing egcs-19981012 on AIX

Joerg Pietschmann joerg_pietschmann@zkb.ch
Tue Oct 20 03:25:00 GMT 1998


Hi,

Some more problems while trying installing egcs-19981012 on
powerpc-ibm-aix4.2.1.0. Sorry for lumping them all toghether
in one mail.

I configured and build egcs using the native tools, GNU make 3.76 and the
following commands:

t384@husky:...gcs-19981012>CC=xlc ./configure --prefix=/home/lis5p/t384/gnu
--enable-shared
t384@husky:...gcs-19981012>make bootstrap LANGUAGES='c c++' 2>&1 |tee
../make.log 


1. Minor nitpick: a first attempt to run confiure resulted in

/bin/ksh: gcc: 0403-006 Execute permission denied.

Most probably configure found the `gcc' subdirectory and couldn't cope with this
error (i have `.' in my PATH. However, i can't reproduce this any longer.

2. Linker warning in gcc/cp:

stage1/xgcc -Bstage1/  -DIN_GCC    -W -Wall -O2 -O2  -Wl,-bbigtoc -o ../cc1plus
\
      call.o decl.o [more objects snipped] -lld
ld: 0711-783 WARNING: TOC overflow. TOC size: 70332     Maximum size: 65536
        Extra instructions are being generated for each reference to a TOC
        symbol if the symbol is in the TOC overflow area.

3. Another linker warning (real fun!) in powerpc-ibm-aix4.2.1.0/libstdc++ :
mv tlist piclist
/home/lis5p/t384/gnu/unpack/egcs-19981012/gcc/xgcc
-B/home/lis5p/t384/gnu/unpack/egcs-19981012/gcc/ -O2 -fno-implicit-templates
-Wl,-unix -shared -o libstdc++.so.2.9.0 `cat piclist` -lm
ld: 0711-301 WARNING: Symbol specified with the -u flag not defined: nix
rm -f libstdc++.a
ln -s libstdc++.so.2.9.0 libstdc++.a

Apparently, IBM still insists that AIX!=unix :)

4. Now the annoying problem:

Configuring in powerpc-ibm-aix4.2.1.0/libf2c
[snip]
Building symlink tree in
/home/lis5p/t384/gnu/unpack/egcs-19981012/powerpc-ibm-aix4.2.1.0/soft-float/libf2c
[snip building links]
creating cache ./config.cache
checking for gcc... /home/lis5p/t384/gnu/unpack/egcs-19981012/gcc/xgcc
-B/home/lis5p/t384/gnu/unpack/egcs-19981012/gcc/
checking whether the C compiler ([some path]/xgcc -B[some path]/ -O2 ) works...
yes
checking whether the C compiler ([some path]/xgcc -B[some path]/ -O2 ) is a
cross-compiler... no
checking whether we are using GNU C... yes
checking whether [some path]/xgcc -B[some path]/ accepts -g... yes
configure: error: can not find install-sh or install.sh in . ./.. ./../..
make[1]: *** [configure-target-libf2c] Error 1
make[1]: Leaving directory
`/tmp_mnt/apximport/f1/home/lis5p/t384/gnu/unpack/egcs-19981012'
make: *** [bootstrap] Error 2

Indeed the directory is one level deeper, install-sh is in ./../../..
However, i don't know why libf2c should be built when i want only the C and C++
compiler. This is a real waste of time.

5. Native compiler warning in gcc directory

xlc -c  -DIN_GCC    -g   -DHAVE_CONFIG_H -DHAIFA    -I. -I. -I./config
-I./../include mbchar.c
"mbchar.c", line 1: 1506-356 (W) Compilation unit is empty.

I know that can be safely ignored.

6. Yet another native compiler warning in the gcc directory

xlc -c  -DIN_GCC    -g   -DHAVE_CONFIG_H -DHAIFA    -I. -I. -I./config
-I./../include expmed.c
"expmed.c", line 2544.25: 1506-280 (E) Function argument assignment between
types "int*" and "unsigned int*" is not allowed.
[more of the same follow]

Indeed, that's a call to `div_and_round_double', in the prototype the paramers
are of type HOST_WIDE_INT*, while the actual arguments which adresses are taken
are declared `unsigned HOST_WIDE_INT'. Gcc tolerates this (not even a warning
despite -W -Wall). I'm not sure what the C standard says about this, in C++ it
would certainly be an error. Perhaps xlc is operating in C++ mode here
(suggested
by the following warning)...

7. Native compiler warning in gcc directory

xlc -c  -DIN_GCC    -g   -DHAVE_CONFIG_H -DHAIFA    -I. -I. -I./config
-I./../include explow.c
"explow.c", line 889.13: 1506-068 (E) Operation between types "struct
rtx_def*(*)(struct rtx_def*,struct rtx_def*)" and "struct rtx_def*(*)(void)" is
not allowed.

I thought at first there has been problems with the `PROTO' macro, but all
prototypes and declarations involved appear to be properly formed in the
preprocessor output. Probably an entry for the xlc buglist...

8. Nitpicks: the `PROTO' macro is defined in both `gansidecl.h' and
`hash.h'. The `PARAMS' macro is defined as alias to `PROTO' in `hash.h',
`demangle.h' and `cpplib.h'.

9. Native compiler warning in texinfo/makeinfo

make[3]: Entering directory
`/tmp_mnt/apximport/f1/home/lis5p/t384/gnu/unpack/egcs-19981012/texinfo/makeinfo'
xlc -DHAVE_CONFIG_H -I. -I. -I.. -I../lib -I../intl
-DLOCALEDIR=\"/home/lis5p/t384/gnu/share/locale\"  -O2 -c makeinfo.c
"makeinfo.c", line 8223.46: 1506-280 (E) Function argument assignment between
types "int(*)(const void*,const void*)" and "int(*)()" is not allowed.

Probably the same category as above, i havn't checked.
However, i had expected that texinfo would be build after the compiler, using
xgcc.

10. Native compiler warning in gcc directory

xlc -c  -DIN_GCC    -g   -DHAVE_CONFIG_H -DHAIFA    -I. -I. -I./config
-I./../include reload1.c
"reload1.c", line 548.9: 1506-068 (E) Operation between types "struct
insn_chain*" and "char*" is not allowed.

This one beats me.

11. Native compiler warning in gcc directory

xlc -c  -DIN_GCC    -g   -DHAVE_CONFIG_H -DHAIFA    -I. -I. -I./config
-I./../include ./genopinit.c
"./genopinit.c", line 67.3: 1506-235 (W) Incorrect escape sequence \%.  \
ignored.
[lots more of this kind]

Should i suggest either to double or to omit the backslash?

11. Even more native compiler warning about char/unsigned char
incompatiblities in gcc directory, just in case somebody cares:

xlc -c  -DIN_GCC    -g   -DHAVE_CONFIG_H -DHAIFA    -I. -I. -I./config
-I./../include ./gen-protos.c
"./gen-protos.c", line 53.14: 1506-280 (E) Function argument assignment between
types "const unsigned char*" and "char*" is not allowed.
[uninteresting output snipped]
xlc -c  -DIN_GCC    -g   -DHAVE_CONFIG_H -DHAIFA    -I. -I. -I./config
-I./../include ./fix-header.c
"./fix-header.c", line 391.18: 1506-280 (E) Function argument assignment between
types "const unsigned char*" and "const char*" is not allowed.
"./fix-header.c", line 614.30: 1506-280 (E) Function argument assignment between
types "const unsigned char*" and "const char*" is not allowed.
"./fix-header.c", line 664.38: 1506-280 (E) Function argument assignment between
types "unsigned char*" and "char*" is not allowed.
"./fix-header.c", line 682.58: 1506-280 (E) Function argument assignment between
types "const char*" and "unsigned char*" is not allowed.
xlc -c  -DIN_GCC    -g   -DHAVE_CONFIG_H -DHAIFA    -I. -I. -I./config
-I./../include ./scan-decls.c
"./scan-decls.c", line 154.56: 1506-280 (E) Function argument assignment between
types "char*" and "unsigned char*" is not allowed.
"./scan-decls.c", line 159.41: 1506-280 (E) Function argument assignment between
types "char*" and "unsigned char*" is not allowed.
"./scan-decls.c", line 184.54: 1506-280 (E) Function argument assignment between
types "char*" and "unsigned char*" is not allowed.
"./scan-decls.c", line 202.28: 1506-280 (E) Function argument assignment between
types "const char*" and "unsigned char*" is not allowed.
"./scan-decls.c", line 207.28: 1506-280 (E) Function argument assignment between
types "const char*" and "unsigned char*" is not allowed.
"./scan-decls.c", line 213.35: 1506-280 (E) Function argument assignment between
types "const char*" and "unsigned char*" is not allowed.
[more uninteresting output snipped]
xlc  -DIN_GCC    -g   -DHAVE_CONFIG_H -DHAIFA    -I. -I. -I./config
-I./../include \
  [defines snipped]
  -c `echo ./cpplib.c | sed 's,^\./,,'`
"cpplib.c", line 540.28: 1506-280 (E) Function argument assignment between types
"const char*" and "unsigned char*" is not allowed.
"cpplib.c", line 552.44: 1506-280 (E) Function argument assignment between types
"const char*" and "unsigned char*" is not allowed.
"cpplib.c", line 553.16: 1506-280 (E) Function argument assignment between types
"char*" and "unsigned char*" is not allowed.
"cpplib.c", line 553.21: 1506-280 (E) Function argument assignment between types
"const char*" and "unsigned char*" is not allowed.
"cpplib.c", line 569.46: 1506-280 (E) Function argument assignment between types
"const char*" and "unsigned char*" is not allowed.
"cpplib.c", line 584.36: 1506-280 (E) Function argument assignment between types
"const char*" and "unsigned char*" is not allowed.
"cpplib.c", line 585.25: 1506-280 (E) Function argument assignment between types
"const char*" and "unsigned char*" is not allowed.
"cpplib.c", line 611.44: 1506-280 (E) Function argument assignment between types
"const char*" and "unsigned char*" is not allowed.
"cpplib.c", line 1052.59: 1506-280 (E) Function argument assignment between
types "const char*" and "unsigned char*" is not allowed.
"cpplib.c", line 1352.30: 1506-280 (E) Function argument assignment between
types "const char*" and "unsigned char*" is not allowed.
"cpplib.c", line 1352.38: 1506-280 (E) Function argument assignment between
types "const char*" and "unsigned char*" is not allowed.
"cpplib.c", line 1516.41: 1506-280 (E) Function argument assignment between
types "const char*" and "unsigned char*" is not allowed.
"cpplib.c", line 1544.31: 1506-280 (E) Function argument assignment between
types "const char*" and "unsigned char*" is not allowed.
"cpplib.c", line 1544.44: 1506-280 (E) Function argument assignment between
types "const char*" and "unsigned char*" is not allowed.
"cpplib.c", line 1548.31: 1506-280 (E) Function argument assignment between
types "char*" and "unsigned char*" is not allowed.
"cpplib.c", line 1548.41: 1506-280 (E) Function argument assignment between
types "const char*" and "unsigned char*" is not allowed.
"cpplib.c", line 1652.20: 1506-280 (E) Function argument assignment between
types "const char*" and "unsigned char*" is not allowed.
"cpplib.c", line 1677.51: 1506-280 (E) Function argument assignment between
types "const char*" and "unsigned char*" is not allowed.
"cpplib.c", line 1677.55: 1506-280 (E) Function argument assignment between
types "const char*" and "unsigned char*" is not allowed.
"cpplib.c", line 1787.31: 1506-280 (E) Function argument assignment between
types "const char*" and "unsigned char*" is not allowed.
"cpplib.c", line 2109.38: 1506-280 (E) Function argument assignment between
types "const char*" and "unsigned char*" is not allowed.
"cpplib.c", line 3264.21: 1506-280 (E) Function argument assignment between
types "const char*" and "unsigned char*" is not allowed.
"cpplib.c", line 3291.23: 1506-280 (E) Function argument assignment between
types "const char*" and "unsigned char*" is not allowed.
"cpplib.c", line 3332.23: 1506-280 (E) Function argument assignment between
types "const char*" and "unsigned char*" is not allowed.
"cpplib.c", line 3611.49: 1506-280 (E) Function argument assignment between
types "const char*" and "unsigned char*" is not allowed.
"cpplib.c", line 3611.57: 1506-280 (E) Function argument assignment between
types "const char*" and "unsigned char*" is not allowed.
"cpplib.c", line 3792.40: 1506-280 (E) Function argument assignment between
types "const char*" and "unsigned char*" is not allowed.
"cpplib.c", line 3975.17: 1506-280 (E) Function argument assignment between
types "const char*" and "unsigned char*" is not allowed.
"cpplib.c", line 3983.17: 1506-280 (E) Function argument assignment between
types "const char*" and "unsigned char*" is not allowed.
"cpplib.c", line 3994.27: 1506-280 (E) Function argument assignment between
types "const char*" and "unsigned char*" is not allowed.
"cpplib.c", line 3995.49: 1506-280 (E) Function argument assignment between
types "const char*" and "unsigned char*" is not allowed.
"cpplib.c", line 4000.34: 1506-280 (E) Function argument assignment between
types "const char*" and "unsigned char*" is not allowed.
"cpplib.c", line 4000.45: 1506-280 (E) Function argument assignment between
types "const char*" and "unsigned char*" is not allowed.
"cpplib.c", line 4326.27: 1506-280 (E) Function argument assignment between
types "const char*" and "unsigned char*" is not allowed.
"cpplib.c", line 5618.30: 1506-280 (E) Function argument assignment between
types "char*" and "unsigned char*" is not allowed.
"cpplib.c", line 5637.33: 1506-280 (E) Function argument assignment between
types "char*" and "unsigned char*" is not allowed.
"cpplib.c", line 5765.28: 1506-280 (E) Function argument assignment between
types "unsigned char*" and "char*" is not allowed.
"cpplib.c", line 5807.38: 1506-280 (E) Function argument assignment between
types "unsigned char*" and "char*" is not allowed.
"cpplib.c", line 5833.42: 1506-280 (E) Function argument assignment between
types "unsigned char*" and "char*" is not allowed.
"cpplib.c", line 5833.59: 1506-280 (E) Function argument assignment between
types "unsigned char*" and "char*" is not allowed.
"cpplib.c", line 5838.38: 1506-280 (E) Function argument assignment between
types "unsigned char*" and "char*" is not allowed.
"cpplib.c", line 5841.48: 1506-280 (E) Function argument assignment between
types "unsigned char*" and "char*" is not allowed.
"cpplib.c", line 7004.41: 1506-280 (E) Function argument assignment between
types "const char*" and "unsigned char*" is not allowed.
"cpplib.c", line 7167.20: 1506-280 (E) Function argument assignment between
types "const char*" and "unsigned char*" is not allowed.
"cpplib.c", line 7167.30: 1506-280 (E) Function argument assignment between
types "const char*" and "unsigned char*" is not allowed.

More to come ;).

Regards

J.Pietschmann

-- 

----------------------------------------------------------------------
Zuercher Kantonalbank ZKB        Internet : joerg.pietschmann@zkb.ch
Neue Hard 9                      Telefon  : ++41 01-275 85 03 
Postfach                         Fax      : ++41 01-275 80 34
CH-8010 Zuerich
----------------------------------------------------------------------



More information about the Gcc-bugs mailing list