Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 20 Apr 2016 10:28:46 +0200
From:      mr <mr@freebsd.org>
To:        freebsd-ports@freebsd.org
Subject:   Needing help getting cad/kicad-devel compiled under FreeBSD-9
Message-ID:  <CAPEmwasEN2BxDMZ5Pgbodck%2BPpxOS-H54E8qB27-hitRyboXSQ@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
Hi,
since the last update kicad seems to use GLM (math/glm) additionaly.
Compiling under FreeBSD-10 works FreeBSD-9 not.

A bugreport ( https://bugs.launchpad.net/kicad/+bug/1571393 ) for kicad got
closed because of:
...
As reported this doesn't appear to be a Kicad bug, so i will close this
bug, the problems are from GLM which may be better at providing support in
this case.
...

Since GLM is the same in ports on FreeBSD-9/10 the Issue is probably due to
the way FreeBSD handles the compiler/settings...

The difference seems to be that FreeBSD-10 chooses the base clang++ as
compiler, FreeBSD-9 uses g++48 from ports as compiler.
In the Makefile I have 'USES=...compiler:c++11-lib...'.
Shouldn't this be sufficient to select the appropriate compiler/settings?

Compiling under FreeBSD-9 gives:
...

[ 34%] Building CXX object common/CMakeFiles/gal.dir/draw_panel_gal.cpp.o
cd /wrkdirs/usr/ports/cad/kicad-devel/work/kicad-r6694/common &&
/usr/local/bin/g++48 -DHAVE_STDINT_H -DKICAD_KEEPCASE -DUSE_OPENMP
-DWXUSINGDLL -DWX_COMPATIBILITY -D_FILE_OFFSET_BITS=64 -D_THREAD_SAFE
-D__WXGTK__ -I/wrkdirs/usr/ports/cad/kicad-devel/work/kicad-r6694/include
-I/wrkdirs/usr/ports/cad/kicad-devel/work/kicad-r6694/common/. -isystem
/usr/local/lib/wx/include/gtk2-unicode-3.0 -isystem
/usr/local/include/wx-3.0
-I/wrkdirs/usr/ports/cad/kicad-devel/work/kicad-r6694/common/./dialogs
-I/wrkdirs/usr/ports/cad/kicad-devel/work/kicad-r6694/common/./widgets
-I/wrkdirs/usr/ports/cad/kicad-devel/work/kicad-r6694/common/./dialog_about
-I/usr/local/include/cairo -I/usr/local/include
-I/wrkdirs/usr/ports/cad/kicad-devel/work/kicad-r6694/common/../3d-viewer
-I/wrkdirs/usr/ports/cad/kicad-devel/work/kicad-r6694/common/../pcbnew
-I/wrkdirs/usr/ports/cad/kicad-devel/work/kicad-r6694/common/../polygon
-I/wrkdirs/usr/ports/cad/kicad-devel/work/kicad-r6694 -I/usr/local/include
-Wall -O2 -pipe -fstack-protector -Wl,-rpath=/usr/local/lib/gcc48
-fno-strict-aliasing -Wl,-rpath=/usr/local/lib/gcc48
-Wno-unused-local-typedefs -Wno-strict-aliasing -fopenmp -pthread -O2 -pipe
-fstack-protector -Wl,-rpath=/usr/local/lib/gcc48 -fno-strict-aliasing
-Wl,-rpath=/usr/local/lib/gcc48 -DNDEBUG -fPIC -fvisibility=hidden
-fvisibility-inlines-hidden -std=gnu++11 -o
CMakeFiles/gal.dir/draw_panel_gal.cpp.o -c
/wrkdirs/usr/ports/cad/kicad-devel/work/kicad-r6694/common/draw_panel_gal.cpp
In file included from
/usr/local/include/glm/detail/func_exponential.hpp:132:0,
                 from /usr/local/include/glm/detail/func_geometric.inl:33,
                 from /usr/local/include/glm/detail/func_geometric.hpp:142,
                 from /usr/local/include/glm/geometric.hpp:35,
                 from /usr/local/include/glm/gtc/matrix_transform.inl:33,
                 from /usr/local/include/glm/gtc/matrix_transform.hpp:394,
                 from
/wrkdirs/usr/ports/cad/kicad-devel/work/kicad-r6694/include/gal/opengl/vertex_manager.h:35,
                 from
/wrkdirs/usr/ports/cad/kicad-devel/work/kicad-r6694/include/gal/opengl/opengl_gal.h:35,
                 from
/wrkdirs/usr/ports/cad/kicad-devel/work/kicad-r6694/common/draw_panel_gal.cpp:40:
/usr/local/include/glm/detail/func_exponential.inl:43:14: error:
'std::log2' has not been declared
   using std::log2;
              ^
In file included from /usr/local/include/glm/detail/func_common.hpp:455:0,
                 from /usr/local/include/glm/detail/func_geometric.inl:34,
                 from /usr/local/include/glm/detail/func_geometric.hpp:142,
                 from /usr/local/include/glm/geometric.hpp:35,
                 from /usr/local/include/glm/gtc/matrix_transform.inl:33,
                 from /usr/local/include/glm/gtc/matrix_transform.hpp:394,
                 from
/wrkdirs/usr/ports/cad/kicad-devel/work/kicad-r6694/include/gal/opengl/vertex_manager.h:35,
                 from
/wrkdirs/usr/ports/cad/kicad-devel/work/kicad-r6694/include/gal/opengl/opengl_gal.h:35,
                 from
/wrkdirs/usr/ports/cad/kicad-devel/work/kicad-r6694/common/draw_panel_gal.cpp:40:
/usr/local/include/glm/detail/func_common.inl:229:16: error: 'std::trunc'
has not been declared
   using ::std::trunc;
                ^
/usr/local/include/glm/detail/func_common.inl:248:16: error: 'std::round'
has not been declared
   using ::std::round;
                ^
/usr/local/include/glm/detail/func_common.inl: In instantiation of
'vecType<T, P> glm::round(const vecType<T, P>&) [with T = float;
glm::precision P = (glm::precision)0u; vecType = glm::tvec2]':
/usr/local/include/glm/detail/func_packing.inl:47:55: required from here
/usr/local/include/glm/detail/func_common.inl:262:59: error: no matching
function for call to 'glm::detail::functor1<float, float,
(glm::precision)0u, glm::tvec2>::call(<unresolved overloaded function
type>, const glm::tvec2<float, (glm::precision)0u>&)'
   return detail::functor1<T, T, P, vecType>::call(round, x);
                                                           ^
/usr/local/include/glm/detail/func_common.inl:262:59: note: candidate is:
In file included from
/usr/local/include/glm/detail/func_exponential.inl:34:0,
                 from
/usr/local/include/glm/detail/func_exponential.hpp:132,
                 from /usr/local/include/glm/detail/func_geometric.inl:33,
                 from /usr/local/include/glm/detail/func_geometric.hpp:142,
                 from /usr/local/include/glm/geometric.hpp:35,
                 from /usr/local/include/glm/gtc/matrix_transform.inl:33,
                 from /usr/local/include/glm/gtc/matrix_transform.hpp:394,
                 from
/wrkdirs/usr/ports/cad/kicad-devel/work/kicad-r6694/include/gal/opengl/vertex_manager.h:35,
                 from
/wrkdirs/usr/ports/cad/kicad-devel/work/kicad-r6694/include/gal/opengl/opengl_gal.h:35,
                 from
/wrkdirs/usr/ports/cad/kicad-devel/work/kicad-r6694/common/draw_panel_gal.cpp:40:
/usr/local/include/glm/detail/_vectorize.hpp:58:41: note: static
glm::tvec2<R, P> glm::detail::functor1<R, T, P, glm::tvec2>::call(R (*)(T),
const glm::tvec2<T, P>&) [with R = float; T = float; glm::precision P =
(glm::precision)0u]
   GLM_FUNC_QUALIFIER static tvec2<R, P> call(R (*Func) (T x), tvec2<T, P>
const & v)
                                         ^
