Subject: pkg/32965: audio/id3lib fails to build on Solaris with SunStudio 11 compilers
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: None <segv@netctl.net>
List: pkgsrc-bugs
Date: 03/02/2006 11:50:00
>Number: 32965
>Category: pkg
>Synopsis: audio/id3lib fails to build on Solaris with SunStudio 11 compilers
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: pkg-manager
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Thu Mar 02 11:50:00 +0000 2006
>Originator: segv
>Release:
>Organization:
>Environment:
SunOS e450-lan 5.11 snv_28 sun4u sparc SUNW,Ultra-4
>Description:
"tag_file.cpp", line 288: Error: Formal argument s of type char* in call to std::istream::read(char*, long) is being passed unsigned char*.
"tag_file.cpp", line 290: Error: Formal argument s of type const char* in call to std::ostream::write(const char*, long) is being passed unsigned char*.
2 Error(s) and 1 Warning(s) detected.
*** Error code 1
Stop.
bmake: stopped in /opt/pkg.obj/audio/id3lib/work.e450-lan/id3lib-3.8.3/src
*** Error code 1
>How-To-Repeat:
>Fix:
--- id3lib-3.8.3/src/tag_file.cpp.orig Thu Mar 2 11:35:35 2006
+++ id3lib-3.8.3/src/tag_file.cpp Thu Mar 2 11:35:51 2006
@@ -285,9 +285,9 @@
uchar tmpBuffer[BUFSIZ];
while (file)
{
- file.read(tmpBuffer, BUFSIZ);
+ file.read((char *)tmpBuffer, BUFSIZ);
size_t nBytes = file.gcount();
- tmpOut.write(tmpBuffer, nBytes);
+ tmpOut.write((char *)tmpBuffer, nBytes);
}
close(fd); //closes the file