Skip to contentSkip to conversation

package/glm: fix musl build

PATCH New Bernd Kuhls 2 participants 3 messages Jun 12, 2017 – Jun 21, 2017

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 package/glm: fix musl build

The musl-related build error occurs because -pedantic is used for gcc which is broken with musl, for details refer to
https://git.buildroot.net/buildroot/commit/package/jsoncpp?id=6b462ac8bd4021dda4f84198a127f1be7b46087d

Glm uses this option only if GLM_TEST_ENABLE_LANG_EXTENSIONS=OFF, to solve the problem we set it to ON in order to use another code path in CMakeLists.txt which causes no other changes to compiler options because GLM_TEST_ENABLE_FAST_MATH defaults to OFF.

To sum up, this patch only prevents -pedantic being added to gcc options which fixes
http://autobuild.buildroot.net/results/890/8900d0c45c859edd95bb3610b224b9f222ef7493/

---
 package/glm/glm.mk | 2 ++
 1 file changed, 2 insertions(+)
package/glm/glm.mk +2 -0
index 1f23146dd..96947afea 100644
@@ -14,4 +14,6 @@ GLM_LICENSE_FILES = copying.txt
 GLM_INSTALL_STAGING = YES
 GLM_INSTALL_TARGET = NO
 
+GLM_CONF_OPTS = -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON
+
 $(eval $(cmake-package))
Signature · 1 line
2.11.0
#1 lore raw

PATCH 1/1 package/glm: fix musl build

Hello,

Quoted 4 lines · Bernd Kuhls

The musl-related build error occurs because -pedantic is used for gcc which is broken with musl, for details refer to
https://git.buildroot.net/buildroot/commit/package/jsoncpp?id=6b462ac8bd4021dda4f84198a127f1be7b46087d

Quoted 8 lines

Glm uses this option only if GLM_TEST_ENABLE_LANG_EXTENSIONS=OFF, to solve the problem we set it to ON in order to use another code path in CMakeLists.txt which causes no other changes to compiler options because GLM_TEST_ENABLE_FAST_MATH defaults to OFF.

To sum up, this patch only prevents -pedantic being added to gcc options which fixes
http://autobuild.buildroot.net/results/890/8900d0c45c859edd95bb3610b224b9f222ef7493/

While I agree this works, it looks very, very fragile and clunky. Shouldn't we patch out the -pedantic instead?

It's much more explicit and less likely to break.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
#2 lore raw

PATCH 1/1 package/glm: fix musl build

In reply to Bernd Kuhls

Hello,

Quoted 9 lines · Bernd Kuhls

The musl-related build error occurs because -pedantic is used for gcc which is broken with musl, for details refer to
https://git.buildroot.net/buildroot/commit/package/jsoncpp?id=6b462ac8bd4021dda4f84198a127f1be7b46087d

Glm uses this option only if GLM_TEST_ENABLE_LANG_EXTENSIONS=OFF, to solve the problem we set it to ON in order to use another code path in CMakeLists.txt which causes no other changes to compiler options because GLM_TEST_ENABLE_FAST_MATH defaults to OFF.

Quoted 5 lines

To sum up, this patch only prevents -pedantic being added to gcc options which fixes
http://autobuild.buildroot.net/results/890/8900d0c45c859edd95bb3610b224b9f222ef7493/

The problem fixed by this patch no longer exists with the latest rebuild of the musl toolchains, which use gcc 6.x over gcc 5.x. However, I haven't been able to identify which commit in gcc is fixing this. Could you investigate this a little bit?

Also, I would prefer a patch to the package that removes -pedantic rather than the fragile solution you proposed.

Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com