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