bugmake - Bugs: bug #827, Cannot build on...

 
 

bug #827: Cannot build on hppa2.0w-hp-hpux11.00 with gcc 3.1

Submitted by:  Jérôme Zago <Agt>
Submitted on:  Mon 08 Jul 2002 01:40:14 PM UTC  
 
Severity: 3 - NormalItem Group: Build/Install
Status: FixedPrivacy: Public
Assigned to: Paul D. Smith <psmith>Open/Closed: Closed
Component Version: 3.79.1Operating System: POSIX-Based
Fixed Release: 3.80Triage Status: None

Add a New Comment(Rich Markup)
   

You are not logged in

Please log in, so followups can be emailed to you.

 

Mon 08 Jul 2002 03:32:17 PM UTC, comment #2:

-----
jza@lauhpj7:/users/ie/jza/src/orig/make-3.79.2a1$ CC=~/opt/gcc-3.1/arch/lauhpj7/bin/gcc ./configure
[...]
checking for stdlib.h... yes
[...]
jza@lauhpj7:/users/ie/jza/src/orig/make-3.79.2a1$ make
[...]
make[2]: Leaving directory `/users/ie/jza/src/orig/make-3.79.2a1'
make[1]: Leaving directory `/users/ie/jza/src/orig/make-3.79.2a1'
jza@lauhpj7:/users/ie/jza/src/orig/make-3.79.2a1$ echo $?
0
-----

This alpha release does build on hppa2.0w-hp-hpux11.00 with gcc 3.1. Thanks a lot !

Jérôme Zago <Agt>
Mon 08 Jul 2002 02:15:27 PM UTC, comment #1:

I believe this is a problem with the older versions of autoconf/config.sub/config.guess that are being used with GNU make 3.79.1; on HP it assumed you needed the _STDC_EXT_ macro with the HP header files, but apparently that is either not true, or not true in newer versions.

Anyway, please try my alpha release: it doesn't have most of the new make features that will be available in 3.80, but it does have the new auto-toolization. Let me know if it still breaks on HP.

ftp://alpha.gnu.org/gnu/make/

Hmm, I see there is some kind of problem with that system; keep trying...

Paul D. Smith <psmith>
Project AdministratorIn charge of this item.
Mon 08 Jul 2002 01:40:14 PM UTC, original submission:

-----
lauhpj7$ make distclean; CC=~/opt/gcc-3.1/arch/lauhpj7/bin/gcc ./configure >configure.trace && make
[...]
make all-recursive
make[1]: Entering directory `/users/ie/jza/src/orig/make-3.79.1'
Making all in glob
make[2]: Entering directory `/users/ie/jza/src/orig/make-3.79.1/glob'
/users/ie/jza/opt/gcc-3.1/arch/lauhpj7/bin/gcc -DHAVE_CONFIG_H -I. -I. -I.. -D__STDC_EXT__ -g -O2 -c glob.c
<command line>:1:1: warning: "__STDC_EXT__" redefined
<command line>:1:1: warning: this is the location of the previous definition
In file included from glob.c:813:
glob.c: In function `glob':
glob.c:197: warning: passing arg 0 of `my_realloc' from incompatible pointer type
In file included from glob.c:932:
glob.c:197: warning: passing arg 0 of `my_realloc' from incompatible pointer type
In file included from glob.c:988:
glob.c:197: warning: passing arg 0 of `my_realloc' from incompatible pointer type
In file included from glob.c:1378:
glob.c: In function `glob_in_dir':
glob.c:197: warning: passing arg 0 of `my_realloc' from incompatible pointer type
/users/ie/jza/opt/gcc-3.1/arch/lauhpj7/bin/gcc -DHAVE_CONFIG_H -I. -I. -I.. -D__STDC_EXT__ -g -O2 -c fnmatch.c
<command line>:1:1: warning: "__STDC_EXT__" redefined
<command line>:1:1: warning: this is the location of the previous definition
rm -f libglob.a
ar cru libglob.a glob.o fnmatch.o
ranlib libglob.a
make[2]: Leaving directory `/users/ie/jza/src/orig/make-3.79.1/glob'
Making all in i18n
make[2]: Entering directory `/users/ie/jza/src/orig/make-3.79.1/i18n'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/users/ie/jza/src/orig/make-3.79.1/i18n'
make[2]: Entering directory `/users/ie/jza/src/orig/make-3.79.1'
/users/ie/jza/opt/gcc-3.1/arch/lauhpj7/bin/gcc -DALIASPATH=\"/usr/local/share/locale:.\" -DLOCALEDIR=\"/usr/local/share/locale\" -DLIBDIR=\"/usr/local/lib\" -DINCLUDEDIR=\"/usr/local/include\" -DHAVE_CONFIG_H -I. -I. -I./glob -D__STDC_EXT__ -g -O2 -c ar.c
<command line>:1:1: warning: "__STDC_EXT__" redefined
<command line>:1:1: warning: this is the location of the previous definition
In file included from ar.c:20:
make.h:278: warning: conflicting types for built-in function `bcmp'
make.h:281: warning: conflicting types for built-in function `bzero'
make.h:284: conflicting types for `bcopy'
/usr/include/strings.h:30: previous declaration of `bcopy'
In file included from /users/ie/jza/opt/gcc-3.1/arch/lauhpj7/lib/gcc-lib/hppa2.0w-hp-hpux11.00/3.1/include/wchar.h:50,
from /users/ie/jza/opt/gcc-3.1/arch/lauhpj7/lib/gcc-lib/hppa2.0w-hp-hpux11.00/3.1/include/inttypes.h:518,
from make.h:311,
from ar.c:20:
/users/ie/jza/opt/gcc-3.1/arch/lauhpj7/lib/gcc-lib/hppa2.0w-hp-hpux11.00/3.1/include/stdlib.h:121: conflicting types for `free'
make.h:250: previous declaration of `free'
/users/ie/jza/opt/gcc-3.1/arch/lauhpj7/lib/gcc-lib/hppa2.0w-hp-hpux11.00/3.1/include/stdlib.h:165: conflicting types for `malloc'
make.h:248: previous declaration of `malloc'
/users/ie/jza/opt/gcc-3.1/arch/lauhpj7/lib/gcc-lib/hppa2.0w-hp-hpux11.00/3.1/include/stdlib.h:166: conflicting types for `realloc'
make.h:249: previous declaration of `realloc'
make[2]: *** [ar.o] Error 1
make[2]: Leaving directory `/users/ie/jza/src/orig/make-3.79.1'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/users/ie/jza/src/orig/make-3.79.1'
make: *** [all-recursive-am] Error 2
-----

So there are two different declarations of free(), malloc(), and realloc(). Indeed:

-----
$ grep 'void free' make.h
extern void free PARAMS ((char *));
$ grep 'void free' /users/ie/jza/opt/gcc-3.1/arch/lauhpj7/lib/gcc-lib/hppa2.0w-hp-hpux11.00/3.1/include/stdlib.h
extern void free(void *);
extern void free();
-----

Hmm it seems that free() and others are redeclared only if HAVE_STDLIB_H isn't defined:

-----
$ grep HAVE_STDLIB_H config.h
/* #undef HAVE_STDLIB_H */
$ grep stdlib.h configure.trace
checking for stdlib.h... no
$ wc -l /usr/include/stdlib.h
428
$ cat config.log
[...]
configure:2117: checking for stdlib.h
configure:2127: /users/ie/jza/opt/gcc-3.1/arch/lauhpj7/bin/gcc -E -D__STDC_EXT__
conftest.c >/dev/null 2>conftest.out
<command line>:1:1: warning: "__STDC_EXT__" redefined
<command line>:1:1: warning: this is the location of the previous definition
configure: failed program was:
#line 2122 "configure"
#include "confdefs.h"
#include <stdlib.h>
[...]
-----

Maybe the configure (or gcc) does something wrong.

-----
$ cat conftest.c
#include <stdlib.h>
$ ~/opt/gcc-3.1/arch/lauhpj7/bin/gcc -E conftest.c >/dev/null
$ ~/opt/gcc-3.1/arch/lauhpj7/bin/gcc -D__STDC_EXT__ -E conftest.c >/dev/null
<command line>:1:1: warning: "__STDC_EXT__" redefined
<command line>:1:1: warning: this is the location of the previous definition
-----

I think I've gotten closer to the root of the problem. It's probably either a bug in your configure.in, a bug in gcc 3.1 (after all 'make' builds well with AIX's native compiler) or a bug in autoconf...

Tell me if you need more information or if you have a patch for me to test. Thanks for your time.

Jérôme Zago <Agt>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach File(s):
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

CC list is empty

 

Do you think this task is very important?
If so, you can click here to add your encouragement to it.
This task has 0 encouragements so far.

Only logged-in users can vote.

 

Please enter the title of George Orwell's famous dystopian book (it's a date):

 

 

Follow 6 latest changes.

Date Changed By Updated Field Previous Value => Replaced By
Fri 04 Oct 2002 12:38:25 PM UTCpsmithFixed Release4.0=>(Error - Not Found)
Mon 08 Jul 2002 03:35:02 PM UTCpsmithStatusNone=>(Error - Not Found)
  Assigned toNone=>NA
  Open/ClosedOpen=>(Error - Not Found)
  Fixed ReleaseNone=>(Error - Not Found)
  Closed on-=>-

Back to the top


Powered by Savane 3.1-cleanup1