POV-Ray : Newsgroups : povray.unix : Unable to compile on FreeBSD 10.0 Server Time
28 Mar 2024 07:56:07 EDT (-0400)
  Unable to compile on FreeBSD 10.0 (Message 1 to 6 of 6)  
From: jhu
Subject: Unable to compile on FreeBSD 10.0
Date: 5 Mar 2014 19:45:01
Message: <web.5317c45f7ab0f0d8d19b0ec40@news.povray.org>
FreeBSD 10 uses clang instead of gcc. After the usual ./prebuild.sh,
../configure, etc.

[jhu@PhIIx6-1090T:~/temp/povray-3.7-stable]$ make
make  all-recursive
Making all in source
c++ -DHAVE_CONFIG_H -I. -I..   -I..  -I../source/backend  -I../source/base
-I../source/frontend  -I../unix  -I../vfe  -I../vfe/unix -pthread
-I/usr/local/include  -I/usr/include  -pipe -Wno-multichar -Wno-write-strings
-O3 -ffast-math -march=native -D_THREAD_SAFE -pthread -MT pov_mem.o -MD -MP -MF
..deps/pov_mem.Tpo -c -o pov_mem.o pov_mem.cpp
In file included from pov_mem.cpp:36:
In file included from ./backend/frame.h:58:
In file included from ./backend/control/messagefactory.h:39:
../backend/control/renderbackend.h:112:16: error: reference to 'shared_ptr' is
      ambiguous
                map<SceneId, shared_ptr<Scene> > scenes;
                             ^
.../vfe/unix/syspovconfig.h:85:14: note: candidate found by name lookup is
      'shared_ptr'
using boost::shared_ptr;
             ^
/usr/include/c++/v1/memory:3817:24: note: candidate found by name lookup is
      'std::__1::shared_ptr'
class _LIBCPP_TYPE_VIS shared_ptr
                       ^
In file included from pov_mem.cpp:36:
In file included from ./backend/frame.h:58:
In file included from ./backend/control/messagefactory.h:39:
../backend/control/renderbackend.h:112:27: error: 'Scene' does not refer to a
      value
                map<SceneId, shared_ptr<Scene> > scenes;
                                        ^
../backend/control/renderbackend.h:47:7: note: declared here
class Scene;
      ^
../backend/control/renderbackend.h:112:34: error: expected member name or ';'
      after declaration specifiers
                map<SceneId, shared_ptr<Scene> > scenes;
                                               ^
../backend/control/renderbackend.h:113:15: error: reference to 'shared_ptr' is
      ambiguous
                map<ViewId, shared_ptr<View> > views;
                            ^
.../vfe/unix/syspovconfig.h:85:14: note: candidate found by name lookup is
      'shared_ptr'
using boost::shared_ptr;
             ^
/usr/include/c++/v1/memory:3817:24: note: candidate found by name lookup is
      'std::__1::shared_ptr'
class _LIBCPP_TYPE_VIS shared_ptr
                       ^
In file included from pov_mem.cpp:36:
In file included from ./backend/frame.h:58:
In file included from ./backend/control/messagefactory.h:39:
../backend/control/renderbackend.h:113:26: error: 'View' does not refer to a
      value
                map<ViewId, shared_ptr<View> > views;
                                       ^
../backend/control/renderbackend.h:48:7: note: declared here
class View;
      ^
../backend/control/renderbackend.h:113:32: error: expected member name or ';'
      after declaration specifiers
                map<ViewId, shared_ptr<View> > views;
                                             ^
In file included from pov_mem.cpp:36:
../backend/frame.h:982:3: error: unknown type name 'shared_ptr'
                shared_ptr<SubsurfaceInterior> subsurface;
                ^
../backend/frame.h:982:13: error: expected member name or ';' after declaration
      specifiers
                shared_ptr<SubsurfaceInterior> subsurface;
                ~~~~~~~~~~^
In file included from pov_mem.cpp:39:
In file included from ./backend/parser/parse.h:63:
In file included from ./backend/scene/scene.h:45:
In file included from ./backend/scene/view.h:40:
../backend/support/taskqueue.h:60:15: error: unknown type name 'shared_ptr'
                                TaskEntry(shared_ptr<Task> rt) : entryT...
                                          ^
../backend/support/taskqueue.h:60:25: error: expected ')'
                                TaskEntry(shared_ptr<Task> rt) : entryT...
                                                    ^
../backend/support/taskqueue.h:60:14: note: to match this '('
                                TaskEntry(shared_ptr<Task> rt) : entryT...
                                         ^
../backend/support/taskqueue.h:65:5: error: unknown type name 'shared_ptr'
                                shared_ptr<Task> GetTask() { return task; }
                                ^
../backend/support/taskqueue.h:65:15: error: expected member name or ';' after
      declaration specifiers
                                shared_ptr<Task> GetTask() { return task; }
                                ~~~~~~~~~~^
../backend/support/taskqueue.h:72:5: error: unknown type name 'shared_ptr'
                                shared_ptr<Task> task;
                                ^
../backend/support/taskqueue.h:72:15: error: expected member name or ';' after
      declaration specifiers
                                shared_ptr<Task> task;
                                ~~~~~~~~~~^
../backend/support/taskqueue.h:59:31: error: member initializer 'entryType' does
      not name a non-static data member or base class
                                TaskEntry(EntryType et) : entryType(et) { }
                                                          ^~~~~~~~~~~~~
../backend/support/taskqueue.h:60:38: error: member initializer 'entryType' does
      not name a non-static data member or base class
  ...TaskEntry(shared_ptr<Task> rt) : entryType(kTask), task(rt) { }
                                      ^~~~~~~~~~~~~~~~
../backend/support/taskqueue.h:60:61: error: use of undeclared identifier 'rt'
  ...TaskEntry(shared_ptr<Task> rt) : entryType(kTask), task(rt) { }
                                                             ^
../backend/support/taskqueue.h:61:35: error: member initializer 'entryType' does
      not name a non-static data member or base class
  ...TaskEntry(POVMS_Message& m) : entryType(kMessage), msg(m) { }
                                   ^~~~~~~~~~~~~~~~~~~
../backend/support/taskqueue.h:62:62: error: member initializer 'entryType' does
      not name a non-static data member or base class
  ...boost::function1<void, TaskQueue&>& f) : entryType(kFunction), fn(f) { }
                                              ^~~~~~~~~~~~~~~~~~~~
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
*** Error code 1

Stop.
make[2]: stopped in /tank/jhu/temp/povray-3.7-stable/source
*** Error code 1

Stop.
make[1]: stopped in /tank/jhu/temp/povray-3.7-stable
*** Error code 1

Stop.


Post a reply to this message

From: jhu
Subject: Re: Unable to compile on FreeBSD 10.0
Date: 5 Mar 2014 20:45:00
Message: <web.5317d2345d6e0900d19b0ec40@news.povray.org>
I found this post:

http://news.povray.org/povray.macintosh/message/%3Cweb.527ba51a8e82598ec61fefd40%40news.povray.org%3E/#%3Cweb.527ba51a8
e82598ec61fefd40%40news.povray.org%3E

Seeing if this will solve the issue.


Post a reply to this message

From: jhu
Subject: Re: Unable to compile on FreeBSD 10.0
Date: 6 Mar 2014 02:10:01
Message: <web.53181e205d6e0900d19b0ec40@news.povray.org>
"jhu" <nomail@nomail> wrote:
> I found this post:
>
>
http://news.povray.org/povray.macintosh/message/%3Cweb.527ba51a8e82598ec61fefd40%40news.povray.org%3E/#%3Cweb.527ba51
a8
> e82598ec61fefd40%40news.povray.org%3E
>
> Seeing if this will solve the issue.

That worked. Needed to change every instance of "shared_ptr" to
"boost::shared_ptr"


Post a reply to this message

From: jhu
Subject: Re: Unable to compile on FreeBSD 10.0
Date: 6 Mar 2014 02:35:01
Message: <web.531824725d6e0900d19b0ec40@news.povray.org>
"jhu" <nomail@nomail> wrote:
> "jhu" <nomail@nomail> wrote:
> > I found this post:
> >
> >
http://news.povray.org/povray.macintosh/message/%3Cweb.527ba51a8e82598ec61fefd40%40news.povray.org%3E/#%3Cweb.527ba
51
> a8
> > e82598ec61fefd40%40news.povray.org%3E
> >
> > Seeing if this will solve the issue.
>
> That worked. Needed to change every instance of "shared_ptr" to
> "boost::shared_ptr"

d'oh! Looks like the binary is slower than the one compiled with gcc (slower by
about 10 seconds on the benchmark scene, clang 3.3 {freebsd 10.0} vs. gcc 4.2.1
{freebsd 9.2}). Oh well.


Post a reply to this message

From: Le Forgeron
Subject: Re: Unable to compile on FreeBSD 10.0
Date: 6 Mar 2014 11:27:53
Message: <5318a209$1@news.povray.org>
Le 06/03/2014 08:32, jhu nous fit lire :
> d'oh! Looks like the binary is slower than the one compiled with gcc (slower by
> about 10 seconds on the benchmark scene, clang 3.3 {freebsd 10.0} vs. gcc 4.2.1
> {freebsd 9.2}). Oh well.

From measurement on linux, gcc 4.7 / clang 3.3 (4.2.1), it depends on
the availability of HT.
gcc is better with HT, clang is better without. And icpc (intel
compiler) wins everytime.


Post a reply to this message

From: jhu
Subject: Re: Unable to compile on FreeBSD 10.0
Date: 7 Mar 2014 00:20:01
Message: <web.531956a75d6e0900d19b0ec40@news.povray.org>
"jhu" <nomail@nomail> wrote:

>
> d'oh! Looks like the binary is slower than the one compiled with gcc (slower by
> about 10 seconds on the benchmark scene, clang 3.3 {freebsd 10.0} vs. gcc 4.2.1
> {freebsd 9.2}). Oh well.

Well, now this is interesting. Working on renders containing sslt, focal blur,
and radiosity. The clang compiled binary is 10 minutes faster than the gcc
compiled one (CPU: Phenom II x6 1090T; 2 hours 4 minutes for clang; 2 hours 15
minutes for gcc).


Post a reply to this message

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