Package: sphde
Version: 1.3.0-1
Severity: important
Tags: sid + patch
Justification: FTBFS
User: debian-m...@lists.debian.org
Usertags: mips-patch
Package sphde_1.3.0-1 FTBFS on mips and mipsel with following error:
> /usr/bin/ld: /usr/lib/gcc/mipsel-linux-gnu/6/crtbeginT.o: relocation
> R_MIPS_HI16 against `a local symbol' can not be used when making a shared
> object; recompile with -fPIC
> /usr/lib/gcc/mipsel-linux-gnu/6/crtbeginT.o: error adding symbols: Bad value
> collect2: error: ld returned 1 exit status
Full build log:
https://buildd.debian.org/status/fetch.php?pkg=sphde&arch=mipsel&ver=1.3.0-1&stamp=1473250605
First, we need to remove "-pie" flag from LDFLAGS (for mips and mipsel arches)
to reslove mentioned error.
After that, build fails because there is no support for mips32 architecture.
We need to define proper addresses (__SAS_BASE_ADDRESS, RegionSize, SegmentSize
and __SAS_SHMAP_MAX) for mips/mipsel into "sasconf.h" file.
I have created and attached a patches that includes these changes and resolves
these issues.
Patch remove-pie-for-mips32.patch removes "pie" flag from LDFLAGS for
mips/mipsel.
Patch add-mips32-support.patch adds support for mips/mipsel architectures.
Note:
First it is necessary to apply the patch I have proposed here:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=844613
With these patches package builds successfully.
Regards,
Radovan
--- sphde-1.3.0_orig/debian/rules 2016-08-31 12:40:30.000000000 +0000
+++ sphde-1.3.0/debian/rules 2016-12-15 09:07:47.000000000 +0000
@@ -7,6 +7,11 @@ ifeq ($(shell dpkg-architecture -qDEB_HO
export DEB_LDFLAGS_MAINT_STRIP = -pie
endif
+ifneq (,$(filter $(shell dpkg-architecture -qDEB_HOST_ARCH),mips mipsel))
+ export DEB_LDFLAGS_MAINT_STRIP = -pie
+endif
+
+
%:
dh $@ --with autoreconf,pkgkde_symbolshelper
--- sphde-1.3.0.orig/src/sasconf.h
+++ sphde-1.3.0/src/sasconf.h
@@ -86,6 +86,13 @@
# define __SAS_SHMAP_MAX 0x0001000000L /* 16MB */
#endif
+#ifdef __mips__
+# define __SAS_BASE_ADDRESS 0x60000000UL /* 1,5GB */
+# define RegionSize 0x10000000UL /* 256MB */
+# define SegmentSize 0x01000000UL /* 16MB */
+# define __SAS_SHMAP_MAX 0x01000000UL /* 16MB */
+#endif
+
/*
* If the platform is not recognized above, select some resonable default.
*/