POV-Ray : Newsgroups : povray.beta-test : Underlinking problem (second post) : Underlinking problem (second post) Server Time
28 Jul 2024 12:31:02 EDT (-0400)
  Underlinking problem (second post)  
From:
Date: 7 Jan 2009 10:45:01
Message: <web.4964ccfdfd32c5e99335918f0@news.povray.org>
Hi folks,

I'm using Mandriva and there is by default a lot of work to trace down the
underlinking problems in the distribution. As a consequence it helps in finding
misses in the headers and so far, i've found some (see below). I've also
precised some singulariteis (for "exception", where there was an ambiguity
between "exception" from the system, and "exception" from the boost library).

Please have a look at the changes since i think they may prove useful for others
as well (and i'm far from being an expert so i may have add some duplicates).

With these modifications, the code compiles fine (on beta29, x86-64 build). I
presume some also come from includes missing in the boost library (in the
thread.hpp, boost/thread/condition.hpp should be present), but i've patched
povray for now. Mandriva package is lib64boost-devel-1.36.0-1mdv2009.0.

Cheers,



diff -Naup ./source/backend/support/task.cpp~ ./source/backend/support/task.cpp
--- ./source/backend/support/task.cpp~  2009-01-06 16:13:03.000000000 +0100
+++ ./source/backend/support/task.cpp   2009-01-06 16:27:18.000000000 +0100
@@ -93,7 +93,7 @@

 #include <boost/thread.hpp>
 #include <boost/bind.hpp>
-#include <boost/exception.hpp>
+#include <exception>

 // frame.h must always be the first POV file included (pulls in platform
config)
 #include "backend/frame.h"
@@ -244,7 +244,7 @@ void Task::TaskThread(const function0<vo
                        FatalErrorHandler(e);
                        failed = e.code(kUncategorizedError);
                }
