pkgsrc-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
pkg/25878: error on build of cdrdao 1.1.8
>Number: 25878
>Category: pkg
>Synopsis: error on build of cdrdao 1.1.8
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: pkg-manager
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Tue Jun 08 20:18:00 UTC 2004
>Closed-Date:
>Last-Modified:
>Originator: Ole
>Release: NetBSD 2.0F
>Organization:
Home user
>Environment:
NetBSD amd64.oxen 2.0F NetBSD 2.0F (GENERIC) #0: Sat Jun 5 16:32:40 CEST 2004
ole%amd64.oxen@localhost:/src/sys/arch/amd64/compile/GENERIC amd64
>Description:
During "make" it stops with the following error message:
g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/pkg/include/pccts -I/usr/pkg/include
-O2 -I/usr/pkg/include -c -o lec.o `test -f 'lec.cc' || echo './'`lec.cc
lec.cc: In function `u_int32_t calc_edc(u_int8_t*, int)':
lec.cc:281: error: ISO C++ says that `u_int32_t CrcTable::operator[](int) const
' and `operator[]' are ambiguous even though the worst conversion for the
former is better than the worst conversion for the latter
gmake[2]: *** [lec.o] Error 1
gmake[2]: Leaving directory
`/usr/pkgsrc/sysutils/cdrdao/work/cdrdao-1.1.8/trackdb'
gmake[1]: *** [all-recursive] Error 1
Compiler used :
gcc -v :
Using built-in specs.
Configured with:
/home/nick/work/netbsd/src/tools/gcc/../../gnu/dist/gcc/configure
--enable-long-long --disable-multilib --enable-threads --disable-symvers
--build=i386-unknown-netbsdelf --host=x86_64--netbsd --target=x86_64--netbsd
Thread model: posix
gcc version 3.3.3 (NetBSD nb1 20040301)
>How-To-Repeat:
cd /usr/pkgsrc/sysutils/cdrdao
make
>Fix:
Patch below makes it compile OK
but resulting function of program is not verified.
--- /usr/pkgsrc/sysutils/cdrdao/work/cdrdao-1.1.8/trackdb/lec.cc.orig
2004-06-08 19:35:34.000000000 +0200
+++ /usr/pkgsrc/sysutils/cdrdao/work/cdrdao-1.1.8/trackdb/lec.cc
2004-06-08 19:53:56.000000000 +0200
@@ -276,9 +276,11 @@
static u_int32_t calc_edc(u_int8_t *data, int len)
{
u_int32_t crc = 0;
+ u_int32_t temp_aptr;
while (len--) {
- crc = CRCTABLE[(crc ^ *data++) & 0xffL] ^ (crc >> 8);
+ temp_aptr = (crc ^ *data++) & 0xffL;
+ crc = CRCTABLE[temp_aptr] ^ (crc >> 8);
}
return crc;
>Release-Note:
>Audit-Trail:
>Unformatted:
Home |
Main Index |
Thread Index |
Old Index