Subject: pkg/25695: pkgsrc/editors/lyx-qt
To: None <gnats-bugs@gnats.NetBSD.org>
From: None <john@johnrshannon.com>
List: pkgsrc-bugs
Date: 05/24/2004 11:01:29
>Number: 25695
>Category: pkg
>Synopsis: pkgsrc/editors/lyx-qt fails to compile with gcc-3.4.0
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: pkg-manager
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Mon May 24 17:02:00 UTC 2004
>Closed-Date:
>Last-Modified:
>Originator: John R. Shannon
>Release: NetBSD 2.0_BETA
>Organization:
johnrshannon.com
>Environment:
System: NetBSD colleen.internal.johnrshannon.com 2.0_BETA NetBSD 2.0_BETA (KERNEL) #0: Mon May 24 05:31:10 MDT 2004 root@colleen.internal.johnrshannon.com:/usr/obj/usr/src/sys/arch/i386/compile/KERNEL i386
Architecture: i386
Machine: i386
gcc (GCC) 3.4.0
>Description:
Several compilation errors occur. The patches below fix the problems.
>How-To-Repeat:
Build with wip/gcc-3.4
>Fix:
Apply the following patches:
$NetBSD$
--- ./src/BoostFormat.h.orig 2002-11-25 12:44:44.000000000 -0700
+++ ./src/BoostFormat.h
@@ -15,7 +15,7 @@ namespace boost
{
extern
-template basic_format<char>;
+template class basic_format<char>;
extern template
std::ostream &
$NetBSD$
--- ./src/frontends/controllers/ControlDialog.tmpl.orig 2004-05-24 07:01:53.000000000 -0600
+++ ./src/frontends/controllers/ControlDialog.tmpl
@@ -4,7 +4,7 @@
* This file is part of LyX, the document processor.
* Licence details can be found in the file COPYING.
*
- * \author Angus Leeming
+ * \author Angus Leeming
*
* Full author contact details are available in file CREDITS
*
@@ -14,7 +14,7 @@
#include "ControlDialog.h"
-#include "ButtonControllerBase.h"
+#include "ButtonController.h"
#include "ViewBase.h"
@@ -27,54 +27,56 @@ ControlDialog<Base>::ControlDialog(LyXVi
template <class Base>
void ControlDialog<Base>::show()
{
- if (isBufferDependent() && !bufferIsAvailable())
+ if (this->isBufferDependent() && !this->bufferIsAvailable())
return;
- connect();
+ this->connect();
if (!dialog_built_) {
- view().build();
+ this->view().build();
dialog_built_ = true;
}
setParams();
- if (emergency_exit_) {
+ if (this->emergency_exit_) {
hide();
return;
}
- bc().readOnly(bufferIsReadonly());
- view().show();
+ this->bc().readOnly(this->bufferIsReadonly());
+ this->view().show();
// The widgets may not be valid, so refresh the button controller
- bc().refresh();
+ this->bc().refresh();
}
+
template <class Base>
void ControlDialog<Base>::update()
{
- if (isBufferDependent() && !bufferIsAvailable())
+ if (this->isBufferDependent() && !this->bufferIsAvailable())
return;
setParams();
- if (emergency_exit_) {
+ if (this->emergency_exit_) {
hide();
return;
}
- bc().readOnly(bufferIsReadonly());
- view().update();
+ this->bc().readOnly(this->bufferIsReadonly());
+ this->view().update();
// The widgets may not be valid, so refresh the button controller
- bc().refresh();
+ this->bc().refresh();
}
+
template <class Base>
void ControlDialog<Base>::hide()
{
- emergency_exit_ = false;
+ this->emergency_exit_ = false;
clearParams();
- disconnect();
- view().hide();
+ this->disconnect();
+ this->view().hide();
}
$NetBSD$
--- ./src/frontends/xforms/FormBase.h.orig 2003-02-01 17:48:38.000000000 -0700
+++ ./src/frontends/xforms/FormBase.h
@@ -188,14 +188,14 @@ FormCB<Controller, Base>::FormCB(string
template <class Controller, class Base>
Controller & FormCB<Controller, Base>::controller()
{
- return static_cast<Controller &>(getController());
+ return static_cast<Controller &>(this->getController());
}
template <class Controller, class Base>
Controller const & FormCB<Controller, Base>::controller() const
{
- return static_cast<Controller const &>(getController());
+ return static_cast<Controller const &>(this->getController());
}
$NetBSD$
--- ./src/frontends/qt2/Qt2Base.h.orig 2003-02-01 17:48:38.000000000 -0700
+++ ./src/frontends/qt2/Qt2Base.h
@@ -174,14 +174,14 @@ Qt2CB<Controller, Base>::Qt2CB(QString c
template <class Controller, class Base>
Controller & Qt2CB<Controller, Base>::controller()
{
- return static_cast<Controller &>(getController());
+ return static_cast<Controller &>(this->getController());
}
template <class Controller, class Base>
Controller const & Qt2CB<Controller, Base>::controller() const
{
- return static_cast<Controller const &>(getController());
+ return static_cast<Controller const &>(this->getController());
}
$NetBSD$
--- ./boost/boost/format/feed_args.hpp.orig 2002-11-20 10:20:54.000000000 -0700
+++ ./boost/boost/format/feed_args.hpp
@@ -34,7 +34,7 @@ namespace {
template<class Tr, class Ch> inline
void empty_buf(BOOST_IO_STD basic_ostringstream<Ch,Tr> & os) {
- static const std::basic_string<Ch, Tr> emptyStr; // avoids 2 cases ( "" and L"" )
+ const std::basic_string<Ch, Tr> emptyStr; // avoids 2 cases ( "" and L"" )
os.str(emptyStr);
}
$NetBSD$
--- ./boost/boost/format/format_implementation.hpp.orig 2002-11-21 11:33:01.000000000 -0700
+++ ./boost/boost/format/format_implementation.hpp
@@ -151,7 +151,7 @@ basic_format<Ch,Tr>& basic_format<Ch,Tr>
{
if(argN<1 || argN > num_args_ || bound_.size()==0 || !bound_[argN-1] )
{
- if( exceptions() & out_of_range_bit )
+ if( exceptions() & io::out_of_range_bit )
boost::throw_exception(io::out_of_range()); // arg not in range.
else return *this;
}
$NetBSD$
--- ./boost/boost/config/compiler/gcc.hpp.orig 2004-05-24 06:14:18.000000000 -0600
+++ ./boost/boost/config/compiler/gcc.hpp
@@ -1,7 +1,13 @@
-// (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and
-// distribute this software is granted provided this copyright notice appears
-// in all copies. This software is provided "as is" without express or implied
-// warranty, and with no claim as to its suitability for any purpose.
+// (C) Copyright John Maddock 2001 - 2003.
+// (C) Copyright Darin Adler 2001 - 2002.
+// (C) Copyright Jens Maurer 2001 - 2002.
+// (C) Copyright Beman Dawes 2001 - 2003.
+// (C) Copyright Douglas Gregor 2002.
+// (C) Copyright David Abrahams 2002 - 2003.
+// (C) Copyright Synge Todo 2003.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org for most recent version.
@@ -23,24 +29,53 @@
# endif
# endif
+# if __GNUC__ == 2 && __GNUC_MINOR__ < 96
+# define BOOST_NO_SFINAE
+# endif
+
# if __GNUC__ == 2 && __GNUC_MINOR__ <= 97
# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
# define BOOST_NO_OPERATORS_IN_NAMESPACE
# endif
+# if __GNUC__ < 3
+# define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
+# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
+# endif
+
+#
+#
+#
+
//
-// Threading support:
-// Turn this on unconditionally here, it will get turned off again later
-// if no threading API is detected.
+// Bug specific to gcc 3.1 and 3.2:
//
-#define BOOST_HAS_THREADS
+#if (__GNUC__ == 3) && ((__GNUC_MINOR__ == 1) || (__GNUC_MINOR__ == 2))
+# define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
+#endif
+
+//
+// Threading support: Turn this on unconditionally here (except for
+// those platforms where we can know for sure). It will get turned off again
+// later if no threading API is detected.
+//
+#if !defined(__MINGW32__) && !defined(linux) && !defined(__linux) && !defined(__linux__)
+# define BOOST_HAS_THREADS
+#endif
//
// gcc has "long long"
//
#define BOOST_HAS_LONG_LONG
-#define BOOST_COMPILER "GNU C++ version " BOOST_STRINGIZE(__GNUC__) "." BOOST_STRINGIZE(__GNUC_MINOR__)
+//
+// gcc implements the named return value optimization since version 3.1
+//
+#if __GNUC__ > 3 || ( __GNUC__ == 3 && __GNUC_MINOR__ >= 1 )
+#define BOOST_HAS_NRVO
+#endif
+
+#define BOOST_COMPILER "GNU C++ version " __VERSION__
//
// versions check:
@@ -49,11 +84,13 @@
# error "Compiler not configured - please reconfigure"
#endif
//
-// last known and checked version is 3.2:
-#if (__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ > 3))
+// last known and checked version is 3.4:
+#if (__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ > 4))
# if defined(BOOST_ASSERT_CONFIG)
# error "Unknown compiler version - please run the configure tests and report the results"
# else
# warning "Unknown compiler version - please run the configure tests and report the results"
# endif
#endif
+
+
>Release-Note:
>Audit-Trail:
>Unformatted: