pkgsrc-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
pkg/45278: bootstrap fails in libfetch NetBSD -current (gcc4.5)
>Number: 45278
>Category: pkg
>Synopsis: bootstrap fails in libfetch NetBSD -current (gcc4.5)
>Confidential: no
>Severity: critical
>Priority: high
>Responsible: pkg-manager
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sat Aug 20 10:30:00 +0000 2011
>Originator: Kai-Uwe Eckhardt
>Release: NetBSD -current 5.9.55 i386
>Organization:
>Environment:
>Description:
gcc4.5 has become the default compiler on NetBSD -current. This breaks
the build of libfetch during /pkgsrc/bootstrap:
cc -O2 -I/usr/include -Wall -Wstrict-prototypes -Wmissing-prototypes
-Wpointer-arith -Wno-uninitialized -Wreturn-type -Wcast-qual -Wpointer-arith
-Wwrite-strings -Wswitch -Wshadow -Werror -D_LARGEFILE_SOURCE -D_LARGE_FILES
-D_FILE_OFFSET_BITS=64 -DDEF_UMASK=0022
-I/usr/pkgsrc/bootstrap/work/wrk/pkgtools/pkg_install/work/libfetch
-DHAVE_NBCOMPAT_H=1
-I/usr/pkgsrc/bootstrap/work/wrk/pkgtools/pkg_install/work/libnbcompat
-I/usr/include -I. -D_LARGEFILE_SOURCE -D_LARGE_FILES -DFTP_COMBINE_CWDS -c
ftp.c
cc1: warnings being treated as errors
ftp.c: In function 'ftp_transfer':
ftp.c:917:45: error: array subscript is above array bounds
ftp.c:917:33: error: array subscript is above array bounds
ftp.c:917:21: error: array subscript is above array bounds
ftp.c:917:9: error: array subscript is above array bounds
ftp.c:916:43: error: array subscript is above array bounds
ftp.c:916:31: error: array subscript is above array bounds
ftp.c:916:20: error: array subscript is above array bounds
ftp.c:916:9: error: array subscript is above array bounds
*** Error code 1
>How-To-Repeat:
Do ./bootstrap in /pkgsrc/bootstrap on a recent NetBSD.
>Fix:
bootstrap creates a copy of /pkgsrc/net/libfetch/files/ftp.c which has
code that makes assumptions on the memory layout of a union inside a
struct. Calling the actual union member directly makes it work.
To fix change line 910:
ap = (char *)&u.sin6.sin6_addr;
to
ap = (char *)&u.sin6.sin6_addr.__u6_addr.__u6_addr8;
Home |
Main Index |
Thread Index |
Old Index