POV-Ray : Newsgroups : povray.macintosh : Pov-ray 3.8 or 3.7.1 Command Line for Macintosh Server Time
28 Mar 2024 06:13:23 EDT (-0400)
  Pov-ray 3.8 or 3.7.1 Command Line for Macintosh (Message 1 to 8 of 8)  
From: Jake
Subject: Pov-ray 3.8 or 3.7.1 Command Line for Macintosh
Date: 19 Feb 2019 01:05:01
Message: <web.5c6b9c2b764da33ba3ddcc020@news.povray.org>
Hi,

I've been trying to install pov-ray from the command line for my Macintosh (High
Sierra 10.13.6) and have had little succes with any version other than 3.7 which
I was able to install through homebrew. I was wondering if there will be a
command line release of version 3.7.1 or 3.8 for Macintosh in the near future as
I have a program called Ovito that requires either 3.7.1 or above to produce


Any help would be greatly appreciated, thank you.


Post a reply to this message

From: clipka
Subject: Re: Pov-ray 3.8 or 3.7.1 Command Line for Macintosh
Date: 19 Feb 2019 04:26:31
Message: <5c6bcbc7$1@news.povray.org>
Am 19.02.2019 um 07:03 schrieb Jake:
> I've been trying to install pov-ray from the command line for my Macintosh (High
> Sierra 10.13.6)

Is that "_install from_ the command line" or "install to _run from_ the 
command line"?

> and have had little succes with any version other than 3.7 which
> I was able to install through homebrew. I was wondering if there will be a
> command line release of version 3.7.1 or 3.8 for Macintosh in the near future as
> I have a program called Ovito that requires either 3.7.1 or above to produce
> omni­directional stereo projection images.

POV-Ray v3.8.0-alpha for Unix (which is a program designed to run from 
the command line) _should_ build fine on Mac OS X using the official 
Unix build process (which is also run from the command line) - this is 
tested automatically whenever new changes are submitted to the official 
repo.

Tests are currently run with Mac OS X 10.13.3, Apple LLVM version 9.1.0 
(clang-902.0.39.2) amd XCode 9.4.1.

On the test system we do not need to install any extra packages, except 
for homebrew `freetype` for the semi-experimental v3.8.0-x.freetype 
versions.

I recommend you try this version (download the source code package):

https://github.com/POV-Ray/povray/releases/tag/v3.8.0-alpha.10013324

and let us know what (if any) problems you encounter, so that we can 
improve on our build process. The v3.7.0.8 homebrew formula may hold 
some relevant secrets:

https://github.com/Homebrew/homebrew-core/blob/master/Formula/povray.rb


If the problems you encounter are related to linking with the boost 
libraries, there's good news: I just happen to have completed changes 
that do away with this requirement. (We still need boost, but we don't 
need to link to it.)

Unfortunately, the first v3.8.0-alpha development release with these 
properties (v3.8.0-alpha.10064268) fails to build in certain scenarios, 
but a fix for that problem is already included in the latest 
v3.8.0-x.freetype release (just a few minutes old):

https://github.com/POV-Ray/povray/releases/tag/v3.8.0-x.freetype.3

You'll need the `freetype` homebrew package for this.


Alternatively, there is Yvo's semi-official dedicated Mac version, which 
comes with a GUI. But whether it can be installed and/or run from the 
command-line (whatever it is you actually need) is beyond my knowledge.


Last not least, you can of course wait for the Homebrew people to 
support POV-Ray v3.8.0, but I guess is that won't happen until v3.8.0 is 
officially released.


Post a reply to this message

From: Jake
Subject: Re: Pov-ray 3.8 or 3.7.1 Command Line for Macintosh
Date: 20 Feb 2019 23:00:00
Message: <web.5c6e222c664db6af28ca845f0@news.povray.org>
clipka <ano### [at] anonymousorg> wrote:
> Am 19.02.2019 um 07:03 schrieb Jake:
> > I've been trying to install pov-ray from the command line for my Macintosh (High
> > Sierra 10.13.6)
>
> Is that "_install from_ the command line" or "install to _run from_ the
> command line"?

I'm attempting to run from the command line, but it seems to do so I'll also
need to install from the command line.

>
> Tests are currently run with Mac OS X 10.13.3, Apple LLVM version 9.1.0
> (clang-902.0.39.2) amd XCode 9.4.1.

I'm running Mac OS X 10.13.6, Apple LLVM version 10.0.0 and XCode 10.1

> On the test system we do not need to install any extra packages, except
> for homebrew `freetype` for the semi-experimental v3.8.0-x.freetype
> versions.

For the freetype install you suggested I was able to get prebuild.sh to run
fine; I then tried the following compile options which ran through the ./compile
program:

../configure COMPILED_BY=Jake --disable-dependency-tracking --without-libsdl
--without-x --with-libfreetype=/usr/local/Cellar/freetype/2.9.1

This produced the following error:

checking for pkg-config... no
checking for OpenEXR's pkg-config... not found
configure: WARNING: all program features using the OpenEXR library are disabled
checking whether to use the FreeType library... yes
checking for pkg-config... no
checking for FreeType's include path... ./configure: line 11406: pkg-config:
command not found
checking for library containing FT_Init_FreeType... no
configure: error: cannot find a suitable FreeType library

I also tried removing the /2.9.1 and /freetype/2.9.1 parts of the above
../compile line after encountering the above error but I still received the same
error. I'm not sure why this is occuring as 'brew info freetype' gives the
install path as /usr/local/Cellar/freetype/2.9.1 and if I don't specify a path
to freetype I still encounter the above error.

> I recommend you try this version (download the source code package):
>
> https://github.com/POV-Ray/povray/releases/tag/v3.8.0-alpha.10013324
>
> and let us know what (if any) problems you encounter, so that we can
> improve on our build process. The v3.7.0.8 homebrew formula may hold
> some relevant secrets:

As for this version, I can run the same configure command as above without the
freetype flag and the configure program runs with no issues; however, running
'make check' produces the following error:

/Applications/Xcode.app/Contents/Developer/usr/bin/make  all-recursive
Making all in source
g++ -std=gnu++11 -DHAVE_CONFIG_H -I. -I..  -I../unix/povconfig -I..
-I../platform/unix -I../platform/x86 -I../unix -I../vfe -I../vfe/unix -pthread
-I/usr/local/include  -pipe -Wno-multichar -Wno-write-strings
-fno-enforce-eh-specs -Wno-non-template-friend -s -O3 -ffast-math -march=native
-pthread -c -o backend/bounding/boundingtask.o backend/bounding/boundingtask.cpp

<stdin>:1:11: warning: section "__textcoal_nt" is deprecated
        .section __TEXT,__textcoal_nt,coalesced,pure_instructions
                 ^      ~~~~~~~~~~~~~
<stdin>:1:11: note: change section name to "__text"
        .section __TEXT,__textcoal_nt,coalesced,pure_instructions
                 ^      ~~~~~~~~~~~~~
<stdin>:152:11: warning: section "__textcoal_nt" is deprecated
        .section __TEXT,__textcoal_nt,coalesced,pure_instructions

This is followed by many more similar <stdin> warnings and then:

g++ -std=gnu++11 -DHAVE_CONFIG_H -I. -I..  -I../unix/povconfig -I..
-I../platform/unix -I../platform/x86 -I../unix -I../vfe -I../vfe/unix -pthread
-I/usr/local/include  -pipe -Wno-multichar -Wno-write-strings
-fno-enforce-eh-specs -Wno-non-template-friend -s -O3 -ffast-math -march=native
-pthread -c -o backend/control/benchmark.o backend/control/benchmark.cpp


This then loops for too many times for me to count before eventually failing to
install.

If you have any ideas as to what could fix this I'd greatly appreciate it.

Thanks again for your help


Post a reply to this message

From: clipka
Subject: Re: Pov-ray 3.8 or 3.7.1 Command Line for Macintosh
Date: 21 Feb 2019 02:54:26
Message: <5c6e5932$1@news.povray.org>
Am 21.02.2019 um 04:59 schrieb Jake:

>> https://github.com/POV-Ray/povray/releases/tag/v3.8.0-alpha.10013324
...
> As for this version, I can run the same configure command as above without the
> freetype flag and the configure program runs with no issues; however, running
> 'make check' produces the following error:
...
> g++: warning: couldn’t understand kern.osversion ‘17.7.0
...

> This then loops for too many times for me to count before eventually failing to
> install.

Does it fail to "make install", does it fail to "make check", or does it 
even fail to "make"?

You've only quoted warning messages, but in case of a failure you should 
also get some genuine error messages; can you post those?

> If you have any ideas as to what could fix this I'd greatly appreciate it.

According to the internerds, the warning messages you get seem to 
indicate that your development tools are outdated; people suggest 
updating those, and in that context the followng commands are mentioned 
(either of these may work):

     xcode-select --install

     brew upgrade gcc

     brew upgrade gcc49

(Presumably the `49` in `gcc49` is a version number so you may need to 
adapt this to your case.)

Also, you seem to be using gcc, while we're using clang in our tests 
instead, which to the best of my knowledge is the "native" C/C++ 
compiler on Mac OS X. (IIRC we did have trouble getting gcc to work, too.)

You should be able to set this up by invoking

     export CXX=clang++

before running the `./configure` script. Alternatively, I think it 
should also be possible to pass `CXX=clang++` as a parameter to the 
`./configure` script.


Post a reply to this message

From: Jake
Subject: Re: Pov-ray 3.8 or 3.7.1 Command Line for Macintosh
Date: 21 Feb 2019 21:15:01
Message: <web.5c6f5a80664db6aff4ff72500@news.povray.org>
Hi, this is a little off topic but I've just noticed that I can't see the
message I posted in reply to your first message, nor can I see the reply to my
latest message, when I click on the thread it says there is only 2 messages even
though on the support page the thread has a (4) next to it. Do you know where I
can access the rest of the thread? If necessary please use my email:
jak### [at] studentcurtineduau  Sorry for the inconvenience.


Post a reply to this message

From: Jake
Subject: Re: Pov-ray 3.8 or 3.7.1 Command Line for Macintosh
Date: 22 Feb 2019 00:10:00
Message: <web.5c6f83f5664db6aff4ff72500@news.povray.org>
"Jake" <jak### [at] studentcurtineduau> wrote:
I've tried your suggestions for upgrading x-code and gcc without any success.
When I tried using clang I got the following error message:

Undefined symbols for architecture x86_64:
  "pov::BoundingTask::BoundingTask(std::__1::shared_ptr<pov::BackendSceneData>,
unsigned int, unsigned long)", referenced from:
      pov::Scene::StartParser(POVMS_Object&) in libpovray.a(scene.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [povray] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2


When compiling with gcc I get the error:



exception specifier
 VirtualFrontEnd::~VirtualFrontEnd()
                                   ^
In file included from vfe.cpp:43:0:


       virtual ~VirtualFrontEnd() ;
               ^
make[2]: *** [vfe.o] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2


I found something for the x86_64 error about switching between libstdc++ and
libc++ by using -stdlib=libc++ as a flag somewhere in the makefile; however I
don't want to mess with the makefile unless you think it may help (I'm not even
sure where to place that line in the makefile).


Post a reply to this message

From: clipka
Subject: Re: Pov-ray 3.8 or 3.7.1 Command Line for Macintosh
Date: 22 Feb 2019 04:37:51
Message: <5c6fc2ef@news.povray.org>
Am 22.02.2019 um 06:09 schrieb Jake:
> "Jake" <jak### [at] studentcurtineduau> wrote:
> I've tried your suggestions for upgrading x-code and gcc without any success.

At the moment it may not be about having success, but about making 
progress. There's a huge difference there.