/usr/local/include/glm/detail/_vectorize.hpp:58:41: note: no known
conversion for argument 1 from '<unresolved overloaded function type>' to
'float (*)(float)'
In file included from /usr/local/include/glm/detail/func_common.hpp:455:0,
                 from /usr/local/include/glm/detail/func_geometric.inl:34,
                 from /usr/local/include/glm/detail/func_geometric.hpp:142,
                 from /usr/local/include/glm/geometric.hpp:35,
                 from /usr/local/include/glm/gtc/matrix_transform.inl:33,
                 from /usr/local/include/glm/gtc/matrix_transform.hpp:394,
                 from
/wrkdirs/usr/ports/cad/kicad-devel/work/kicad-r6694/include/gal/opengl/vertex_manager.h:35,
                 from
/wrkdirs/usr/ports/cad/kicad-devel/work/kicad-r6694/include/gal/opengl/opengl_gal.h:35,
                 from
/wrkdirs/usr/ports/cad/kicad-devel/work/kicad-r6694/common/draw_panel_gal.cpp:40:
/usr/local/include/glm/detail/func_common.inl: In instantiation of
'vecType<T, P> glm::round(const vecType<T, P>&) [with T = float;
glm::precision P = (glm::precision)0u; vecType = glm::tvec4]':
/usr/local/include/glm/detail/func_packing.inl:105:52: required from here
/usr/local/include/glm/detail/func_common.inl:262:59: error: no matching
function for call to 'glm::detail::functor1<float, float,
(glm::precision)0u, glm::tvec4>::call(<unresolved overloaded function
type>, const glm::tvec4<float, (glm::precision)0u>&)'
   return detail::functor1<T, T, P, vecType>::call(round, x);
                                                           ^
/usr/local/include/glm/detail/func_common.inl:262:59: note: candidate is:
In file included from
/usr/local/include/glm/detail/func_exponential.inl:34:0,
                 from
/usr/local/include/glm/detail/func_exponential.hpp:132,
                 from /usr/local/include/glm/detail/func_geometric.inl:33,
                 from /usr/local/include/glm/detail/func_geometric.hpp:142,
                 from /usr/local/include/glm/geometric.hpp:35,
                 from /usr/local/include/glm/gtc/matrix_transform.inl:33,
                 from /usr/local/include/glm/gtc/matrix_transform.hpp:394,
                 from
/wrkdirs/usr/ports/cad/kicad-devel/work/kicad-r6694/include/gal/opengl/vertex_manager.h:35,
                 from
/wrkdirs/usr/ports/cad/kicad-devel/work/kicad-r6694/include/gal/opengl/opengl_gal.h:35,
                 from
/wrkdirs/usr/ports/cad/kicad-devel/work/kicad-r6694/common/draw_panel_gal.cpp:40:
/usr/local/include/glm/detail/_vectorize.hpp:76:41: note: static
glm::tvec4<R, P> glm::detail::functor1<R, T, P, glm::tvec4>::call(R (*)(T),
const glm::tvec4<U, P>&) [with R = float; T = float; glm::precision P =
(glm::precision)0u]
   GLM_FUNC_QUALIFIER static tvec4<R, P> call(R (*Func) (T x), tvec4<T, P>
const & v)
                                         ^
/usr/local/include/glm/detail/_vectorize.hpp:76:41: note: no known
conversion for argument 1 from '<unresolved overloaded function type>' to
'float (*)(float)'
*** [common/CMakeFiles/gal.dir/draw_panel_gal.cpp.o] Error code 1

Stop in /wrkdirs/usr/ports/cad/kicad-devel/work/kicad-r6694.
*** [common/CMakeFiles/gal.dir/all] Error code 1

Stop in /wrkdirs/usr/ports/cad/kicad-devel/work/kicad-r6694.
*** [all] Error code 1

Stop in /wrkdirs/usr/ports/cad/kicad-devel/work/kicad-r6694.
*** [do-build] Error code 1
...
Any clues how to fix this?

Thanks in advance!

Greetings
---
Mike



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAPEmwasEN2BxDMZ5Pgbodck%2BPpxOS-H54E8qB27-hitRyboXSQ>