kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #33748
Re: Build broken against glm 0.9.8.4
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
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
>>
>
Attachment:
signature.asc
Description: OpenPGP digital signature
Follow ups
References