bebbo / libnix

libnix (v4): a C link library for AmigaOS/m68k
14 stars 9 forks source link

libnix doesn't build in gcc 13.1 branch #74

Closed arczi84 closed 1 month ago

arczi84 commented 7 months ago

Command used:

sudo mkdir -p /opt/amiga13
sudo chown $USER /opt/amiga13
git clone https://github.com/bebbo/amiga-gcc
cd amiga-gcc
export PREFIX=/opt/amiga13
make branch branch=amiga13.1 mod=gcc
make all -j20

Error:

make libnix...
make libnix...failed
/mnt/d/dev/amiga-gcc13/amiga-gcc/projects/libnix/sources/nix20/stdlib/putenv.c
/mnt/d/dev/amiga-gcc13/amiga-gcc/projects/libnix/sources/nix20/stdlib/unsetenv.c
/mnt/d/dev/amiga-gcc13/amiga-gcc/projects/libnix/sources/socket/socket/addrinfo.c: In function 'freeaddrinfo':
/mnt/d/dev/amiga-gcc13/amiga-gcc/projects/libnix/sources/nix/string/wcschr.c:3:10: error: conflicting types for 'wcschr'; have 'wchar_t *(const wchar_t *, int)' {aka 'long int *(const long int *, int)'}
    3 | wchar_t *wcschr(const wchar_t *s,int c)
      |          ^~~~~~
In file included from /mnt/d/dev/amiga-gcc13/amiga-gcc/projects/libnix/sources/nix/string/wcschr.c:1:
/opt/amiga13/m68k-amigaos/sys-include/wchar.h:122:26: note: previous declaration of 'wcschr' with type 'wchar_t *(const wchar_t *, wchar_t)' {aka 'long int *(const long int *, long int)'}
  122 | __stdargs wchar_t       *wcschr (const wchar_t *, wchar_t);
      |                          ^~~~~~
/mnt/d/dev/amiga-gcc13/amiga-gcc/projects/libnix/sources/nix/string/wcschr.c: In function 'wcschr':
/mnt/d/dev/amiga-gcc13/amiga-gcc/projects/libnix/sources/socket/socket/addrinfo.c:14:9: warning: implicit declaration of function '__freeaddrinfo'; did you mean 'freeaddrinfo'? [-Wimplicit-function-declaration]
   14 |         __freeaddrinfo(ai);
      |         ^~~~~~~~~~~~~~
      |         freeaddrinfo
/mnt/d/dev/amiga-gcc13/amiga-gcc/projects/libnix/sources/nix/string/wcschr.c:8:10: warning: returning 'char *' from a function with incompatible return type 'wchar_t *' {aka 'long int *'} [-Wincompatible-pointer-types]
    8 |   return (char *)s;
      |          ^~~~~~~~~
/mnt/d/dev/amiga-gcc13/amiga-gcc/projects/libnix/sources/socket/socket/addrinfo.c: In function 'getaddrinfo':
/mnt/d/dev/amiga-gcc13/amiga-gcc/projects/libnix/sources/socket/socket/addrinfo.c:21:16: warning: implicit declaration of function '__getaddrinfo'; did you mean 'getaddrinfo'? [-Wimplicit-function-declaration]
   21 |         return __getaddrinfo(nodename, servname, hints, res);
      |                ^~~~~~~~~~~~~
      |                getaddrinfo
/mnt/d/dev/amiga-gcc13/amiga-gcc/projects/libnix/sources/socket/socket/addrinfo.c: In function 'getnameinfo':
/mnt/d/dev/amiga-gcc13/amiga-gcc/projects/libnix/sources/socket/socket/addrinfo.c:27:16: warning: implicit declaration of function '__getnameinfo'; did you mean 'getnameinfo'? [-Wimplicit-function-declaration]
   27 |         return __getnameinfo(addr, addrlen, (STRPTR)host, hostlen, (STRPTR)serv, servlen, flags);
      |                ^~~~~~~~~~~~~
      |                getnameinfo
/mnt/d/dev/amiga-gcc13/amiga-gcc/projects/libnix/sources/socket/socket/addrinfo.c: In function 'gai_strerror':
/mnt/d/dev/amiga-gcc13/amiga-gcc/projects/libnix/sources/socket/socket/addrinfo.c:31:16: warning: implicit declaration of function '__gai_strerror'; did you mean 'gai_strerror'? [-Wimplicit-function-declaration]
   31 |         return __gai_strerror(ecode);
      |                ^~~~~~~~~~~~~~
      |                gai_strerror
