Subject: pkg/16587: pkgsrc/devel/doc++ fails to compile on -current
To: None <gnats-bugs@gnats.netbsd.org>
From: Jan Schaumann <jschauma@dab.cs.stevens-tech.edu>
List: netbsd-bugs
Date: 04/30/2002 10:32:41
>Number:         16587
>Category:       pkg
>Synopsis:       pkgsrc/devel/doc++ fails to compile on -current
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Apr 30 07:33:01 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator:     Jan Schaumann (jschauma@netbsd.org)
>Release:        NetBSD 1.5ZC
>Organization:
	
>Environment:
	
	
System: NetBSD dab.cs.stevens-tech.edu 1.5ZC NetBSD 1.5ZC (BOCK) #0: Thu Apr 18 10:55:09 EDT 2002 jschauma@dab:/usr/src/sys/arch/i386/compile/BOCK i386
Architecture: i386
Machine: i386
>Description:
	
	I've been trying to build doc++ from pkgsrc on -current (20020410), but
it fails with the following error:  
 
===> Building for doc++-3.3.13
Making all in src
make: "/usr/pkgsrc/devel/doc++/work/doc++-3.3.13/src/Makefile" line 313:
warning: duplicate script for target "%.o" ignored
[...]  
[ a whole bunch more of these ] 
[...]  
c++ -DHAVE_CONFIG_H -I. -I. -I.      -c Entry.cc
In file included from doc.h:32, 
                 from Entry.cc:29:  
McString.h: In method `int McString::operator ==(char *)': 
McString.h:88: warning: choosing `McDArray<char>::operator char *()'
over `McDArray<char>::operator const char *() const'
McString.h:88: warning:   for conversion from `McString' to `const char
*'
McString.h:88: warning:   because conversion sequence for the argument
is better
[...]  
[ a whole bunch more of those ] 
[...]  
Entry.cc: At top level:
Entry.cc:844: variable-size type declared outside of any function
Entry.cc:845: variable-size type declared outside of any function
*** Error code 1

But on 1.5.2, identical package, it compiles without a problem.


>How-To-Repeat:
	cd /usr/pkgsrc/devel/doc++
	make
>Fix:
	Johnny lam (jlam) suggested to (a) add "USE_GMAKE= yes" to prevent
	the first few make-warnings and that (b) the problem may be the
	stricter C++ compiler that comes with gcc-2.95.3 that is shipped
	with -current.  Therefore, the code would need to be cleaned up
	to be more ISO C++ compliant.
>Release-Note:
>Audit-Trail:
>Unformatted:
 	20010410