Bug#1111064: laserboy: FTBFS: Fix build error on non-x86_64 architectures
Source: laserboy
Version: 2024.03.08+dfsg-1
Severity: normal
Tags: FTBFS patch
User: debian-loongarch@lists.debian.org
Usertags: loong64
Dear maintainers,
Compiling the laserboy failed on loong64 and other non x86_64
architectures in the Debian Package Auto-Building environment.
The error log is as follows,
```
......
make[2]: Entering directory '/<<PKGBUILDDIR>>/src'
g++ -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2
-ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat
-Werror=format-security -Wl,-z,relro -Wl,-z,now -c LaserBoy.cpp -o
../build/LaserBoy.obj -D__WITH_SDL2__ -std=c++17 -O3 -msse2 -mfpmath=sse
-Wall -Wextra -frounding-math -fsignaling-nans -Wno-unused-parameter
-Wno-implicit-fallthrough -Wno-missing-field-initializers
-Wno-misleading-indentation -Wno-unused-but-set-variable
-Wno-mismatched-new-delete -fexpensive-optimizations -static
-L/usr/local/lib -lSDL2 -lboost_filesystem -lboost_system -lpthread
g++: error: unrecognized command-line option ‘-msse2’
g++: error: unrecognized command-line option ‘-mfpmath=sse’
......
```
The full build log can be found at
https://buildd.debian.org/status/package.php?p=laserboy&suite=sid.
Maybe we need to filter out '-msse2 -mfpmath=sse' on non-x86_64
architectures.
Please consider the patch I attached.
Based on attached patch, I have built laserboy
(2024.03.08+dfsg-1+loong64) successfully on locally.
```
......
dh_builddeb
dpkg-deb: building package 'laserboy-indep' in
'../laserboy-indep_2024.03.08+dfsg-1+loong64_all.deb'.
dpkg-deb: building package 'laserboy' in
'../laserboy_2024.03.08+dfsg-1+loong64_loong64.deb'.
dpkg-deb: building package 'laserboy-dbgsym' in
'../laserboy-dbgsym_2024.03.08+dfsg-1+loong64_loong64.deb'.
dpkg-genbuildinfo
-O../laserboy_2024.03.08+dfsg-1+loong64_loong64.buildinfo
dpkg-genchanges -O../laserboy_2024.03.08+dfsg-1+loong64_loong64.changes
```
Your opinions are welcome.
Best regards,
Dandan Zhang
Description: Fix FTBFS on non-x86_64 ARCH
.
laserboy (2024.03.08+dfsg-1+loong64) unstable; urgency=medium
.
* Do not support -msse2 and -mfpmath=sse CPPFLAGS on non-x86_64 ARCH
Author: Dandan Zhang <zhangdandan@loongson.cn>
---
Last-Update: 2025-08-14
--- laserboy-2024.03.08+dfsg.orig/src/Makefile
+++ laserboy-2024.03.08+dfsg/src/Makefile
@@ -6,6 +6,7 @@ RM = rm -f
STRIP = strip -s -v
CPP = g++
LIBS = -L/usr/local/lib -lSDL2 -lboost_filesystem -lboost_system -lpthread
+MACHINE ?= $(shell uname -m)
CPPFLAGS = -D__WITH_SDL2__ \
-std=c++17 \
@@ -28,6 +29,11 @@ CPPFLAGS = -D__WITH_SDL2__ \
$(LIB) \
$(LIBS)
+ifneq ($(MACHINE), x86_64)
+ # If we're building on a non-x86_64 machine, do not use -msse2 and -mfpmath=sse CPPFLAGS.
+ CPPFLAGS := $(filter-out -msse2 -mfpmath=sse, $(CPPFLAGS))
+endif
+
HEADERS = LaserBoy_includes.hpp \
LaserBoy_macros.hpp \
LaserBoy_common.hpp \
Reply to: