Bug#947968: openctm FTCBFS: builds for the build architecture
Helmut Grohne
helmut at subdivi.de
Thu Jan 2 20:23:16 GMT 2020
Source: openctm
Version: 1.0.3+dfsg1-2.1
Tags: patch
User: debian-cross at lists.debian.org
Usertags: ftcbfs
openctm fails to cross build from source, because it builds for the
build architecture. Using dh_auto_build partially fixes that, but the
upstream build system hard codes build architecture build tools in a few
occasions. Even then, it fails running bin2c, because it needs to be run
during build and thus built using the build architecture compiler.
Please consider applying the attached patch to fix all of the aspects.
Helmut
-------------- next part --------------
diff --minimal -Nru openctm-1.0.3+dfsg1/debian/changelog openctm-1.0.3+dfsg1/debian/changelog
--- openctm-1.0.3+dfsg1/debian/changelog 2019-12-19 00:54:01.000000000 +0100
+++ openctm-1.0.3+dfsg1/debian/changelog 2020-01-02 20:25:47.000000000 +0100
@@ -1,3 +1,13 @@
+openctm (1.0.3+dfsg1-2.2) UNRELEASED; urgency=medium
+
+ * Non-maintainer upload.
+ * Fix FTCBFS: (Closes: #-1)
+ + cross.patch: Make build tools substitutable.
+ + Let dh_auto_build pass cross tools to make.
+ + Build the build tool "bin2c" for the build architecture.
+
+ -- Helmut Grohne <helmut at subdivi.de> Thu, 02 Jan 2020 20:25:47 +0100
+
openctm (1.0.3+dfsg1-2.1) unstable; urgency=low
* Non-maintainer upload.
diff --minimal -Nru openctm-1.0.3+dfsg1/debian/patches/cross.patch openctm-1.0.3+dfsg1/debian/patches/cross.patch
--- openctm-1.0.3+dfsg1/debian/patches/cross.patch 1970-01-01 01:00:00.000000000 +0100
+++ openctm-1.0.3+dfsg1/debian/patches/cross.patch 2020-01-02 20:25:47.000000000 +0100
@@ -0,0 +1,32 @@
+--- openctm-1.0.3+dfsg1.orig/lib/Makefile.linux
++++ openctm-1.0.3+dfsg1/lib/Makefile.linux
+@@ -72,7 +72,7 @@
+ $(RM) $(DYNAMICLIB) $(SONAME) $(LIBNAME) $(OBJS) $(LZMA_OBJS)
+
+ $(DYNAMICLIB): $(OBJS) $(LZMA_OBJS)
+- gcc $(LDFLAGS) -shared -s -Wl,-soname,$(SONAME) -o $@ $(OBJS) $(LZMA_OBJS) -lm
++ $(CC) $(LDFLAGS) -shared -s -Wl,-soname,$(SONAME) -o $@ $(OBJS) $(LZMA_OBJS) -lm
+ ln -s $(DYNAMICLIB) $(SONAME)
+ ln -s $(DYNAMICLIB) $(LIBNAME)
+
+--- openctm-1.0.3+dfsg1.orig/tools/Makefile.linux
++++ openctm-1.0.3+dfsg1/tools/Makefile.linux
+@@ -38,7 +38,8 @@
+ #PNGLITEDIR = pnglite
+
+ CXX = g++
+-CXXFLAGS += -W -Wall `pkg-config --cflags gtk+-2.0` -I$(OPENCTMDIR) -I$(RPLYDIR) -I$(GLEWDIR)
++PKG_CONFIG ?= pkg-config
++CXXFLAGS += -W -Wall `$(PKG_CONFIG) --cflags gtk+-2.0` -I$(OPENCTMDIR) -I$(RPLYDIR) -I$(GLEWDIR)
+
+ MESHOBJS = mesh.o meshio.o ctm.o ply.o rply.o stl.o 3ds.o dae.o obj.o lwo.o off.o wrl.o
+ CTMCONVOBJS = ctmconv.o common.o systimer.o convoptions.o $(MESHOBJS)
+@@ -109,7 +110,7 @@
+ # gcc -c -Os -W -I$(GLEWDIR) -o $@ $<
+
+ rply.o: $(RPLYDIR)/rply.c
+- gcc $(CPPFLAGS) $(CFLAGS) -c -O2 -W -I$(RPLYDIR) -o $@ $<
++ $(CC) $(CPPFLAGS) $(CFLAGS) -c -O2 -W -I$(RPLYDIR) -o $@ $<
+
+ #pnglite.o: $(PNGLITEDIR)/pnglite.c
+ # gcc -c -O2 -W -I$(PNGLITEDIR) -o $@ $<
diff --minimal -Nru openctm-1.0.3+dfsg1/debian/patches/series openctm-1.0.3+dfsg1/debian/patches/series
--- openctm-1.0.3+dfsg1/debian/patches/series 2018-03-24 18:01:59.000000000 +0100
+++ openctm-1.0.3+dfsg1/debian/patches/series 2020-01-02 20:25:47.000000000 +0100
@@ -1,2 +1,3 @@
makefiles
escape-hyphens-in-man
+cross.patch
diff --minimal -Nru openctm-1.0.3+dfsg1/debian/rules openctm-1.0.3+dfsg1/debian/rules
--- openctm-1.0.3+dfsg1/debian/rules 2019-12-19 00:51:25.000000000 +0100
+++ openctm-1.0.3+dfsg1/debian/rules 2020-01-02 20:25:47.000000000 +0100
@@ -3,7 +3,7 @@
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
-export DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
+include /usr/share/dpkg/architecture.mk
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
DPKG_EXPORT_BUILDFLAGS = 1
include /usr/share/dpkg/buildflags.mk
@@ -25,6 +25,10 @@
rm -rf $(TDIR)/tools/zlib
tar -jcf openctm_$(DEBVERSION).orig.tar.bz2 $(TDIR)
+override_dh_auto_build:
+ dpkg-architecture -a$(DEB_BUILD_ARCH) -f -c dh_auto_build --buildsystem=makefile --sourcedirectory=tools -- -f Makefile.linux bin2c
+ dh_auto_build
+
override_dh_compress:
dh_compress -X.pdf
More information about the debian-science-maintainers
mailing list