Source: cgsi-gsoap Version: 1.3.11-1 Tags: patch User: debian-cr...@lists.debian.org Usertags: ftcbfs
cgsi-gsoap fails to cross build from source for multiple reasons. The first issue is hard coding the build architecture pkg-config in debian/rules to discover gsoap. dpkg's buildtools.mk gives the appropriate pkg-config. Next, it does not pass cross tools to make. The easiest way to fix this is using dh_auto_build. Finally, the upstream build system uses the CPP variable - which is normally used for the C preprocessor - to locate the C++ compiler. I recommend renaming it to CXX, which is was dh_auto_build passes. Please consider applying the attached patch to make cgsi-gsoap cross buildable. Helmut
diff --minimal -Nru cgsi-gsoap-1.3.11/debian/changelog cgsi-gsoap-1.3.11/debian/changelog --- cgsi-gsoap-1.3.11/debian/changelog 2018-06-12 09:40:13.000000000 +0200 +++ cgsi-gsoap-1.3.11/debian/changelog 2020-12-24 21:37:30.000000000 +0100 @@ -1,3 +1,13 @@ +cgsi-gsoap (1.3.11-1.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Fix FTCBFS: (Closes: #-1) + + Use the host architecture pkg-config. + + Let dh_auto_build pass cross tools to make. + + cross.patch: Rename CPP variable to CXX. + + -- Helmut Grohne <hel...@subdivi.de> Thu, 24 Dec 2020 21:37:30 +0100 + cgsi-gsoap (1.3.11-1) unstable; urgency=medium * Update to version 1.3.11 diff --minimal -Nru cgsi-gsoap-1.3.11/debian/patches/cross.patch cgsi-gsoap-1.3.11/debian/patches/cross.patch --- cgsi-gsoap-1.3.11/debian/patches/cross.patch 1970-01-01 01:00:00.000000000 +0100 +++ cgsi-gsoap-1.3.11/debian/patches/cross.patch 2020-12-24 21:37:30.000000000 +0100 @@ -0,0 +1,69 @@ +--- cgsi-gsoap-1.3.11.orig/src/Makefile ++++ cgsi-gsoap-1.3.11/src/Makefile +@@ -13,7 +13,7 @@ + ## implicit rule flags ## + SHELL = /bin/sh + CC = gcc +-CPP = g++ ++CXX = g++ + CFLAGS = -Wall -g -fPIC + LDFLAGS = + RANLIB = ranlib +@@ -174,14 +174,14 @@ + + ifneq ($(WITH_CPP_LIBS), $(EMPTY)) + cgsi_plugin_cpp.o: cgsi_plugin.c cgsi_plugin.h cgsi_plugin_int.h +- $(CPP) $(CFLAGS) $(GLOBUS_INCLUDE) -c -o $@ $< ++ $(CXX) $(CFLAGS) $(GLOBUS_INCLUDE) -c -o $@ $< + + libcgsi_plugin$(GSOAP_VERSION)_cpp.a: cgsi_plugin_cpp.o + $(AR) $(ARFLAGS) $@ $? + $(RANLIB) $@ + + libcgsi_plugin$(GSOAP_VERSION)_cpp.so: cgsi_plugin_cpp.o +- $(CPP) $(SHLIBLDFLAGS) -Wl,-soname,$@.$(VMAJOR) -o $@ $? $(SHLIBREQLIBS) $(GLOBUS_LIBS) ++ $(CXX) $(SHLIBLDFLAGS) -Wl,-soname,$@.$(VMAJOR) -o $@ $? $(SHLIBREQLIBS) $(GLOBUS_LIBS) + endif + + ifneq ($(USE_VOMS), $(EMPTY)) +@@ -217,34 +217,34 @@ + + ifneq ($(WITH_CPP_LIBS), $(EMPTY)) + cgsi_plugin_voms_cpp.o: cgsi_plugin.c cgsi_plugin.h cgsi_plugin_int.h +- $(CPP) $(CFLAGS) $(VOMS_FLAGS) $(GLOBUS_INCLUDE) -c -o $@ $< ++ $(CXX) $(CFLAGS) $(VOMS_FLAGS) $(GLOBUS_INCLUDE) -c -o $@ $< + + libcgsi_plugin_voms$(GSOAP_VERSION)_cpp.a: cgsi_plugin_voms_cpp.o + $(AR) $(ARFLAGS) $@ $? + $(RANLIB) $@ + + libcgsi_plugin_voms$(GSOAP_VERSION)_cpp.so: cgsi_plugin_voms_cpp.o +- $(CPP) $(SHLIBLDFLAGS) -Wl,-soname,$@.$(VMAJOR) -o $@ $? $(SHLIBREQLIBS) $(GLOBUS_LIBS) $(VOMS_LIBS) ++ $(CXX) $(SHLIBLDFLAGS) -Wl,-soname,$@.$(VMAJOR) -o $@ $? $(SHLIBREQLIBS) $(GLOBUS_LIBS) $(VOMS_LIBS) + + cgsi_plugin_voms_$(GLOBUS_FLAVOUR)_cpp.o: cgsi_plugin.c cgsi_plugin.h cgsi_plugin_int.h +- $(CPP) $(CFLAGS) $(VOMS_FLAGS) $(GLOBUS_INCLUDE) -c -o $@ $< ++ $(CXX) $(CFLAGS) $(VOMS_FLAGS) $(GLOBUS_INCLUDE) -c -o $@ $< + + libcgsi_plugin_voms$(GSOAP_VERSION)_$(GLOBUS_FLAVOUR)_cpp.a: cgsi_plugin_voms_$(GLOBUS_FLAVOUR)_cpp.o + $(AR) $(ARFLAGS) $@ $? + $(RANLIB) $@ + + libcgsi_plugin_voms$(GSOAP_VERSION)_$(GLOBUS_FLAVOUR)_cpp.so: cgsi_plugin_voms_$(GLOBUS_FLAVOUR)_cpp.o +- $(CPP) $(SHLIBLDFLAGS) -Wl,-soname,$@.$(VMAJOR) -o $@ $? $(SHLIBREQLIBS) $(GLOBUS_LIBS) $(VOMS_LIBS) ++ $(CXX) $(SHLIBLDFLAGS) -Wl,-soname,$@.$(VMAJOR) -o $@ $? $(SHLIBREQLIBS) $(GLOBUS_LIBS) $(VOMS_LIBS) + + cgsi_plugin_voms_$(GLOBUS_FLAVOUR_PTHR)_cpp.o: cgsi_plugin.c cgsi_plugin.h cgsi_plugin_int.h +- $(CPP) $(CFLAGS) $(VOMS_FLAGS_PTHR) $(GLOBUS_INCLUDE_PTHR) -c -o $@ $< ++ $(CXX) $(CFLAGS) $(VOMS_FLAGS_PTHR) $(GLOBUS_INCLUDE_PTHR) -c -o $@ $< + + libcgsi_plugin_voms$(GSOAP_VERSION)_$(GLOBUS_FLAVOUR_PTHR)_cpp.a: cgsi_plugin_voms_$(GLOBUS_FLAVOUR_PTHR)_cpp.o + $(AR) $(ARFLAGS) $@ $? + $(RANLIB) $@ + + libcgsi_plugin_voms$(GSOAP_VERSION)_$(GLOBUS_FLAVOUR_PTHR)_cpp.so: cgsi_plugin_voms_$(GLOBUS_FLAVOUR_PTHR)_cpp.o +- $(CPP) $(SHLIBLDFLAGS) -Wl,-soname,$@.$(VMAJOR) -o $@ $? $(SHLIBREQLIBS) $(GLOBUS_LIBS_PTHR) $(VOMS_LIBS) ++ $(CXX) $(SHLIBLDFLAGS) -Wl,-soname,$@.$(VMAJOR) -o $@ $? $(SHLIBREQLIBS) $(GLOBUS_LIBS_PTHR) $(VOMS_LIBS) + endif + + endif diff --minimal -Nru cgsi-gsoap-1.3.11/debian/patches/series cgsi-gsoap-1.3.11/debian/patches/series --- cgsi-gsoap-1.3.11/debian/patches/series 2018-06-12 09:40:13.000000000 +0200 +++ cgsi-gsoap-1.3.11/debian/patches/series 2020-12-24 21:37:30.000000000 +0100 @@ -1 +1,2 @@ CGSI-gSOAP-library-linking.patch +cross.patch diff --minimal -Nru cgsi-gsoap-1.3.11/debian/rules cgsi-gsoap-1.3.11/debian/rules --- cgsi-gsoap-1.3.11/debian/rules 2018-02-23 17:19:45.000000000 +0100 +++ cgsi-gsoap-1.3.11/debian/rules 2020-12-24 21:37:26.000000000 +0100 @@ -7,6 +7,8 @@ $(shell date -d "$$(dpkg-parsechangelog -c 1 -S Date)" +%s) -include /usr/share/dpkg/buildflags.mk +-include /usr/share/dpkg/buildtools.mk +PKG_CONFIG ?= pkg-config INSTALLDIR = $(CURDIR)/debian/tmp @@ -45,8 +47,8 @@ dh_testdir . ./VERSION && \ - cd src && \ - $(MAKE) CFLAGS="$(CFLAGS) $(CPPFLAGS) -fPIC -I. `pkg-config --cflags gsoap`" \ + dh_auto_build --sourcedirectory=src --buildsystem=makefile -- \ + CFLAGS="$(CFLAGS) $(CPPFLAGS) -fPIC -I. `$(PKG_CONFIG) --cflags gsoap`" \ SHLIBLDFLAGS="$(LDFLAGS) -shared" \ USE_VOMS=yes WITH_EMI=yes WITH_CPP_LIBS=yes \ LIBDIR=lib/$(DEB_HOST_MULTIARCH) VERSION=$$VERSION all doc @@ -59,7 +61,7 @@ . ./VERSION && \ cd src && \ - $(MAKE) CFLAGS="$(CFLAGS) $(CPPFLAGS) -fPIC -I. `pkg-config --cflags gsoap`" \ + $(MAKE) CFLAGS="$(CFLAGS) $(CPPFLAGS) -fPIC -I. `$(PKG_CONFIG) --cflags gsoap`" \ SHLIBLDFLAGS="$(LDFLAGS) -shared" \ USE_VOMS=yes WITH_EMI=yes WITH_CPP_LIBS=yes \ LIBDIR=lib/$(DEB_HOST_MULTIARCH) VERSION=$$VERSION clean @@ -86,7 +88,7 @@ . ./VERSION && \ cd src && \ - $(MAKE) CFLAGS="$(CFLAGS) $(CPPFLAGS) -fPIC -I. `pkg-config --cflags gsoap`" \ + $(MAKE) CFLAGS="$(CFLAGS) $(CPPFLAGS) -fPIC -I. `$(PKG_CONFIG) --cflags gsoap`" \ SHLIBLDFLAGS="$(LDFLAGS) -shared" \ USE_VOMS=yes WITH_EMI=yes WITH_CPP_LIBS=yes \ LIBDIR=lib/$(DEB_HOST_MULTIARCH) VERSION=$$VERSION \