POV-Ray : Newsgroups : povray.beta-test : Underlinking problem (second post) Server Time
25 Dec 2024 22:36:02 EST (-0500)
  Underlinking problem (second post) (Message 1 to 4 of 4)  
From:
Subject: Underlinking problem (second post)
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

From: clipka
Subject: Re: Underlinking problem (second post)
Date: 7 Jan 2009 11:10:01
Message: <web.4964d359751d41f6bdc576310@news.povray.org>

> 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)
>

This one seems to be the only dupe... and seems to fix a totally different issue
;)


Post a reply to this message

From:
Subject: Re: Underlinking problem (second post)
Date: 7 Jan 2009 12:20:00
Message: <web.4964e31a751d41f69335918f0@news.povray.org>
"clipka" <nomail@nomail> wrote:

> > 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)
> >
>
> This one seems to be the only dupe... and seems to fix a totally different issue
> ;)

Right, i just forgot i tried to hack the "expired issue", just before seing
there is the --beta-code option :-)


Post a reply to this message

From: Chris Cason
Subject: Re: Underlinking problem (second post)
Date: 8 Jan 2009 01:43:01
Message: <4965a075$1@news.povray.org>

> 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).

Thanks for the patches - ironically I only just went through all that
myself since I upgraded to the latest boost while doing the most recent
windows release. I haven't put the source up yet, though. Probably ought to ...

-- Chris


Post a reply to this message

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