/mnt/d/dev/amiga-gcc13/amiga-gcc/projects/libnix/sources/socket/socket/addrinfo.c:31:16: warning: returning 'int' from a function with return type 'const char *' makes pointer from integer without a cast [-Wint-conversion]
   31 |         return __gai_strerror(ecode);
      |                ^~~~~~~~~~~~~~~~~~~~~
make[3]: Leaving directory '/mnt/d/dev/amiga-gcc13/amiga-gcc/build-Linux-m68k-amigaos/libnix/libm060'
make -C libm020bb881 rest libnix13.a lib=nix13
make[3]: Entering directory '/mnt/d/dev/amiga-gcc13/amiga-gcc/build-Linux-m68k-amigaos/libnix/libm020bb881'
/mnt/d/dev/amiga-gcc13/amiga-gcc/projects/libnix/sources/nix/string/wcschr.c:3:10: error: conflicting types for 'wcschr'; have 'wchar_t *(const wchar_t *, int)' {aka 'long int *(const long int *, int)'}
    3 | wchar_t *wcschr(const wchar_t *s,int c)
      |          ^~~~~~
In file included from /mnt/d/dev/amiga-gcc13/amiga-gcc/projects/libnix/sources/nix/string/wcschr.c:1:
/opt/amiga13/m68k-amigaos/sys-include/wchar.h:122:26: note: previous declaration of 'wcschr' with type 'wchar_t *(const wchar_t *, wchar_t)' {aka 'long int *(const long int *, long int)'}
  122 | __stdargs wchar_t       *wcschr (const wchar_t *, wchar_t);
      |                          ^~~~~~
/mnt/d/dev/amiga-gcc13/amiga-gcc/projects/libnix/sources/nix/string/wcschr.c: In function 'wcschr':
/mnt/d/dev/amiga-gcc13/amiga-gcc/projects/libnix/sources/nix/string/wcschr.c:8:10: warning: returning 'char *' from a function with incompatible return type 'wchar_t *' {aka 'long int *'} [-Wincompatible-pointer-types]
    8 |   return (char *)s;
      |          ^~~~~~~~~
/mnt/d/dev/amiga-gcc13/amiga-gcc/projects/libnix/sources/nix/string/wcsrchr.c:4:10: error: conflicting types for 'wcsrchr'; have 'wchar_t *(const wchar_t *, int)' {aka 'long int *(const long int *, int)'}
    4 | wchar_t *wcsrchr(const wchar_t *s,int c)
      |          ^~~~~~~
In file included from /mnt/d/dev/amiga-gcc13/amiga-gcc/projects/libnix/sources/nix/string/wcsrchr.c:1:
/opt/amiga13/m68k-amigaos/sys-include/wchar.h:156:26: note: previous declaration of 'wcsrchr' with type 'wchar_t *(const wchar_t *, wchar_t)' {aka 'long int *(const long int *, long int)'}
  156 | __stdargs wchar_t       *wcsrchr (const wchar_t *, wchar_t);
      |                          ^~~~~~~
make[3]: Nothing to be done for 'rest'.
/mnt/d/dev/amiga-gcc13/amiga-gcc/projects/libnix/sources/nix/string/wcsrchr.c:4:10: error: conflicting types for 'wcsrchr'; have 'wchar_t *(const wchar_t *, int)' {aka 'long int *(const long int *, int)'}
    4 | wchar_t *wcsrchr(const wchar_t *s,int c)
      |          ^~~~~~~
In file included from /mnt/d/dev/amiga-gcc13/amiga-gcc/projects/libnix/sources/nix/string/wcsrchr.c:1:
/opt/amiga13/m68k-amigaos/sys-include/wchar.h:156:26: note: previous declaration of 'wcsrchr' with type 'wchar_t *(const wchar_t *, wchar_t)' {aka 'long int *(const long int *, long int)'}
  156 | __stdargs wchar_t       *wcsrchr (const wchar_t *, wchar_t);
      |                          ^~~~~~~
compiling for libm020bb881/libnix13.a using m68k-amigaos-gcc -c -O2 -fomit-frame-pointer -I/mnt/d/dev/amiga-gcc13/amiga-gcc/projects/libnix/sources/headers -fno-builtin -ffast-math -D__libnix__ -mcrt=nix13 -fbaserel -m68020 -m68881 -mhard-float
/mnt/d/dev/amiga-gcc13/amiga-gcc/projects/libnix/sources/nix/string/wcsrchr.c:4:10: error: conflicting types for 'wcsrchr'; have 'wchar_t *(const wchar_t *, int)' {aka 'long int *(const long int *, int)'}
    4 | wchar_t *wcsrchr(const wchar_t *s,int c)
      |          ^~~~~~~
In file included from /mnt/d/dev/amiga-gcc13/amiga-gcc/projects/libnix/sources/nix/string/wcsrchr.c:1:
/opt/amiga13/m68k-amigaos/sys-include/wchar.h:156:26: note: previous declaration of 'wcsrchr' with type 'wchar_t *(const wchar_t *, wchar_t)' {aka 'long int *(const long int *, long int)'}
  156 | __stdargs wchar_t       *wcsrchr (const wchar_t *, wchar_t);
      |                          ^~~~~~~
make[3]: Leaving directory '/mnt/d/dev/amiga-gcc13/amiga-gcc/build-Linux-m68k-amigaos/libnix/libm060bb'
make -C libm020bb rest libnix20.a lib=nix20
make[3]: Entering directory '/mnt/d/dev/amiga-gcc13/amiga-gcc/build-Linux-m68k-amigaos/libnix/libm020bb'
make[3]: Nothing to be done for 'rest'.
m68k-amigaos-gcc -c -O2 -fomit-frame-pointer -I/mnt/d/dev/amiga-gcc13/amiga-gcc/projects/libnix/sources/headers -fno-builtin -ffast-math -D__libnix__ -mcrt=nix13 -fbaserel -m68020 -m68881 -mhard-float /mnt/d/dev/amiga-gcc13/amiga-gcc/projects/libnix/sources/nix13/extra/allocdosobject.c
/mnt/d/dev/amiga-gcc13/amiga-gcc/projects/libnix/sources/nix13/extra/allocvec.c
/mnt/d/dev/amiga-gcc13/amiga-gcc/projects/libnix/sources/nix13/extra/fstat13.c
/mnt/d/dev/amiga-gcc13/amiga-gcc/projects/libnix/sources/nix13/extra/newlist.c
/mnt/d/dev/amiga-gcc13/amiga-gcc/projects/libnix/sources/nix13/extra/prgname.c
/mnt/d/dev/amiga-gcc13/amiga-gcc/projects/libnix/sources/nix13/extra/stricmp.c
/mnt/d/dev/amiga-gcc13/amiga-gcc/projects/libnix/sources/nix13/extra/strnicmp.c
/mnt/d/dev/amiga-gcc13/amiga-gcc/projects/libnix/sources/nix13/extra/__oslibversion.c
/mnt/d/dev/amiga-gcc13/amiga-gcc/projects/libnix/sources/nix13/math/__divsi3.c
/mnt/d/dev/amiga-gcc13/amiga-gcc/projects/libnix/sources/nix13/math/__mulsi3.c
/mnt/d/dev/amiga-gcc13/amiga-gcc/projects/libnix/sources/nix13/math/__udivsi3.c
/mnt/d/dev/amiga-gcc13/amiga-gcc/projects/libnix/sources/nix13/stdlib/environ.c
/mnt/d/dev/amiga-gcc13/amiga-gcc/projects/libnix/sources/amiga/misc/ArgArray.c
/mnt/d/dev/amiga-gcc13/amiga-gcc/projects/libnix/sources/nix/string/strcoll.c
/mnt/d/dev/amiga-gcc13/amiga-gcc/projects/libnix/sources/nix/string/strxfrm.c
/mnt/d/dev/amiga-gcc13/amiga-gcc/projects/libnix/sources/nix20/misc/__nocommandline.c
/mnt/d/dev/amiga-gcc13/amiga-gcc/projects/libnix/sources/nix20/extra/system.c
/mnt/d/dev/amiga-gcc13/amiga-gcc/projects/libnix/sources/nix20/stdio/dirent.c
/mnt/d/dev/amiga-gcc13/amiga-gcc/projects/libnix/sources/nix20/stdio/__initstdio.c
/mnt/d/dev/amiga-gcc13/amiga-gcc/projects/libnix/sources/nix20/extra/strftime.c
/mnt/d/dev/amiga-gcc13/amiga-gcc/projects/libnix/sources/nix20/stdio/stat.c
/mnt/d/dev/amiga-gcc13/amiga-gcc/projects/libnix/sources/nix20/extra/utimes.c
make[3]: *** [3:241: libnix.a] Error 1