Package: aplus-fsf
Version: 4.18.8-11
Severity: serious
Tags: patch

aplus-fsf fails to build because some declarations do not have types:

if /bin/sh ../../libtool --mode=compile g++ -DPACKAGE_NAME=\"\" 
-DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" 
-DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"aplus-fsf\" -DVERSION=\"4.18\" 
-DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 
-DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 
-DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DHAVE_STDLIB_H=1 
-DHAVE_UNISTD_H=1 -DHAVE_GETPAGESIZE=1 -DHAVE_MMAP=1 -DRETSIGTYPE=void 
-DHAVE_STRFTIME=1 -DHAVE_UNISTD_H=1 -DHAVE_FORK=1 -DHAVE_VFORK=1 
-DHAVE_WORKING_VFORK=1 -DHAVE_WORKING_FORK=1 -DHAVE_VPRINTF=1 -DHAVE_GETCWD=1 
-DHAVE_GETHOSTNAME=1 -DHAVE_GETTIMEOFDAY=1 -DHAVE_GETWD=1 -DHAVE_MKTIME=1 
-DHAVE_PUTENV=1 -DHAVE_REGCOMP=1 -DHAVE_SELECT=1 -DHAVE_SIGACTION=1 
-DHAVE_SOCKET=1 -DHAVE_STRCSPN=1 -DHAVE_STRDUP=1 -DHAVE_STRERROR=1 
-DHAVE_STRSTR=1 -DHAVE_STRTOD=1 -DHAVE_STRTOL=1 -DHAVE_STRTOUL=1 
-DHAVE_DIRENT_H=1 -DSTDC_HEADERS=1 -DHAVE_SYS_WAIT_H=1 -DHAVE_FCNTL_H=1 
-DHAVE_LIMITS_H=1 -DHAVE_MALLOC_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_FILE_H=1 
-DHAVE_SYS_IOCTL_H=1 -DHAVE_SYS_TIME_H=1 -DHAVE_SYSLOG_H=1 -DHAVE_UNISTD_H=1 
-DHAVE_MATH_H=1 -DHAVE_FLOAT_H=1 -DHAVE_NEW=1 -DHAVE_IOSTREAM=1 
-DHAVE_IOMANIP=1 -DHAVE_FSTREAM=1 -DHAVE_SSTREAM=1 -DHAVE_IOSFWD=1 
-DHAVE_FINITE=1 -DHAVE_ISINF=1 -DHAVE_STRUCT_STAT_ST_BLKSIZE=1 
-DHAVE_ST_BLKSIZE=1 -DHAVE_STRUCT_STAT_ST_BLOCKS=1 -DHAVE_ST_BLOCKS=1 
-DHAVE_STRUCT_STAT_ST_RDEV=1 -DHAVE_ST_RDEV=1 -DTIME_WITH_SYS_TIME=1 
-DHAVE_STRUCT_TM_TM_ZONE=1 -DHAVE_TM_ZONE=1 -DHAVE_SOCKLEN_T=1  -I. -I. -I.. 
-I/usr/X11R6/include    -g --pipe -O2 -MT AGIFmstk.lo -MD -MP -MF 
".deps/AGIFmstk.Tpo" \
  -c -o AGIFmstk.lo `test -f 'AGIFmstk.C' || echo './'`AGIFmstk.C; \
then mv -f ".deps/AGIFmstk.Tpo" ".deps/AGIFmstk.Plo"; \
else rm -f ".deps/AGIFmstk.Tpo"; exit 1; \
fi
 g++ -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" 
-DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"aplus-fsf\" 
-DVERSION=\"4.18\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 
-DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 
-DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 
-DHAVE_STDLIB_H=1 -DHAVE_UNISTD_H=1 -DHAVE_GETPAGESIZE=1 -DHAVE_MMAP=1 
-DRETSIGTYPE=void -DHAVE_STRFTIME=1 -DHAVE_UNISTD_H=1 -DHAVE_FORK=1 
-DHAVE_VFORK=1 -DHAVE_WORKING_VFORK=1 -DHAVE_WORKING_FORK=1 -DHAVE_VPRINTF=1 
-DHAVE_GETCWD=1 -DHAVE_GETHOSTNAME=1 -DHAVE_GETTIMEOFDAY=1 -DHAVE_GETWD=1 
-DHAVE_MKTIME=1 -DHAVE_PUTENV=1 -DHAVE_REGCOMP=1 -DHAVE_SELECT=1 
-DHAVE_SIGACTION=1 -DHAVE_SOCKET=1 -DHAVE_STRCSPN=1 -DHAVE_STRDUP=1 
-DHAVE_STRERROR=1 -DHAVE_STRSTR=1 -DHAVE_STRTOD=1 -DHAVE_STRTOL=1 
-DHAVE_STRTOUL=1 -DHAVE_DIRENT_H=1 -DSTDC_HEADERS=1 -DHAVE_SYS_WAIT_H=1 
-DHAVE_FCNTL_H=1 -DHAVE_LIMITS_H=1 -DHAVE_MALLOC_H=1 -DHAVE_STRINGS_H=1 
-DHAVE_SYS_FILE_H=1 -DHAVE_SYS_IOCTL_H=1 -DHAVE_SYS_TIME_H=1 -DHAVE_SYSLOG_H=1 
-DHAVE_UNISTD_H=1 -DHAVE_MATH_H=1 -DHAVE_FLOAT_H=1 -DHAVE_NEW=1 
-DHAVE_IOSTREAM=1 -DHAVE_IOMANIP=1 -DHAVE_FSTREAM=1 -DHAVE_SSTREAM=1 
-DHAVE_IOSFWD=1 -DHAVE_FINITE=1 -DHAVE_ISINF=1 -DHAVE_STRUCT_STAT_ST_BLKSIZE=1 
-DHAVE_ST_BLKSIZE=1 -DHAVE_STRUCT_STAT_ST_BLOCKS=1 -DHAVE_ST_BLOCKS=1 
-DHAVE_STRUCT_STAT_ST_RDEV=1 -DHAVE_ST_RDEV=1 -DTIME_WITH_SYS_TIME=1 
-DHAVE_STRUCT_TM_TM_ZONE=1 -DHAVE_TM_ZONE=1 -DHAVE_SOCKLEN_T=1 -I. -I. -I.. 
-I/usr/X11R6/include -g --pipe -O2 -MT AGIFmstk.lo -MD -MP -MF 
.deps/AGIFmstk.Tpo -c AGIFmstk.C  -fPIC -DPIC -o .libs/AGIFmstk.o
../AplusGUI/AplusButtonBox.H:29: error: ISO C++ forbids declaration of 
'AplusButtonBox' with no type
../AplusGUI/AplusButtonBox.H:29: error: expected ';' before '*' token
../AplusGUI/AplusButtonBox.H:30: error: expected `;' before 'AplusButtonBox'
../AplusGUI/AplusButtonBox.H:30: error: ISO C++ forbids declaration of 
'AplusButtonBox' with no type
../AplusGUI/AplusButtonBox.H:30: error: expected ';' before '*' token
../AplusGUI/AplusButtonBox.H:31: error: expected `;' before 'virtual'
../AplusGUI/AplusCheckBox.H:31: error: ISO C++ forbids declaration of 
'AplusCheckBox' with no type
../AplusGUI/AplusCheckBox.H:31: error: 'AplusCheckBox' declared as an 'inline' 
field
../AplusGUI/AplusCheckBox.H:32: error: expected ';' before '*' token
../AplusGUI/AplusCheckBox.H:72: error: no 'AplusCheckBox* 
AplusCheckButton::checkBox()' member function declared in class 
'AplusCheckButton'
../AplusGUI/AplusCheckBox.H:75: error: prototype for 'const AplusCheckBox* 
AplusCheckButton::checkBox() const' does not match any in class 
'AplusCheckButton'
../AplusGUI/AplusCheckBox.H:72: error: candidate is: AplusCheckBox* 
AplusCheckButton::checkBox()
../AplusGUI/AplusRadioBox.H:34: error: ISO C++ forbids declaration of 
'AplusRadioBox' with no type
../AplusGUI/AplusRadioBox.H:34: error: 'AplusRadioBox' declared as an 'inline' 
field
../AplusGUI/AplusRadioBox.H:34: error: expected ';' before '*' token
../AplusGUI/AplusRadioBox.H:35: error: ISO C++ forbids declaration of 
'AplusRadioBox' with no type
../AplusGUI/AplusRadioBox.H:35: error: 'AplusRadioBox' declared as an 'inline' 
field
../AplusGUI/AplusRadioBox.H:35: error: expected ';' before '*' token
../AplusGUI/AplusRadioBox.H:85: error: no 'const AplusRadioBox* 
AplusRadioButton::radioBox() const' member function declared in class 
'AplusRadioButton'
../AplusGUI/AplusRadioBox.H:88: error: prototype for 'AplusRadioBox* 
AplusRadioButton::radioBox()' does not match any in class 'AplusRadioButton'
../AplusGUI/AplusRadioBox.H:85: error: candidate is: const AplusRadioBox* 
AplusRadioButton::radioBox() const
../MSTypes/MSTypeDataInlines.C: In static member function 'static unsigned int 
MSTypeData<Type, Allocator>::dataOffset() [with Type = unsigned char, Allocator 
= MSAllocator<unsigned char>]':
../MSTypes/MSTypeDataInlines.C:69:   instantiated from 'Type* MSTypeData<Type, 
Allocator>::elements() [with Type = unsigned char, Allocator = 
MSAllocator<unsigned char>]'
../MSTypes/MSBinaryMatrix.H:302:   instantiated from here
../MSTypes/MSTypeDataInlines.C:101: warning: invalid access to non-static data 
member 'MSDataAlignment<unsigned char>::_pElements' of NULL object
../MSTypes/MSTypeDataInlines.C:101: warning: (perhaps the 'offsetof' macro was 
used incorrectly)
../MSTypes/MSTypeDataInlines.C: In static member function 'static unsigned int 
MSTypeData<Type, Allocator>::dataOffset() [with Type = double, Allocator = 
MSAllocator<double>]':
../MSTypes/MSTypeDataInlines.C:69:   instantiated from 'Type* MSTypeData<Type, 
Allocator>::elements() [with Type = double, Allocator = MSAllocator<double>]'
../MSTypes/MSFloatMatrix.H:391:   instantiated from here
../MSTypes/MSTypeDataInlines.C:101: warning: invalid access to non-static data 
member 'MSDataAlignment<double>::_pElements' of NULL object
../MSTypes/MSTypeDataInlines.C:101: warning: (perhaps the 'offsetof' macro was 
used incorrectly)
make[3]: *** [AGIFmstk.lo] Error 1
make[3]: Leaving directory `/tmp/buildd/aplus-fsf-4.18.8/src/AplusGUI'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/tmp/buildd/aplus-fsf-4.18.8/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/buildd/aplus-fsf-4.18.8'
make: *** [build-stamp] Error 2

The attached patch fixes this problem by declaring the types before
they are used.

-- 
Matt
--- aplus-fsf-4.18.8.orig/src/AplusGUI/AplusButtonBox.H
+++ aplus-fsf-4.18.8/src/AplusGUI/AplusButtonBox.H
@@ -17,22 +17,6 @@
 #include <AplusGUI/AplusModel.H>
 #include <AplusGUI/AplusCommon.H>
 
-class AplusActionButton : public MSActionButton
-{
-friend class AplusButtonBox;
-
-public:
-  AplusActionButton(MSWidget *, const char *);
-  ~AplusActionButton(void);
-
-protected:
-  const AplusButtonBox *buttonBox(void) const { return (AplusButtonBox *) 
_owner; }
-  AplusButtonBox *buttonBox(void) { return (AplusButtonBox *) _owner; }
-  virtual void focusIn(void);
-  virtual MSBoolean isProtected(void) const;
-};
-
-
 class AplusButtonBox : public MSActionBox
 {
 public:
@@ -99,6 +83,21 @@
   STANDARD_WIDGET_METHODS_H
 };
 
+class AplusActionButton : public MSActionButton
+{
+friend class AplusButtonBox;
+
+public:
+  AplusActionButton(MSWidget *, const char *);
+  ~AplusActionButton(void);
+
+protected:
+  const AplusButtonBox *buttonBox(void) const { return (AplusButtonBox *) 
_owner; }
+  class AplusButtonBox *buttonBox(void) { return (AplusButtonBox *) _owner; }
+  virtual void focusIn(void);
+  virtual MSBoolean isProtected(void) const;
+};
+
 inline MSBoolean AplusButtonBox::freezeIfUnfrozen(void) { MSBoolean 
rc=frozen(); return freeze(),rc; }
 inline void AplusButtonBox::unfreezeIfUnfrozen(MSBoolean bool_) { if 
(bool_==MSFalse) unfreeze(); }
 
only in patch2:
unchanged:
--- aplus-fsf-4.18.8.orig/src/AplusGUI/AplusCheckBox.H
+++ aplus-fsf-4.18.8/src/AplusGUI/AplusCheckBox.H
@@ -17,31 +17,6 @@
 #include <AplusGUI/AplusCommon.H>
 #include <AplusGUI/AplusButtonBox.H>
 
-class AplusCheckButton : public MSCheckButton
-{
-friend class AplusCheckBox;
-  
-public:
-  AplusCheckButton(MSWidget *);
-  ~AplusCheckButton(void);
-
-protected:
-  virtual void checkBoxArm(void);
-  virtual void checkBoxDisarm(void);
-  inline const AplusCheckBox *checkBox(void) const;
-  inline AplusCheckBox *checkBox(void);
-
-  virtual void up(void);
-  virtual void down(void);
-  virtual void left(void);
-  virtual void right(void);
-
-  virtual void focusIn(void);
-
-  virtual MSBoolean isProtected(void) const;
-};
-
-
 class AplusCheckBox : public AplusButtonBox
 {
 friend class AplusCheckButton;
@@ -69,6 +44,30 @@
   virtual void setButtonState(MSActionButton *, unsigned long);
 };
 
+class AplusCheckButton : public MSCheckButton
+{
+friend class AplusCheckBox;
+  
+public:
+  AplusCheckButton(MSWidget *);
+  ~AplusCheckButton(void);
+
+protected:
+  virtual void checkBoxArm(void);
+  virtual void checkBoxDisarm(void);
+  inline const AplusCheckBox *checkBox(void) const;
+  inline AplusCheckBox *checkBox(void);
+
+  virtual void up(void);
+  virtual void down(void);
+  virtual void left(void);
+  virtual void right(void);
+
+  virtual void focusIn(void);
+
+  virtual MSBoolean isProtected(void) const;
+};
+
 inline AplusCheckBox *AplusCheckButton::checkBox(void)
 { return (parentWidgetType()==AplusCheckBox::symbol()?(AplusCheckBox 
*)owner():0); }
 
only in patch2:
unchanged:
--- aplus-fsf-4.18.8.orig/src/AplusGUI/AplusRadioBox.H
+++ aplus-fsf-4.18.8/src/AplusGUI/AplusRadioBox.H
@@ -17,31 +17,6 @@
 #include <AplusGUI/AplusModel.H>
 #include <AplusGUI/AplusButtonBox.H>
 
-class AplusRadioButton : public MSRadioButton
-{
-friend class AplusRadioBox;
-  
-public:
-  AplusRadioButton(MSWidget *);
-  ~AplusRadioButton(void);
-
-protected:
-
-  virtual void radioBoxArm(void);
-  virtual void radioBoxDisarm(void);
-  virtual void radioBoxActivate(void);
-
-  inline const AplusRadioBox *radioBox(void) const;
-  inline AplusRadioBox *radioBox(void);
-
-  virtual void up(void);
-  virtual void down(void);
-  virtual void left(void);
-  virtual void right(void);
-  virtual void focusIn(void);
-  virtual MSBoolean isProtected(void) const;
-};
-
 class AplusRadioBox : public AplusButtonBox
 {
 friend class AplusRadioButton;
@@ -77,6 +52,32 @@
   MSRadioButton *_armedButton;
 };
 
+
+class AplusRadioButton : public MSRadioButton
+{
+friend class AplusRadioBox;
+  
+public:
+  AplusRadioButton(MSWidget *);
+  ~AplusRadioButton(void);
+
+protected:
+
+  virtual void radioBoxArm(void);
+  virtual void radioBoxDisarm(void);
+  virtual void radioBoxActivate(void);
+
+  inline const AplusRadioBox *radioBox(void) const;
+  inline AplusRadioBox *radioBox(void);
+
+  virtual void up(void);
+  virtual void down(void);
+  virtual void left(void);
+  virtual void right(void);
+  virtual void focusIn(void);
+  virtual MSBoolean isProtected(void) const;
+};
+
 inline MSRadioButton *AplusRadioBox::activeButton(void)
 { return (MSRadioButton *)_activeButton; }
 inline const MSRadioButton *AplusRadioBox::activeButton(void) const

Attachment: signature.asc
Description: Digital signature

Reply via email to