← Back to team overview

kicad-developers team mailing list archive

Re: Build broken against glm 0.9.8.4

 

It looks like the fedora builds are working again. I guess the issue I
noticed was in fedora then.  Thanks.

2018-02-07 16:09 GMT+01:00 Maciej Sumiński <maciej.suminski@xxxxxxx>:

> I was told the problem is gcc 7.3 and glm 0.9.8.x combination. There is
> a patch on our bug tracker [1] that is meant to address the issue, so
> most likely the error is not related to the recent changes in our code.
>
> Regards,
> Orson
>
> 1. https://bugs.launchpad.net/kicad/+bug/1746546/comments/6
>
> On 02/07/2018 03:53 PM, Steven A. Falco wrote:
> > On 02/07/2018 08:46 AM, Maciej Sumiński wrote:
> >> Thank you Steven, that is a valuable data point. Would you try updating
> >> gcc or building KiCad with clang? I guess that could gives the final
> answer.
> >>
> >> Regards,
> >> Orson
> >>
> >
> > I'm trying that experiment, but not getting very far.  The gcc used by
> fedora27 is already version 7.3.1, which is about as new as it gets.  So I
> don't think I can update gcc any further.
> >
> > For clang, I get an early build error:
> >
> > clang-5.0: error: unknown argument: '-fabi-version=11'
> >
> > The full compiler command looks like this - note that clang++ is being
> used, but there are also several gcc-specific flags present:
> >
> > usr/bin/clang++  -DCOMPILE_SGLIB -DHAVE_STDINT_H -DPCBNEW -DWXUSINGDLL
> -DWX_COMPATIBILITY -D_FILE_OFFSET_BITS=64 -D__WXGTK__ -Dkicad_3dsg_EXPORTS
> -I/builddir/build/BUILD/kicad-r11969.7ad436c7/include
> -I/builddir/build/BUILD/kicad-r11969.7ad436c7/3d-viewer/. -isystem
> /usr/lib64/wx/include/gtk2-unicode-3.0-gtk2 -isystem
> /usr/include/wx-3.0-gtk2 -I/builddir/build/BUILD/kicad-r11969.7ad436c7/3d-viewer
> -I/builddir/build/BUILD/kicad-r11969.7ad436c7/3d-viewer/../pcbnew
> -I/builddir/build/BUILD/kicad-r11969.7ad436c7/3d-viewer/../polygon
> -I/builddir/build/BUILD/kicad-r11969.7ad436c7/3d-viewer/3d_canvas
> -I/builddir/build/BUILD/kicad-r11969.7ad436c7/3d-viewer/3d_cache
> -I/builddir/build/BUILD/kicad-r11969.7ad436c7/3d-viewer/3d_rendering
> -I/builddir/build/BUILD/kicad-r11969.7ad436c7/3d-viewer/3d_viewer
> -I/builddir/build/BUILD/kicad-r11969.7ad436c7
> -I/builddir/build/BUILD/kicad-r11969.7ad436c7/include/gal/opengl  -Wall
> -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2
> -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4
> -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64
> -mtune=generic -Wno-unused-local-typedefs -Wno-strict-aliasing -pthread
> -fabi-version=11 -g3 -ggdb3 -DDEBUG -Wno-deprecated-declarations -fPIC
> -fvisibility=hidden -fvisibility-inlines-hidden   -std=gnu++11 -o
> CMakeFiles/kicad_3dsg.dir/sg_base.cpp.o -c /builddir/build/BUILD/kicad-
> r11969.7ad436c7/3d-viewer/3d_cache/sg/sg_base.cpp
> >
> > So while I've gotten the build to use clang, it seems there are several
> gcc-only flags that are still being used.
> >
> > Are there any flags that I need to pass to either cmake or to gnu make
> to fix this?  Seems like just overriding CC=clang and CXX=clang++ is
> insufficient to switch compilers.
> >
> >       Steve
> >
> >> On 02/07/2018 02:34 PM, Steven A. Falco wrote:
> >>> On 02/07/2018 08:16 AM, Maciej Sumiński wrote:
> >>>> Hi Steven,
> >>>>
> >>>> Could you confirm that e0f7958d breaks Fedora builds? It is a bit
> >>>> strange, as I build KiCad against the same glm version and there are
> no
> >>>> errors reported. Another peculiar issue is that the error is reported
> >>>> for a file that has not been touched in the mentioned commit.
> >>>>
> >>>> Regards,
> >>>> Orson
> >>>
> >>> I don't think e0f7958d (from Feb 2, 2018) is relevant in my case.  A
> few days ago I was having no problems building.  But as of yesterday, when
> I tried rebuilding 7ad436c7 (from Dec 4 2017), I started seeing the errors
> that I reported.  I suspect it has more to do with a recent update to
> Fedora27, perhaps in gcc or a library, that has suddenly exposed the issue,
> rather than a specific commit to kicad.
> >>>
> >>> Unfortunately, I'm not a C++ dev, so I'm struggling to figure out what
> is going on.  I have ~40 years of embedded C development experience, but
> very little C++.
> >>>
> >>>     Steve
> >>>
> >>>>
> >>>> On 02/07/2018 02:13 PM, Steven A. Falco wrote:
> >>>>> On 02/07/2018 06:37 AM, Nick Østergaard wrote:
> >>>>>> Hi
> >>>>>>
> >>>>>> Just a heads up.
> >>>>>>
> >>>>>> I think e0f7958dbdab89f38bacc6a567e21b38a0926aee broke the build
> on fedora26 and fedora 27 which uses glm 0.9.8.4. Caused by fix in
> https://bugs.launchpad.net/kicad/+bug/1746546.
> >>>>>>
> >>>>>> /usr/include/glm/detail/type_vec4_simd.inl:156:11: error: 'struct
> glm::tvec4<float, (glm::precision)5>' has no member named 'data'
> >>>>>> /usr/include/glm/detail/type_vec4_simd.inl:156:11: error: 'struct
> glm::tvec4<float, (glm::precision)5>' has no member named 'data'
> >>>>>>     Result.data = _mm_mul_ps(a.data, _mm_rcp_ps(b.data));
> >>>>>>     Result.data = _mm_mul_ps(a.data, _mm_rcp_ps(b.data));
> >>>>>>            ^~~~
> >>>>>>            ^~~~
> >>>>>>
> >>>>>> https://copr.fedorainfracloud.org/coprs/g/kicad/kicad/build/711229/
> >>>>>>
> >>>>>> Nick
> >>>>>>
> >>>>>
> >>>>> I've been seeing that problem on my Fedora27 builds too.  Below are
> the relevant lines from the build log.
> >>>>>
> >>>>>   Steve
> >>>>>
> >>>>> cd /builddir/build/BUILD/kicad-r11969.a35cc44bd1/bitmaps_png &&
> /usr/bin/c++  -DHAVE_STDINT_H -DUSE_OPENMP -DWXUSINGDLL -DWX_COMPATIBILITY
> -D_FILE_OFFSET_BITS=64 -D__WXGTK__ -I/builddir/build/BUILD/kicad-r11969.a35cc44bd1/include
> -I/builddir/build/BUILD/kicad-r11969.a35cc44bd1/bitmaps_png/. -isystem
> /usr/lib64/wx/include/gtk2-unicode-3.0-gtk2 -isystem
> /usr/include/wx-3.0-gtk2 -I/builddir/build/BUILD/kicad-r11969.a35cc44bd1
> -Wall -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2
> -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4
> -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64
> -mtune=generic -Wsuggest-override -Wno-unused-local-typedefs
> -Wno-strict-aliasing -fopenmp -pthread -fabi-version=11 -g3 -ggdb3 -DDEBUG
> -Wno-deprecated-declarations -fPIC -fvisibility=hidden
> -fvisibility-inlines-hidden   -std=gnu++11 -o CMakeFiles/bitmaps.dir/cpp_26/axis3d_bottom.cpp.o
> -c /builddir/build/BUILD/kicad-r11969.a35cc44bd1/bitmaps_png/
> cpp_26/axis3d_bottom.cpp
> >>>>> In file included from /usr/include/glm/detail/func_matrix.inl:399:0,
> >>>>>                  from /usr/include/glm/detail/func_matrix.hpp:149,
> >>>>>                  from /usr/include/glm/detail/type_mat2x2.inl:4,
> >>>>>                  from /usr/include/glm/detail/type_mat2x2.hpp:182,
> >>>>>                  from /usr/include/glm/mat2x2.hpp:6,
> >>>>>                  from /usr/include/glm/glm.hpp:71,
> >>>>>                  from /builddir/build/BUILD/kicad-
> r11969.a35cc44bd1/3d-viewer/./3d_cache/sg/sg_node.h:38,
> >>>>>                  from /builddir/build/BUILD/kicad-
> r11969.a35cc44bd1/3d-viewer/3d_cache/sg/sg_node.cpp:31:
> >>>>> /usr/include/glm/detail/func_matrix_simd.inl: In function 'typename
> glm::detail::outerProduct_trait<T, P, colType, rowType>::type
> glm::outerProduct(const vecTypeA<T, P>&, const vecTypeB<T, P>&) [with T =
> float; glm::precision P = (glm::precision)5; vecTypeA = glm::tvec4;
> vecTypeB = glm::tvec4; typename glm::detail::outerProduct_trait<T, P,
> colType, rowType>::type = glm::tmat4x4<float, (glm::precision)5>]':
> >>>>> /usr/include/glm/detail/func_matrix_simd.inl:67:27: error: 'const
> struct glm::tvec4<float, (glm::precision)5>' has no member named 'data'
> >>>>>    glm_mat4_outerProduct(c.data, r.data,
> *reinterpret_cast<__m128(*)[4]>(&m[0].data));
> >>>>>
> >>>>>                            ^~~~
> >>>>> /usr/include/glm/detail/func_matrix_simd.inl:67:35: error: 'const
> struct glm::tvec4<float, (glm::precision)5>' has no member named 'data'
> >>>>>    glm_mat4_outerProduct(c.data, r.data,
> *reinterpret_cast<__m128(*)[4]>(&m[0].data));
> >>>>>
> >>>>>                                    ^~~~
> >>>>> /usr/include/glm/detail/func_matrix_simd.inl:67:79: error:
> 'glm::tmat4x4<float, (glm::precision)5>::col_type {aka struct
> glm::tvec4<float, (glm::precision)5>}' has no member named 'data'
> >>>>>    glm_mat4_outerProduct(c.data, r.data,
> *reinterpret_cast<__m128(*)[4]>(&m[0].data));
> >>>>>
> >>>>>
>           ^~~~
> >>>>> /usr/include/glm/detail/func_matrix_simd.inl: In function 'typename
> glm::detail::outerProduct_trait<T, P, colType, rowType>::type
> glm::outerProduct(const vecTypeA<T, P>&, const vecTypeB<T, P>&) [with T =
> float; glm::precision P = (glm::precision)4; vecTypeA = glm::tvec4;
> vecTypeB = glm::tvec4; typename glm::detail::outerProduct_trait<T, P,
> colType, rowType>::type = glm::tmat4x4<float, (glm::precision)4>]':
> >>>>> /usr/include/glm/detail/func_matrix_simd.inl:75:27: error: 'const
> struct glm::tvec4<float, (glm::precision)4>' has no member named 'data'
> >>>>>    glm_mat4_outerProduct(c.data, r.data,
> *reinterpret_cast<__m128(*)[4]>(&m[0].data));
> >>>>>
> >>>>>                            ^~~~
> >>>>> /usr/include/glm/detail/func_matrix_simd.inl:75:35: error: 'const
> struct glm::tvec4<float, (glm::precision)4>' has no member named 'data'
> >>>>>    glm_mat4_outerProduct(c.data, r.data,
> *reinterpret_cast<__m128(*)[4]>(&m[0].data));
> >>>>>
> >>>>>                                    ^~~~
> >>>>> /usr/include/glm/detail/func_matrix_simd.inl:75:79: error:
> 'glm::tmat4x4<float, (glm::precision)4>::col_type {aka struct
> glm::tvec4<float, (glm::precision)4>}' has no member named 'data'
> >>>>>    glm_mat4_outerProduct(c.data, r.data,
> *reinterpret_cast<__m128(*)[4]>(&m[0].data));
> >>>>>
> >>>>>
>           ^~~~
> >>>>> /usr/include/glm/detail/func_matrix_simd.inl: In function 'typename
> glm::detail::outerProduct_trait<T, P, colType, rowType>::type
> glm::outerProduct(const vecTypeA<T, P>&, const vecTypeB<T, P>&) [with T =
> float; glm::precision P = (glm::precision)3; vecTypeA = glm::tvec4;
> vecTypeB = glm::tvec4; typename glm::detail::outerProduct_trait<T, P,
> colType, rowType>::type = glm::tmat4x4<float, (glm::precision)3>]':
> >>>>> /usr/include/glm/detail/func_matrix_simd.inl:83:27: error: 'const
> struct glm::tvec4<float, (glm::precision)3>' has no member named 'data'
> >>>>>    glm_mat4_outerProduct(c.data, r.data,
> *reinterpret_cast<__m128(*)[4]>(&m[0].data));
> >>>>>
> >>>>>                            ^~~~
> >>>>> /usr/include/glm/detail/func_matrix_simd.inl:83:35: error: 'const
> struct glm::tvec4<float, (glm::precision)3>' has no member named 'data'
> >>>>>    glm_mat4_outerProduct(c.data, r.data,
> *reinterpret_cast<__m128(*)[4]>(&m[0].data));
> >>>>>
> >>>>>                                    ^~~~
> >>>>> /usr/include/glm/detail/func_matrix_simd.inl:83:79: error:
> 'glm::tmat4x4<float, (glm::precision)3>::col_type {aka struct
> glm::tvec4<float, (glm::precision)3>}' has no member named 'data'
> >>>>>    glm_mat4_outerProduct(c.data, r.data,
> *reinterpret_cast<__m128(*)[4]>(&m[0].data));
> >>>>>
> >>>>> _______________________________________________
> >>>>> Mailing list: https://launchpad.net/~kicad-developers
> >>>>> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> >>>>> Unsubscribe : https://launchpad.net/~kicad-developers
> >>>>> More help   : https://help.launchpad.net/ListHelp
> >>>>>
> >>>>
> >>>>
> >>>>
> >>>>
> >>>> _______________________________________________
> >>>> Mailing list: https://launchpad.net/~kicad-developers
> >>>> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> >>>> Unsubscribe : https://launchpad.net/~kicad-developers
> >>>> More help   : https://help.launchpad.net/ListHelp
> >>>>
> >>>
> >>
> >>
> >
>
>
>
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp
>
>

Follow ups

References