> When I tried using clang I got the following error message:
> 
> Undefined symbols for architecture x86_64:
>    "pov::BoundingTask::BoundingTask(std::__1::shared_ptr<pov::BackendSceneData>,
> unsigned int, unsigned long)", referenced from:
>        pov::Scene::StartParser(POVMS_Object&) in libpovray.a(scene.o)
> ld: symbol(s) not found for architecture x86_64
> clang: error: linker command failed with exit code 1 (use -v to see invocation)
> make[2]: *** [povray] Error 1
> make[1]: *** [all-recursive] Error 1
> make: *** [all] Error 2

This is a linker error; such errors are typically secondary in nature 
(unless they reference library functions, but this is about a genuine 
POV-Ray function), caused by earlier compiler errors.


> When compiling with gcc I get the error:

Are you still getting those "couldn’t understand kern.osversion" 
warnings? If not, we're definitely getting somewhere:

> 
> vfe.cpp:612:35: error: declaration of ‘virtual
> vfe::VirtualFrontEnd::~VirtualFrontEnd() noexcept (false)’ has a different
> exception specifier
>   VirtualFrontEnd::~VirtualFrontEnd()
>                                     ^
> In file included from vfe.cpp:43:0:
> vfe.h:222:15: error: from previous declaration ‘virtual
> vfe::VirtualFrontEnd::~VirtualFrontEnd() noexcept (true)’
>         virtual ~VirtualFrontEnd() ;
>                 ^
> make[2]: *** [vfe.o] Error 1
> make[1]: *** [all-recursive] Error 1
> make: *** [all] Error 2

Now this looks like an actual issue in the POV-Ray source code, and I'll 
look into it.


> I found something for the x86_64 error about switching between libstdc++ and
> libc++ by using -stdlib=libc++ as a flag somewhere in the makefile; however I
> don't want to mess with the makefile unless you think it may help (I'm not even
> sure where to place that line in the makefile).

I don't think the error messages you're seeing with clang are related to 
the standard libs, but it might be worth trying.

Such settings are usually injected into the makefile via the 
`./configure` script, either via `CXXFLAGS=-stdlib=libc++` or 
`LDFLAGS=-stdlib=libc++`; not sure which of the two you'll need, I 
suspect the former. In that case you'd use either:

     export CXXFLAGS="-stdlib=libc++"
     ./configure ...

or:

     ./configure CXXFLAGS="-stdlib=libc++" ...

This will then automatically weave the options into the makefile at the 
proper places.

`LDFLAGS` would work in the same manner, but is for linker flags rather 
than compiler flags.


Post a reply to this message

From: clipka
Subject: Re: Pov-ray 3.8 or 3.7.1 Command Line for Macintosh
Date: 22 Feb 2019 05:18:00
Message: <5c6fcc58@news.povray.org>
Am 22.02.2019 um 10:37 schrieb clipka:

>> vfe.cpp:612:35: error: declaration of ‘virtual
>> vfe::VirtualFrontEnd::~VirtualFrontEnd() noexcept (false)’ has a 
>> different
>> exception specifier
>>   VirtualFrontEnd::~VirtualFrontEnd()
>>                                     ^
>> In file included from vfe.cpp:43:0:
>> vfe.h:222:15: error: from previous declaration ‘virtual
>> vfe::VirtualFrontEnd::~VirtualFrontEnd() noexcept (true)’
>>         virtual ~VirtualFrontEnd() ;
>>                 ^
>> make[2]: *** [vfe.o] Error 1
>> make[1]: *** [all-recursive] Error 1
>> make: *** [all] Error 2
> 
> Now this looks like an actual issue in the POV-Ray source code, and I'll 
> look into it.

I'm not exactly sure why this is happening; can you try changing the 
lines in question to

     VirtualFrontEnd::~VirtualFrontEnd() noexcept

and

     virtual ~VirtualFrontEnd() noexcept;

respectively and let me know what that does?


BTW, what version of g++ are you using now?


Post a reply to this message

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