-               catch(exception& e)
+               catch(std::exception& e)
                {
                        FatalErrorHandler(POV_EXCEPTION_STRING(e.what()));
                        failed = kUncategorizedError;
@@ -272,7 +272,7 @@ void Task::TaskThread(const function0<vo
                FatalErrorHandler(e);
                failed = e.code(kUncategorizedError);
        }
-       catch(exception& e)
+       catch(std::exception& e)
        {
                FatalErrorHandler(POV_EXCEPTION_STRING(e.what()));
                failed = kUncategorizedError;
@@ -297,7 +297,7 @@ void Task::TaskThread(const function0<vo
        {
                FatalErrorHandler(e);
        }
-       catch(exception& e)
+       catch(std::exception& e)
        {
                FatalErrorHandler(POV_EXCEPTION_STRING(e.what()));
        }

diff -Naup ./source/backend/support/taskqueue.h~
../source/backend/support/taskqueue.h
--- ./source/backend/support/taskqueue.h~       2008-02-04 15:28:48.000000000
+0100
+++ ./source/backend/support/taskqueue.h        2009-01-06 15:01:46.000000000
+0100
@@ -98,6 +98,7 @@

 #include <boost/thread.hpp>
 #include <boost/shared_ptr.hpp>
+#include <boost/thread/condition.hpp>

 #include "base/povmscpp.h"
 #include "backend/support/task.h"

diff -Naup ./vfe/unix/unixconsole.cpp~ ./vfe/unix/unixconsole.cpp
--- ./vfe/unix/unixconsole.cpp~ 2008-10-08 01:06:27.000000000 +0200
+++ ./vfe/unix/unixconsole.cpp  2009-01-07 15:21:05.000000000 +0100
@@ -254,7 +254,7 @@ void PrintStatusChanged (vfeSession *ses

 void PrintBeta(int argc, char **argv)
 {
-       const int sph = 3600, spd = 86400, spw = 604800;
+  /*   const int sph = 3600, spd = 86400, spw = 604800;
        time_t current_time = time(NULL);

        if (current_time > EXPIRE_AT)
@@ -295,7 +295,7 @@ void PrintBeta(int argc, char **argv)
        fprintf(stderr,
                "%s: this pre-release version of POV-Ray for Unix expires in %d
day(s) and %d hour(s)\n",
                PACKAGE, current_time/spd, (current_time % spd)/sph
-       );
+               );*/
 }

 void PrintVersion(void)

diff -Naup ./vfe/unix/unixconsole.cpp~ ./vfe/unix/unixconsole.cpp
--- ./vfe/unix/unixconsole.cpp~ 2008-10-08 01:06:27.000000000 +0200
+++ ./vfe/unix/unixconsole.cpp  2009-01-07 15:21:05.000000000 +0100
@@ -254,7 +254,7 @@ void PrintStatusChanged (vfeSession *ses

 void PrintBeta(int argc, char **argv)
 {
-       const int sph = 3600, spd = 86400, spw = 604800;
+  /*   const int sph = 3600, spd = 86400, spw = 604800;
        time_t current_time = time(NULL);

        if (current_time > EXPIRE_AT)
@@ -295,7 +295,7 @@ void PrintBeta(int argc, char **argv)
        fprintf(stderr,
                "%s: this pre-release version of POV-Ray for Unix expires in %d
day(s) and %d hour(s)\n",
                PACKAGE, current_time/spd, (current_time % spd)/sph
-       );
+               );*/
 }

 void PrintVersion(void)

diff -Naup ./vfe/vfe.h~ ./vfe/vfe.h
--- ./vfe/vfe.h~        2008-02-04 15:28:52.000000000 +0100
+++ ./vfe/vfe.h 2009-01-07 15:03:59.000000000 +0100
@@ -94,9 +94,11 @@

 #include <queue>
 #include <cassert>
+#include <exception>
 #include "syspovconfigfrontend.h"
 #include <boost/format.hpp>
 #include <boost/thread.hpp>
+#include <boost/thread/condition.hpp>
 #include <boost/bind.hpp>
 #include <boost/function.hpp>
 #include "base/povms.h"
@@ -113,6 +115,7 @@
 namespace vfe
 {
   using namespace std;
+  using namespace boost;
   using namespace pov_frontend;

   class vfeException : public runtime_error

diff -Naup ./vfe/vfesession.h~ ./vfe/vfesession.h
--- ./vfe/vfesession.h~ 2008-05-27 16:39:41.000000000 +0200
+++ ./vfe/vfesession.h  2009-01-06 16:45:22.000000000 +0100
@@ -98,6 +98,7 @@ namespace vfe
 {
   using namespace pov_frontend;
   using namespace pov_base;
+  using namespace boost;

   ////////////////////////////////////////////////////////////////////////////
   // class IOPath

diff -Naup ./vfe/vfesession.cpp~ ./vfe/vfesession.cpp
--- ./vfe/vfesession.cpp~       2009-01-06 16:38:11.000000000 +0100
+++ ./vfe/vfesession.cpp        2009-01-07 15:06:53.000000000 +0100
@@ -695,7 +695,7 @@ void vfeSession::WorkerThread()
     m_Failed = true;
     m_LastError = vfeCaughtException;
   }
-  catch (exception&)
+  catch (std::exception&)
   {
     m_Failed = true;
     m_LastError = vfeCaughtException;

diff -Naup ./vfe/vfecontrol.cpp~ ./vfe/vfecontrol.cpp
--- ./vfe/vfecontrol.cpp~       2008-05-27 16:39:40.000000000 +0200
+++ ./vfe/vfecontrol.cpp        2009-01-07 15:05:13.000000000 +0100
@@ -489,7 +489,7 @@ int vfeSession::StartRender()
     if (!m_Frontend->Start (m_RenderOptions.m_Options))
       return (m_LastError = vfeFailedToSendRenderStart) ;
   }
-  catch (exception& e)
+  catch (std::exception& e)
   {
     if (dynamic_cast<pov_base::Exception *> (&e) != NULL)
       m_RenderErrorCode = dynamic_cast<pov_base::Exception *> (&e)->code() ;


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.