POV-Ray : Newsgroups : povray.unofficial.patches : Unable to compile Uberpov on FreeBSD 10 : Re: Unable to compile Uberpov on FreeBSD 10 Server Time
26 Apr 2024 01:48:15 EDT (-0400)
  Re: Unable to compile Uberpov on FreeBSD 10  
From: clipka
Date: 16 Sep 2014 04:05:36
Message: <5417ef50@news.povray.org>
Am 16.09.2014 03:55, schrieb jhu:
> It compiles fine on Ubuntu 14.04. On FreeBSD 10, using gcc 4.8, I get the
> following:
>
> depbase=`echo optout.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`; g++ -DHAVE_CONFIG_H
> -I. -I..   -I..  -I../source/backend  -I../source/base  -I../source/frontend
> -I../unix  -I../vfe  -I../vfe/unix -I/usr/local/include/SDL -I/usr/local/include
> -D_GNU_SOURCE=1 -D_REENTRANT -D_THREAD_SAFE -pthread
> -I/usr/local/include/OpenEXR    -pthread -I/usr/local/include  -I/usr/include
> -pipe -Wno-multichar -Wno-write-strings -fno-enforce-eh-specs
> -Wno-non-template-friend -s -O3 -ffast-math -D_THREAD_SAFE -pthread -MT optout.o
> -MD -MP -MF $depbase.Tpo -c -o optout.o optout.cpp && mv -f $depbase.Tpo
> $depbase.Po
> In file included from backend/frame.h:67:0,
>                   from optout.cpp:42:
> .../base/colour.h: In member function 'pov_base::GenericTrans<COLOUR_T>::Channel
> pov_base::GenericTrans<COLOUR_T>::LegacyOpacity(const Colour&) const':
> .../base/colour.h:1132:28: error: 'col' was not declared in this scope
>               return Opacity(col);
>                              ^

Ah, dammit... looks like the compiler is trying to compile a template 
that isn't even used yet, and therefore poorly tested...

Try changing line 1130 (!) from

         inline Channel LegacyOpacity(const Colour&) const

to

         inline Channel LegacyOpacity(const Colour& col) const


> In file included from backend/frame.h:67:0,
>                   from optout.cpp:42:
> .../base/colour.h: In constructor
> 'pov_base::GenericTransColour<CT>::GenericTransColour(const Colour&,
> pov_base::GenericTransColour<CT>::Channel,
> pov_base::GenericTransColour<CT>::Channel)':
> .../base/colour.h:1933:13: error: class 'pov_base::GenericTransColour<CT>' does
> not have any field named 'mFilter'
>               mFilter(filter),
>               ^
> .../base/colour.h:1934:13: error: class 'pov_base::GenericTransColour<CT>' does
> not have any field named 'mTransm'
>               mTransm(transm)
>               ^

Try chaning lines 1933 and 1934 from

             mFilter(filter),
             mTransm(transm)

to

             mTrans(filter, transm)

This is probably also code that's not actually used yet.


I hate BSD (and GNU/Linux, for that matter). They keep exposing sloppy 
non-ANSI-compliant code that works so nicely on Windows. :-P


If the above works for you, please remind me to add the fix to UberPOV 
or POV-Ray, wherever that code originates from.


Post a reply to this message

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