[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: