Bug#861678: libi8x FTBFS on 32bit: FAIL: valid/test-corpus

2017-05-30 Thread Radovan Birdic
Binary files 'test_deref/0015-0001' and 'test_deref/0011-0001' from test folder 
0.0.4 cause a problem.
Solution could be to threat these tests as the same tests from the 0.0.3 test 
folder:
https://gitlab.com/gbenson/libi8x/blob/master/tests/valid/test-corpus.c#L64-79

With these changes, package libi8x has been build successfully for mips, mipsel 
and 1386.

I have created and attached a patch that handles these tests.

Regards,
Radovan--- libi8x-0.0.3.orig/tests/valid/test-corpus.c
+++ libi8x-0.0.3/tests/valid/test-corpus.c
@@ -78,6 +78,15 @@ do_test (struct i8x_ctx *ctx, const char
 	expect_err = I8X_NOTE_UNHANDLED;
 }
 
+  if (strstr (filename, "/i8c/0.0.4/") != NULL)
+{
+  if (__WORDSIZE == 32
+  && strstr (filename, "/i8c/0.0.4/32") != NULL
+  && (strstr (filename, "/test_deref/0011-0001") != NULL
+  || strstr (filename, "/test_deref/0015-0001") != NULL))
+expect_err = I8X_NOTE_UNHANDLED;
+}
+
   struct i8x_func *func;
   err = i8x_func_new_bytecode (note, );
   i8x_note_unref (note);


Bug#862090: mathicgb FTBFS on big endian architectures: test fails

2017-05-08 Thread Radovan Birdic
Package: mathicgb
Version: 1.0~git20170104-1
Severity: important
Tags: sid + patch
Justification: FTBFS
User: debian-m...@lists.debian.org
Usertags: mips-patch

Hello,

Package mathicgb_1.0~git20170104-1 FTBFS on mips and other big endian 
architectures with following error:

>...
> make  check-TESTS
> make[2]: Entering directory '/«PKGBUILDDIR»'
> make[3]: Entering directory '/«PKGBUILDDIR»'
> FAIL: unittest
> 
>mathicgb 1.0: ./test-suite.log
> 
> 
> # TOTAL: 1
> # PASS:  0
> # SKIP:  0
> # XFAIL: 0
> # FAIL:  1
> # XPASS: 0
> # ERROR: 0
> 
> .. contents:: :depth: 2
> 
> FAIL: unittest
> ==
> ...

Full build log:
https://buildd.debian.org/status/fetch.php?pkg=mathicgb=mips=1.0~git20170104-1=1486639289=0

On upstream this issue is resolved with proposed commit:
https://github.com/Macaulay2/mathicgb/pull/9/commits/d8ae074c7f7655c3b85c2089cd7a05a98a70a46a

I have attached the patch.

With this patch package builds successfully on mips and mipsel.


Regards,
Radovan--- mathicgb-1.0~git20170104.orig/src/mathicgb/MonoMonoid.hpp
+++ mathicgb-1.0~git20170104/src/mathicgb/MonoMonoid.hpp
@@ -582,13 +582,9 @@ public:
   MATHICGB_ASSERT(i == varCount() / 2 || access(a, i*2+1) >= 0);
   
   uint64 A, B, AB;
-  // We have to use std::memcpy here because just casting to a int64 breaks
-  // the strict aliasing rule which implies undefined behavior. Both MSVC and
-  // gcc don't actually call memcpy here. MSVC is a tiny bit slower for this
-  // code than for casting while GCC seems to be exactly the same speed.
-  std::memcpy(, ptr(a, i*2), 8);
-  std::memcpy(, ptr(b, i*2), 8);
-  std::memcpy(, ptr(ab, i*2), 8);
+  A = *ptr(a, i*2) | (((uint64)*ptr(a, i*2 + 1)) << 32);
+  B = *ptr(b, i*2) | (((uint64)*ptr(b, i*2 + 1)) << 32);
+  AB = *ptr(ab, i*2) | (((uint64)*ptr(ab, i*2 + 1)) << 32);
   orOfXor |= AB ^ (A + B);
 }
 MATHICGB_ASSERT((orOfXor == 0) == isProductOf(a, b, ab));
@@ -608,11 +604,11 @@ public:
 uint64 orOfXor = 0;
 for (VarIndex i = varCount() / 2; i != beforeEntriesIndexBegin(); --i) {
   uint64 A1, A2, B, A1B, A2B;
-  std::memcpy(, ptr(a1, i*2), 8);
-  std::memcpy(, ptr(a2, i*2), 8);
-  std::memcpy(, ptr(b, i*2), 8);
-  std::memcpy(, ptr(a1b, i*2), 8);
-  std::memcpy(, ptr(a2b, i*2), 8);
+  A1 = *ptr(a1, i*2) | (((uint64)*ptr(a1, i*2 + 1)) << 32);
+  A2 = *ptr(a2, i*2) | (((uint64)*ptr(a2, i*2 + 1)) << 32);
+  B = *ptr(b, i*2) | (((uint64)*ptr(b, i*2 + 1)) << 32);
+  A1B = *ptr(a1b, i*2) | (((uint64)*ptr(a1b, i*2 + 1)) << 32);
+  A2B = *ptr(a2b, i*2) | (((uint64)*ptr(a2b, i*2 + 1)) << 32);
   orOfXor |= (A1B ^ (A1 + B)) | (A2B ^ (A2 + B));
 }
 MATHICGB_ASSERT


Bug#861314: libi8x_0.0.2-2 FTBFS on big endian architectures: tests fail

2017-04-27 Thread Radovan Birdic
Package: libi8x
Version: 0.0.2-2
Severity: important
Tags: sid + patch
Justification: FTBFS
User: debian-m...@lists.debian.org
Usertags: mips-patch

Hello,

Package libi8x_0.0.2-2 FTBFS on mips and other big endian architectures with 
following error:

>...
> FAIL: exec/test-deref
> =
> 
> exec/test-deref.c:168: [0x2b]: Corrupt note
> FAIL exec/test-deref (exit status: 1)
> 
> FAIL: exec/test-factorial
> =
> 
> exec/test-factorial.c:92: 
> corpus/i8c/0.0.3/32be/test_loops/test_basic/0001-0001[0x39]: Corrupt note
> FAIL exec/test-factorial (exit status: 1)
> ...

Full build log:
https://buildd.debian.org/status/fetch.php?pkg=libi8x=mips=0.0.2-2=1486258076=0

On upstream this issue is resolved with commit:
https://gitlab.com/gbenson/libi8x/commit/887eb70d63b460c0768a7103796cdd8a2dd5d771

I have attached the patch.

With this patch package builds successfully on mips and mipsel.


Regards,
Radovandiff --git a/libi8x/chunk.c b/libi8x/chunk.c
index b54ef99..3a687aa 100644
--- a/libi8x/chunk.c
+++ b/libi8x/chunk.c
@@ -23,8 +23,8 @@ struct i8x_chunk
 {
   I8X_OBJECT_FIELDS;
 
-  uintmax_t type_id;
-  uintmax_t version;
+  uintptr_t type_id;
+  uintptr_t version;
 
   const char *type_id_ptr;	/* For i8x_chunk_unhandled_error.  */
   const char *version_ptr;	/* For i8x_chunk_version_error.  */
@@ -46,7 +46,7 @@ i8x_chunk_new (struct i8x_readbuf *rb, struct i8x_chunk **chunk)
 {
   struct i8x_note *note = i8x_rb_get_note (rb);
   struct i8x_ctx *ctx = i8x_note_get_ctx (note);
-  uintmax_t type_id, version;
+  uintptr_t type_id, version;
   const char *type_id_ptr;
   const char *version_ptr;
   size_t encoded_size;
@@ -98,13 +98,13 @@ i8x_chunk_get_note (struct i8x_chunk *chunk)
 i8x_ob_get_parent ((struct i8x_object *) chunk);
 }
 
-I8X_EXPORT uintmax_t
+I8X_EXPORT uintptr_t
 i8x_chunk_get_type_id (struct i8x_chunk *chunk)
 {
   return chunk->type_id;
 }
 
-I8X_EXPORT uintmax_t
+I8X_EXPORT uintptr_t
 i8x_chunk_get_version (struct i8x_chunk *chunk)
 {
   return chunk->version;
diff --git a/libi8x/code.c b/libi8x/code.c
index 572bbfd..9e929f0 100644
--- a/libi8x/code.c
+++ b/libi8x/code.c
@@ -147,7 +147,7 @@ static i8x_err_e
 i8x_code_read_opcode (struct i8x_readbuf *rb, i8x_opcode_t *opcode)
 {
   const char *location = i8x_rb_get_ptr (rb);
-  uintmax_t tmp;
+  uintptr_t tmp;
   uint8_t byte;
   i8x_opcode_t result;
   i8x_err_e err;
@@ -158,7 +158,7 @@ i8x_code_read_opcode (struct i8x_readbuf *rb, i8x_opcode_t *opcode)
 
   if (byte == DW_OP_GNU_wide_op)
 {
-  uintmax_t wide;
+  uintptr_t wide;
 
   err = i8x_rb_read_uleb128 (rb, );
   if (err != I8X_OK)
@@ -186,8 +186,8 @@ i8x_code_read_operand (struct i8x_readbuf *rb,
 		   union i8x_value *operand)
 {
   const char *location = i8x_rb_get_ptr (rb);
-  intmax_t signed_result;
-  uintmax_t unsigned_result;
+  intptr_t signed_result;
+  uintptr_t unsigned_result;
   union i8x_value result;
   bool is_signed;
   i8x_err_e err;
diff --git a/libi8x/libi8x.h b/libi8x/libi8x.h
index 361fffe..1a238a5 100644
--- a/libi8x/libi8x.h
+++ b/libi8x/libi8x.h
@@ -184,8 +184,8 @@ I8X_COMMON_OBJECT_FUNCTIONS (chunk);
 I8X_LISTABLE_OBJECT_FUNCTIONS (chunk);
 
 struct i8x_note *i8x_chunk_get_note (struct i8x_chunk *chunk);
-uintmax_t i8x_chunk_get_type_id (struct i8x_chunk *chunk);
-uintmax_t i8x_chunk_get_version (struct i8x_chunk *chunk);
+uintptr_t i8x_chunk_get_type_id (struct i8x_chunk *chunk);
+uintptr_t i8x_chunk_get_version (struct i8x_chunk *chunk);
 size_t i8x_chunk_get_encoded_size (struct i8x_chunk *chunk);
 const char *i8x_chunk_get_encoded (struct i8x_chunk *chunk);
 
@@ -336,7 +336,7 @@ size_t i8x_note_get_encoded_size (struct i8x_note *note);
 const char *i8x_note_get_encoded (struct i8x_note *note);
 struct i8x_list *i8x_note_get_chunks (struct i8x_note *note);
 i8x_err_e i8x_note_get_unique_chunk (struct i8x_note *note,
- uintmax_t type_id, bool must_exist,
+ uintptr_t type_id, bool must_exist,
  struct i8x_chunk **chunk);
 
 /*
@@ -363,8 +363,8 @@ i8x_err_e i8x_rb_read_int32_t (struct i8x_readbuf *rb, int32_t *result);
 i8x_err_e i8x_rb_read_uint32_t (struct i8x_readbuf *rb, uint32_t *result);
 i8x_err_e i8x_rb_read_int64_t (struct i8x_readbuf *rb, int64_t *result);
 i8x_err_e i8x_rb_read_uint64_t (struct i8x_readbuf *rb, uint64_t *result);
-i8x_err_e i8x_rb_read_sleb128 (struct i8x_readbuf *rb, intmax_t *result);
-i8x_err_e i8x_rb_read_uleb128 (struct i8x_readbuf *rb, uintmax_t *result);
+i8x_err_e i8x_rb_read_sleb128 (struct i8x_readbuf *rb, intptr_t *result);
+i8x_err_e i8x_rb_read_uleb128 (struct i8x_readbuf *rb, uintptr_t *result);
 i8x_err_e i8x_rb_read_bytes (struct i8x_readbuf *rb, size_t nbytes,
 			 const char **result);
 i8x_err_e i8x_rb_read_offset_string (struct i8x_readbuf *rb,
diff --git a/libi8x/note.c b/libi8x/note.c
index 9f818f3..7864175 100644
--- a/libi8x/note.c
+++ b/libi8x/note.c
@@ -191,7 +191,7 @@ i8x_note_get_chunks (struct i8x_note *note)
 

Bug#860241: libbson FTBFS on mips/mipsel: undefined reference to `__sync_add_and_fetch_8'

2017-04-13 Thread Radovan Birdic
Package: libbson
Version: 1.6.1-1
Severity: important
Tags: sid
Justification: FTBFS
User: debian-m...@lists.debian.org
Usertags: mips-patch

Hello,

Package libbson_1.6.1-1 FTBFS on mips and mipsel with following error:

> /bin/bash ./libtool  --tag=CC   --mode=link gcc  -g -O2 
> -fdebug-prefix-map=/«PKGBUILDDIR»=. -fstack-protector-strong -Wformat 
> -Werror=format-security -O2 -g  -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -o 
> test-libbson tests/test_libbson-TestSuite.o tests/test_libbson-test-libbson.o 
> tests/test_libbson-test-atomic.o tests/test_libbson-test-bson.o 
> tests/test_libbson-test-endian.o tests/test_libbson-test-clock.o 
> tests/test_libbson-test-decimal128.o tests/test_libbson-test-error.o 
> tests/test_libbson-test-iso8601.o tests/test_libbson-test-iter.o 
> tests/test_libbson-test-json.o tests/test_libbson-test-oid.o 
> tests/test_libbson-test-reader.o tests/test_libbson-test-string.o 
> tests/test_libbson-test-type.o tests/test_libbson-test-utf8.o 
> tests/test_libbson-test-value.o tests/test_libbson-test-version.o 
> tests/test_libbson-test-writer.o tests/test_libbson-test-bcon-basic.o 
> tests/test_libbson-test-bcon-extract.o tests/test_libbson-json-test.o  
> libbson-1.0.la libbson.la -latomic 
> libtool: link: gcc -g -O2 -fdebug-prefix-map=/«PKGBUILDDIR»=. 
> -fstack-protector-strong -Wformat -Werror=format-security -O2 -g -Wl,-z 
> -Wl,relro -Wl,-z -Wl,now -Wl,--as-needed -o .libs/test-libbson 
> tests/test_libbson-TestSuite.o tests/test_libbson-test-libbson.o 
> tests/test_libbson-test-atomic.o tests/test_libbson-test-bson.o 
> tests/test_libbson-test-endian.o tests/test_libbson-test-clock.o 
> tests/test_libbson-test-decimal128.o tests/test_libbson-test-error.o 
> tests/test_libbson-test-iso8601.o tests/test_libbson-test-iter.o 
> tests/test_libbson-test-json.o tests/test_libbson-test-oid.o 
> tests/test_libbson-test-reader.o tests/test_libbson-test-string.o 
> tests/test_libbson-test-type.o tests/test_libbson-test-utf8.o 
> tests/test_libbson-test-value.o tests/test_libbson-test-version.o 
> tests/test_libbson-test-writer.o tests/test_libbson-test-bcon-basic.o 
> tests/test_libbson-test-bcon-extract.o tests/test_libbson-json-test.o  
> ./.libs/libbson-1.0.so ./.libs/libbson.a -latomic -pthread
> tests/test_libbson-test-atomic.o: In function `test2':
> ./tests/test-atomic.c:38: undefined reference to `__sync_add_and_fetch_8'
> ./tests/test-atomic.c:38: undefined reference to `__sync_add_and_fetch_8'
> collect2: error: ld returned 1 exit status
> Makefile:1238: recipe for target 'test-libbson' failed
> make[2]: *** [test-libbson] Error 1
> make[2]: Leaving directory '/«PKGBUILDDIR»'
> dh_auto_build: make -j1 returned exit code 2
> debian/rules:30: recipe for target 'override_dh_auto_build' failed
> make[1]: *** [override_dh_auto_build] Error 2


I suggested '0002_use_libatomic.patch' patch for bug #832747 to resolve symbols 
mismatching.
>From version 1.5.4-1, symbols file was removed and there is no need for this 
>patch.

When patch 0002_use_libatomic.patch is removed, build successfully passes for 
mips and mipsel.


Regards,
Radovan


Bug#860014: mlpack FTBFS on mips and mipsel: error: virtual memory exhausted

2017-04-10 Thread Radovan Birdic
Package: mlpack
Version: 2.2.0-1
Severity: important
Tags: sid + patch
Justification: FTBFS
User: debian-m...@lists.debian.org
Usertags: mips-patch


Package mlpack_2.2.0-1 FTBFS on mips and mipsel with following error:

> [ 48%] Building CXX object 
> src/mlpack/methods/neighbor_search/CMakeFiles/mlpack_kfn.dir/kfn_main.cpp.o
> cd /«PKGBUILDDIR»/obj-mipsel-linux-gnu/src/mlpack/methods/neighbor_search && 
> /usr/bin/g++  --param ggc-min-expand=20 -g0  -DARMA_32BIT_WORD 
> -DARMA_NO_DEBUG -DBOOST_TEST_DYN_LINK -DHAS_OPENMP -DNDEBUG -I/«PKGBUILDDIR» 
> -I/«PKGBUILDDIR»/src/mlpack/.. 
> -I/«PKGBUILDDIR»/obj-mipsel-linux-gnu/src/mlpack/..  -g -O2 
> -fdebug-prefix-map=/«PKGBUILDDIR»=. -fstack-protector-strong -Wformat 
> -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra 
> -ftemplate-depth=1000 -O3 -fopenmp   -std=gnu++11 -o 
> CMakeFiles/mlpack_kfn.dir/kfn_main.cpp.o -c 
> /«PKGBUILDDIR»/src/mlpack/methods/neighbor_search/kfn_main.cpp
>
> cc1plus: out of memory allocating 769440 bytes after a total of 26099712 bytes
> src/mlpack/methods/neighbor_search/CMakeFiles/mlpack_knn.dir/build.make:65: 
> recipe for target 
> 'src/mlpack/methods/neighbor_search/CMakeFiles/mlpack_knn.dir/knn_main.cpp.o' 
> failed
> make[4]: *** 
> [src/mlpack/methods/neighbor_search/CMakeFiles/mlpack_knn.dir/knn_main.cpp.o] 
> Error 1
> make[4]: Leaving directory '/«PKGBUILDDIR»/obj-mipsel-linux-gnu'
> CMakeFiles/Makefile2:2659: recipe for target 
> 'src/mlpack/methods/neighbor_search/CMakeFiles/mlpack_knn.dir/all' failed
> make[3]: *** 
> [src/mlpack/methods/neighbor_search/CMakeFiles/mlpack_knn.dir/all] Error 2
> make[3]: *** Waiting for unfinished jobs
> virtual memory exhausted: Cannot allocate memory
> src/mlpack/methods/neighbor_search/CMakeFiles/mlpack_kfn.dir/build.make:65: 
> recipe for target 
> 'src/mlpack/methods/neighbor_search/CMakeFiles/mlpack_kfn.dir/kfn_main.cpp.o' 
> failed
> make[4]: *** 
> [src/mlpack/methods/neighbor_search/CMakeFiles/mlpack_kfn.dir/kfn_main.cpp.o] 
> Error 1
> make[4]: Leaving directory '/«PKGBUILDDIR»/obj-mipsel-linux-gnu'
> CMakeFiles/Makefile2:2696: recipe for target 
> 'src/mlpack/methods/neighbor_search/CMakeFiles/mlpack_kfn.dir/all' failed
> make[3]: *** 
> [src/mlpack/methods/neighbor_search/CMakeFiles/mlpack_kfn.dir/all] Error 2
> make[3]: Leaving directory '/«PKGBUILDDIR»/obj-mipsel-linux-gnu'
> Makefile:141: recipe for target 'all' failed
> make[2]: *** [all] Error 2

Full build log:
https://buildd.debian.org/status/fetch.php?pkg=mlpack=mipsel=2.2.0-1=1490300651=0

When ggc-min-expand is reduced from 20 to 5 and max-parallel from 2 to 1, 
package mlpack successfully passes for mips and mipsel.

I have created and attached a patch that contains the necessary changes.

Regards,
Radovan--- mlpack-2.2.0_orig/debian/rules	2017-03-23 15:35:37.0 +
+++ mlpack-2.2.0/debian/rules	2017-04-10 06:25:25.0 +
@@ -31,8 +31,13 @@ SAVE_SPACE=yes
 endif
 
 ifeq ($(SAVE_SPACE),yes)
-export CXX=g++ --param ggc-min-expand=20 -g0
-DH_FLAGS += --max-parallel=2
+ifneq (, $(filter $(shell dpkg-architecture -qDEB_HOST_ARCH_CPU),mips mipsel))
+	export CXX=g++ --param ggc-min-expand=5 -g0
+	DH_FLAGS += --max-parallel=1
+else
+	export CXX=g++ --param ggc-min-expand=20 -g0
+	DH_FLAGS += --max-parallel=2
+endif
 endif
 
 %:


Bug#859763: nfs-ganesha FTBFS on mips and mipsel: error: undefined reference to symbol '__atomic_fetch_sub_8@@LIBATOMIC_1.0'

2017-04-07 Thread Radovan Birdic
Package: nfs-ganesha
Version: 2.4.4-1
Severity: important
Tags: sid + patch
Justification: FTBFS
User: debian-m...@lists.debian.org
Usertags: mips-patch


After applying patch for bug #859689, new problem appears.

Package nfs-ganesha_2.4.4-1 FTBFS on mips and mipsel with following error:

> [ 95%] Linking C executable ganesha.nfsd
> cd 
> /build/nfs-ganesha-6qoZzY/nfs-ganesha-2.4.4/src/obj-mipsel-linux-gnu/MainNFSD 
> && /usr/bin/cmake -E cmake_link_script CMakeFiles/ganesha.nfsd.dir/link.txt 
> --> verbose=1
> /usr/bin/cc  -g -O2 
> -fdebug-prefix-map=/build/nfs-ganesha-6qoZzY/nfs-ganesha-2.4.4=. 
> -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -> 
> D_FORTIFY_SOURCE=2 -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g 
> -DNDEBUG  -Wl,-z,relro -Wl,-z,now CMakeFiles/ganesha.nfsd.dir/nfs_main.c.o 
> CMakeFiles/ganesha.nfsd.dir/__/FSAL/fsal_convert.c.o 
> CMakeFiles/ganesha.nfsd.dir/__/FSAL/commonlib.c.o 
> CMakeFiles/ganesha.nfsd.dir/__/FSAL/fsal_manager.c.o 
> CMakeFiles/ganesha.nfsd.dir/__/FSAL/access_check.c.o 
> CMakeFiles/ganesha.nfsd.dir/__/FSAL/fsal_config.c.o 
> CMakeFiles/ganesha.nfsd.dir/__/FSAL/default_methods.c.o 
> CMakeFiles/ganesha.nfsd.dir/__/FSAL/common_pnfs.c.o 
> CMakeFiles/ganesha.nfsd.dir/__/FSAL/fsal_destroyer.c.o 
> CMakeFiles/ganesha.nfsd.dir/__/FSAL/fsal_helper.c.o 
> CMakeFiles/ganesha.nfsd.dir/__/FSAL_UP/fsal_up_top.c.o 
> CMakeFiles/ganesha.nfsd.dir/__/FSAL_UP/fsal_up_async.c.o  -o ganesha.nfsd 
> -Wl,-rpath,/usr/lib/mipsel-linux-gnu/mit-krb5: -rdynamic libMainServices.a 
> ../Protocols/NFS/libnfsproto.a ../Protocols/RQUOTA/librquota.a 
> ../Protocols/NLM/libnlm.a ../Protocols/9P/lib9p.a 
> ../Protocols/XDR/libnfs_mnt_xdr.a ../SAL/libsal.a ../idmapper/libidmap.a 
> ../avl/libavltree.a ../hashtable/libhashtable.a ../RPCAL/librpcal.a 
> ../support/libsupport.a ../Protocols/NFS/libnfs4callbacks.a ../cidr/libcidr.a 
> ../support/libstring_utils.a ../support/libhash.a ../log/liblog.a 
> ../support/libuid2grp.a ../support/libnetgroup_cache.a 
> ../FSAL/FSAL_PSEUDO/libfsalpseudo.a 
> ../FSAL/Stackable_FSALs/FSAL_MDCACHE/libfsalmdcache.a ../dbus/libgshdbus.a 
> ../config_parsing/libconfig_parsing.a -lwbclient -lnfsidmap -ldbus-1 -lcap 
> -lblkid -luuid ../os/libgos.a -ldl 
> /usr/lib/mipsel-linux-gnu/mit-krb5/libkrb5.so 
> /usr/lib/mipsel-linux-gnu/mit-krb5/libk5crypto.so -lcom_err 
> /usr/lib/mipsel-linux-gnu/mit-krb5/libgssapi_krb5.so -lpthread -lrt -lntirpc 
> /usr/bin/ld: libMainServices.a(client_mgr.c.o): undefined reference to symbol 
> '__atomic_fetch_sub_8@@LIBATOMIC_1.0'
> //usr/lib/mipsel-linux-gnu/libatomic.so.1: error adding symbols: DSO missing 
> from command line
> collect2: error: ld returned 1 exit status
> MainNFSD/CMakeFiles/ganesha.nfsd.dir/build.make:419: recipe for target 
> 'MainNFSD/ganesha.nfsd' failed
> make[4]: *** [MainNFSD/ganesha.nfsd] Error 101

The problem occurs because mips 32-bit architectures does not support use of 
8-byte atomics functions.
To solve this problem, it is necessary to provide linking with libatomic 
library.

I have created and attached a patch that enables linking with latomic library 
as needed.
With this patch package builds successfully on mips, mipsel, mips64el and i386.

Regards,
Radovan--- nfs-ganesha-2.4.4.orig/src/CMakeLists.txt
+++ nfs-ganesha-2.4.4/src/CMakeLists.txt
@@ -883,6 +883,7 @@ set(SYSTEM_LIBRARIES
   ${CMAKE_THREAD_LIBS_INIT}
   ${LIBRT}
   ${NTIRPC_LIBRARY}
+  -Wl,--as-needed -latomic
 )
 
 # Config file; make sure it doesn't clobber an existing one


Bug#859689: libntirpc must be linked with libatomic on mips and mipsel

2017-04-06 Thread Radovan Birdic
Hi,

I have created and attached a patch that enables linking with latomic library 
as needed.

When ntirpc package is recompiled with this patch, the above-mentioned problem 
is solved,
but after that, new problem occurs on ganesha.nfsd linking:
> /usr/bin/ld: libMainServices.a(client_mgr.c.o): undefined reference to symbol 
> '__atomic_fetch_sub_8@@LIBATOMIC_1.0'

I will report separate bug for nfs-ganesha, linking with latomic library should 
solve this issue as well.

Regards,
Radovan--- ntirpc-1.4.3.orig/CMakeLists.txt
+++ ntirpc-1.4.3/CMakeLists.txt
@@ -33,7 +33,7 @@ else (USE_LIB64)
 		"Specify name of libdir inside install path")
 endif (USE_LIB64)
 
-set(SYSTEM_LIBRARIES ${SYSTEM_LIBRARIES})
+set(SYSTEM_LIBRARIES ${SYSTEM_LIBRARIES} -Wl,--as-needed -latomic)
 
 include(GetGitRevisionDescription)
 get_git_head_revision(GIT_REFSPEC _GIT_HEAD_COMMIT)


Bug#859616: cubicsdr FTBFS on mips and mipsel: error: undefined reference to `__atomic_load_8'

2017-04-05 Thread Radovan Birdic
Package: cubicsdr
Version: 0.2.0+git20170310+dfsg-1
Severity: important
Tags: sid + patch
Justification: FTBFS
User: debian-m...@lists.debian.org
Usertags: mips-patch


Package cubicsdr_0.2.0+git20170310+dfsg-1 FTBFS on mips and mipsel with 
following error:

>...
> CMakeFiles/CubicSDR.dir/src/sdr/SoapySDRThread.cpp.o: In function 
> `std::__atomic_base::load(std::memory_order) const':
> /usr/include/c++/6/bits/atomic_base.h:396: undefined reference to 
> `__atomic_load_8'
> /usr/include/c++/6/bits/atomic_base.h:396: undefined reference to 
> `__atomic_load_8'
> /usr/include/c++/6/bits/atomic_base.h:396: undefined reference to 
> `__atomic_load_8'
> /usr/include/c++/6/bits/atomic_base.h:396: undefined reference to 
> `__atomic_load_8'
> /usr/include/c++/6/bits/atomic_base.h:396: undefined reference to 
> `__atomic_load_8'
> CMakeFiles/CubicSDR.dir/src/sdr/SoapySDRThread.cpp.o:/usr/include/c++/6/bits/atomic_base.h:396:
>  more undefined references to `__atomic_load_8' follow
> collect2: error: ld returned 1 exit status
> CMakeFiles/CubicSDR.dir/build.make:2053: recipe for target 'x86/CubicSDR' 
> failed
> make[3]: *** [x86/CubicSDR] Error 1
> make[3]: Leaving directory 
> '/«BUILDDIR»/cubicsdr-0.2.0+git20170310+dfsg/obj-mipsel-linux-gnu'
> CMakeFiles/Makefile2:102: recipe for target 'CMakeFiles/CubicSDR.dir/all' 
> failed
> make[2]: *** [CMakeFiles/CubicSDR.dir/all] Error 2
> make[2]: Leaving directory 
> '/«BUILDDIR»/cubicsdr-0.2.0+git20170310+dfsg/obj-mipsel-linux-gnu'
> Makefile:130: recipe for target 'all' failed
> make[1]: *** [all] Error 2
>...

Full build log:
https://buildd.debian.org/status/fetch.php?pkg=cubicsdr=mipsel=0.2.0%2Bgit20170310%2Bdfsg-1=1491259779=0


The problem occurs because mips 32-bit architectures does not support use of 
8-byte atomics functions.
To solve this problem, it is necessary to provide linking with libatomic 
library.

I have created and attached a patch that enables linking with latomic library 
as needed.
With this patch package builds successfully on mips, mipsel, mips64el and i386.

Build for powerpc fails with same error and it should be solved as well.

Regards,
Radovan--- cubicsdr-0.2.0+git20170310+dfsg.orig/CMakeLists.txt
+++ cubicsdr-0.2.0+git20170310+dfsg/CMakeLists.txt
@@ -238,7 +238,7 @@ IF (UNIX AND NOT APPLE)
 SET(USE_SYSTEM_RTAUDIO OFF CACHE BOOL "Use the system RtAudio which in turn provides OSS, ALSA, JACK, PulseAudio support depending on how it was compiled")
 
 SET(LIQUID_LIB liquid)
-SET(OTHER_LIBRARIES ${OTHER_LIBRARIES} dl)
+SET(OTHER_LIBRARIES ${OTHER_LIBRARIES} dl -Wl,--as-needed -latomic)
 
 IF(USE_SYSTEM_RTAUDIO)
 find_package(RtAudio)


Bug#858095: atlc FTBFS on mips: Build killed with signal TERM after 360 minutes of inactivity

2017-03-23 Thread Radovan Birdic
Hi,

I tried to run tests from chroot and all tests executed successfully but 
execution takes a long time:

> real  804m47.257s
> user  43m32.480s
> sys   760m33.150s

On 21/03/17 11:47, Dejan Latinovic wrote:

> One solution could be to blacklist atlc on boards without FPU,
> the other solution could be to disable benchmark.test on MIPS.

I have created and attached a patch which disables this tests.
With this patch package builds successfully, without benchmark.test execution.

Regards,
Radovan--- atlc-4.6.1_orig/debian/rules	2011-12-26 07:50:12.0 +
+++ atlc-4.6.1/debian/rules	2017-03-23 08:40:37.763877641 +
@@ -7,7 +7,7 @@
 # from having to guess our platform (since we know it already)
 DEB_HOST_GNU_TYPE   ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
 DEB_BUILD_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
-
+DEB_HOST_ARCH_CPU ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_CPU)
 
 CFLAGS = -Wall -g
 
@@ -21,6 +21,10 @@
 endif
 
 config.status: configure
+ifeq ($(DEB_HOST_ARCH_CPU), $(filter $(DEB_HOST_ARCH_CPU), mips mipsel))
+	sed -e '/s*\tbenchmark.test/d' -i tests/Makefile.in
+	sed -e 's/\tWARNING-The-next-test-is-a-benchmark-and-takes-a-long-while.test \\//g' -i tests/Makefile.in
+endif
 	dh_testdir
 	cp -f /usr/share/misc/config.sub config.sub
 	cp -f /usr/share/misc/config.guess config.guess


Bug#858363: eigen3: sopt FTBFS on mips and mipsel due to alignment issue

2017-03-21 Thread Radovan Birdic
Package: eigen3
Version: 3.3.2-1
Severity: important
Tags: sid + patch
Justification: FTBFS
User: debian-m...@lists.debian.org
Usertags: mips-patch


Package sopt_2.0.0-2 FTBFS on mips and mipsel with following error:

> The following tests FAILED:
> 7 - test_sdmm (Failed)
> 9 - test_proximal (Failed)
>10 - seeded_proximal (Failed)
>13 - test_reweighted (Failed)
> Errors while running CTest
> Makefile:87: recipe for target 'test' failed
> make[1]: *** [test] Error 8

Full build log:
https://buildd.debian.org/status/fetch.php?pkg=sopt=mipsel=2.0.0-2=1486632547=0

These 4 tests fails because of alignment issue, and problem could be in eigen3 
package.
Please take a look at this:
https://github.com/basp-group/sopt/issues/18#issuecomment-288106654

I have created and attached a patch which contains the necessary changes.

Regards,
Radovan--- eigen3-3.3.2.orig/Eigen/src/Core/util/Macros.h
+++ eigen3-3.3.2/Eigen/src/Core/util/Macros.h
@@ -701,7 +701,7 @@ namespace Eigen {
   // certain common platform (compiler+architecture combinations) to avoid these problems.
   // Only static alignment is really problematic (relies on nonstandard compiler extensions),
   // try to keep heap alignment even when we have to disable static alignment.
-  #if EIGEN_COMP_GNUC && !(EIGEN_ARCH_i386_OR_x86_64 || EIGEN_ARCH_ARM_OR_ARM64 || EIGEN_ARCH_PPC || EIGEN_ARCH_IA64)
+  #if EIGEN_COMP_GNUC && !(EIGEN_ARCH_i386_OR_x86_64 || EIGEN_ARCH_ARM_OR_ARM64 || EIGEN_ARCH_PPC || EIGEN_ARCH_IA64 || EIGEN_ARCH_MIPS)
   #define EIGEN_GCC_AND_ARCH_DOESNT_WANT_STACK_ALIGNMENT 1
   #elif EIGEN_ARCH_ARM_OR_ARM64 && EIGEN_COMP_GNUC_STRICT && EIGEN_GNUC_AT_MOST(4, 6)
   // Old versions of GCC on ARM, at least 4.4, were once seen to have buggy static alignment support.


Bug#854130: libbson FTBFS on mips/mipsel: test-results.json aborted

2017-03-13 Thread Radovan Birdic
Hi,

I have back-ported the patch that limits number of threads to 10 to current 
debian version (1.5.4-1).
With these changes build pass successfully on my local mips and mipsel machines.
The patch is attached, if you want to go with this solution.

This change is already merged in 1.6.1 release.

Regards,
Radovan--- libbson-1.5.4.orig/tests/TestSuite.c
+++ libbson-1.5.4/tests/TestSuite.c
@@ -48,6 +48,8 @@
 
 static int test_flags;
 
+const int MAX_THREADS = 10;
+
 
 #define TEST_VERBOSE   (1 << 0)
 #define TEST_NOFORK(1 << 1)
@@ -629,6 +631,7 @@ typedef struct
 {
TestSuite *suite;
Test *test;
+   int n_tests;
Mutex *mutex;
int *count;
 } ParallelInfo;
@@ -638,18 +641,27 @@ static void *
 TestSuite_ParallelWorker (void *data) /* IN */
 {
ParallelInfo *info = (ParallelInfo *)data;
+   Test *test;
+   int i;
int status;
 
ASSERT (info);
 
-   status = TestSuite_RunTest (info->suite, info->test, info->mutex, info->count);
-
-   if (AtomicInt_DecrementAndTest (info->count)) {
-  TestSuite_PrintJsonFooter (stdout);
-  if (info->suite->outfile) {
- TestSuite_PrintJsonFooter (info->suite->outfile);
+   test = info->test;
+   
+   /* there's MAX_THREADS threads, each runs n_tests tests */
+   for (i = 0; i < info->n_tests; i++) {
+  ASSERT (test);
+  status = TestSuite_RunTest (info->suite, test, info->mutex, info->count);
+  if (AtomicInt_DecrementAndTest (info->count)) {
+ TestSuite_PrintJsonFooter (stdout);
+ if (info->suite->outfile) {
+TestSuite_PrintJsonFooter (info->suite->outfile);
+ }
+ exit (status);
   }
-  exit (status);
+
+  test = test->next;
}
 
/* an info is allocated for each thread in TestSuite_RunParallel */
@@ -658,6 +670,9 @@ TestSuite_ParallelWorker (void *data) /*
return NULL;
 }
 
+/* easier than having to link with math library */
+#define CEIL(d) ((int) (d) == d ? (int) (d) : (int) (d) + 1)
+
 
 static void
 TestSuite_RunParallel (TestSuite *suite) /* IN */
@@ -667,6 +682,8 @@ TestSuite_RunParallel (TestSuite *suite)
Mutex mutex;
Test *test;
int count = 0;
+   int starting_count;
+   int tests_per_thread;
int i;
 
ASSERT (suite);
@@ -677,19 +694,31 @@ TestSuite_RunParallel (TestSuite *suite)
   count++;
}
 
-   threads = (Thread *)calloc (count, sizeof *threads);
+   /* threads start decrementing count immediately, save a copy */
+   starting_count = count;
+   tests_per_thread = CEIL ((double) count / (double) MAX_THREADS);
+   threads = (Thread *) calloc (MAX_THREADS, sizeof *threads);
 
Memory_Barrier ();
 
+   /* "tests" is a linked list, a->b->c->d->..., iterate it and every
+* tests_per_thread start a new thread, point it at our position in the list,
+* and tell it to run the next tests_per_thread tests. */
+
for (test = suite->tests, i = 0; test; test = test->next, i++) {
-  info = (ParallelInfo *)calloc (1, sizeof *info);
-  info->suite = suite;
-  info->test = test;
-  info->count = 
-  info->mutex = 
-  Thread_Create ( [i], TestSuite_ParallelWorker, info);
+  if (!(i % tests_per_thread)) {
+ info = (ParallelInfo *) calloc (1, sizeof *info);
+ info->suite = suite;
+ info->test = test;
+ info->n_tests = BSON_MIN (tests_per_thread, starting_count - i);
+ info->count = 
+ info->mutex = 
+ Thread_Create (threads, TestSuite_ParallelWorker, info);
+ threads++;
+  }
}
 
+/* wait for the thread that runs the last test to call exit (0) */
 #ifdef _WIN32
Sleep (3);
 #else


Bug#854555: [Debichem-devel] Bug#854555: mpqc3: New version needs 6GB of memory to build (?)

2017-03-09 Thread Radovan Birdic
Hi,

If the flag MPQC_NEW_FEATURES is disabled, for mips and mipsel this issue does 
not appear.

I have created and attached a patch which disables MPQC_NEW_FEATURES for these 
arches.
Patch could be expanded to support other architectures(armhf, hppa, powerpc) 
with the same problem.

Regards,
Radovan--- mpqc3-0.0~git20170114_orig/debian/rules	2017-01-20 22:19:14.0 +
+++ mpqc3-0.0~git20170114/debian/rules	2017-03-09 11:14:55.0 +
@@ -4,13 +4,20 @@
 export CXXFLAGS=-g -O2 -std=c++11
 export OMPI_MCA_orte_rsh_agent=/bin/false
 
+DEB_BUILD_ARCH ?= $(shell dpkg-architecture -qDEB_BUILD_ARCH)
+ifneq (,$(filter $(DEB_BUILD_ARCH),mips mipsel))
+	MPQC_FEATURES = 0
+else
+	MPQC_FEATURES = 1
+endif
+
 %:
 	dh $@ --buildsystem=cmake
 
 override_dh_auto_configure:
 	dh_auto_configure -- 		\
 		-DMPI_C_COMPILER=mpicc	\
-		-DMPQC_NEW_FEATURES=1	\
+		-DMPQC_NEW_FEATURES=$(MPQC_FEATURES)	\
 		-DBOOST=/usr
 
 override_dh_auto_install:


Bug#856356: linbox FTBFS on mips/mipsel: segfault in test-charpoly

2017-03-08 Thread Radovan Birdic
Hi,

Test 'test-charpoly' fails for mips and mipsel:
https://github.com/linbox-team/linbox/issues/37

A workaround at this point could be to disable this test, please see:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=797167

Current solution for this in debian/rules file (which disables this test) does 
not work properly.

Disabling test should be done before autoreconf stage.
The test has been disabled for both mips and mipsel.
I have created and attached a patch which disables this test.
With this patch package builds successfully, without test-charpoly execution.

Regards,
Radovan--- linbox-1.4.2_orig/debian/rules	2016-11-29 22:32:45.0 +
+++ linbox-1.4.2/debian/rules	2017-03-07 13:56:57.0 +
@@ -15,10 +15,10 @@ DEB_HOST_ARCH_CPU ?= $(shell dpkg-archit
 
 # Disable failing test test-charpoly on mipsel.
 # See https://github.com/linbox-team/linbox/issues/37
-ifeq ($(DEB_HOST_ARCH_CPU), $(filter $(DEB_HOST_ARCH_CPU), mipsel))
-build:
+ifeq ($(DEB_HOST_ARCH_CPU), $(filter $(DEB_HOST_ARCH_CPU), mips mipsel))
+override_dh_autoreconf:
 	sed -e '/\s*test-charpoly\s*\\/d' -i tests/Makefile.am
-	dh build --with autoreconf --parallel
+	dh_autoreconf -a -O--parallel
 endif
 
 override_dh_auto_configure:


Bug#854689: freerdp2 FTBFS on mips, mipsel and mips64el: error: 'CMSPAR' undeclared

2017-02-09 Thread Radovan Birdic
Package: freerdp2
Version: 2.0.0~git20161130.1.e60d0d5+dfsg1-1
Severity: important
Tags: sid + patch
Justification: FTBFS
User: debian-m...@lists.debian.org
Usertags: mips-patch


Package freerdp2_2.0.0~git20161130.1.e60d0d5+dfsg1-1 FTBFS on mips, mipsel and 
mips64el with following error:

> /«BUILDDIR»/freerdp2-2.0.0~git20161130.1.e60d0d5+dfsg1/winpr/libwinpr/comm/comm_serial_sys.c:459:51:
>  error: 'CMSPAR' undeclared (first use in this function)
> upcomingTermios.c_cflag &= ~(PARENB | PARODD | CMSPAR);
>^~
> /«BUILDDIR»/freerdp2-2.0.0~git20161130.1.e60d0d5+dfsg1/winpr/libwinpr/comm/comm_serial_sys.c:459:51:
>  note: each undeclared identifier is reported only once for > each function 
> it appears in
> /«BUILDDIR»/freerdp2-2.0.0~git20161130.1.e60d0d5+dfsg1/winpr/libwinpr/comm/comm_serial_sys.c:
>  In function '_get_line_control':
> /«BUILDDIR»/freerdp2-2.0.0~git20161130.1.e60d0d5+dfsg1/winpr/libwinpr/comm/comm_serial_sys.c:542:36:
>  error: 'CMSPAR' undeclared (first use in this function)
>   else if (currentTermios.c_cflag & CMSPAR)
> ^~
> winpr/libwinpr/CMakeFiles/winpr.dir/build.make:569: recipe for target 
> 'winpr/libwinpr/CMakeFiles/winpr.dir/comm/comm_serial_sys.c.o' failed
> make[3]: *** [winpr/libwinpr/CMakeFiles/winpr.dir/comm/comm_serial_sys.c.o] 
> Error 1

Full build log:
https://buildd.debian.org/status/fetch.php?pkg=freerdp2=mipsel=2.0.0~git20161130.1.e60d0d5%2Bdfsg1-1=1486123249=0

The problem occurs because bits/termios.h from glibc for mips does not define 
CMSPAR.

A similar problem has already been seen in freedp package for buildroot:
https://git.busybox.net/buildroot/diff/package/freerdp/0003-add-missing-define.patch?id=78cd32631e959e04b1a2f18be7b0757e21482438

I have created and attached a patch that define CMSPAR if it is not already 
defined.
With this patch package builds successfully on mips, mipsel and  mips64el.

Regards,
Radovan--- freerdp2-2.0.0~git20161130.1.e60d0d5+dfsg1.orig/winpr/libwinpr/comm/comm_serial_sys.c
+++ freerdp2-2.0.0~git20161130.1.e60d0d5+dfsg1/winpr/libwinpr/comm/comm_serial_sys.c
@@ -37,6 +37,12 @@
 #include 
 #include 
 
+#if defined __mips__
+#if !defined CMSPAR
+#define CMSPAR0100  /* mark or space (stick) parity */
+#endif
+#endif
+
 /* hard-coded in N_TTY */
 #define TTY_THRESHOLD_THROTTLE		128 /* now based on remaining room */
 #define TTY_THRESHOLD_UNTHROTTLE 	128


Bug#853947: [Swan-dev] Bug#853947: libreswan FTBFS on mips and mipsel: error: "_ABI64" is not defined [-Werror=undef]

2017-02-09 Thread Radovan Birdic
On Wed, 8 Feb 2017, Paul Wouters wrote:

> So, try the attached patch, that basically does:
> 
> +#ifndef _ABIO32
> +# define _ABIO321
> +#endif
> +
> +#ifndef _ABIN32
> +# define _ABIN322
> +#endif
> +
> +#ifndef _ABI64
> +# define _ABI64 3
> +#endif

With this patch problem still occurs:

> In file included from /usr/include/nspr/prtypes.h:26:0,
>  from /usr/include/nspr/plarena.h:15,
>  from /usr/include/nss/cert.h:13,
>  from 
> /build/libreswan-NMM3Aa/orig_source/libreswan-3.19/include/nss_copies.h:17,
>  from 
> /build/libreswan-NMM3Aa/orig_source/libreswan-3.19/lib/libswan/nss_copies.c:10:
> /usr/include/nspr/prcpucfg.h:515:18: error: "_ABI64" is not defined 
> [-Werror=undef]
>  #if _MIPS_SIM == _ABI64
>   ^~
> cc1: all warnings being treated as errors


Problem for nss_copies.c would be solved if these defines are defined before 
 was included.
It is not enough to change only nss_copies.h file, because the same problem 
occurs during compilation of other files: 
base64_rsa_pubkey.c, lswnss.c, cavp_ikev1.c, cavp_ikev2.c, cavp_sha.c, 
cavp_hmac.c, cavp_gcm.c etc.

Maybe a better solution would be to make changes in nspr package.
I have already suggested changes to the package:
https://bugs.debian.org/854472

Regards,
Radovan


Bug#852960: rt-app FTBFS on mips64el/ppc64el: error: conflicting types for 'timespec_to_nsec'

2017-02-07 Thread Radovan Birdic
Hi,

Build for mips64 and powerpc64 fails because __SANE_USERSPACE_TYPES__ is not 
defined.
Without this flag in "asm/types.h" file always will be included "int-l64.h" 
which means that __u64 always will be defined as unsigned long.

I have created and attached a patch witch defines __SANE_USERSPACE_TYPES__ flag 
for mips64 and powerpc64.
With this patch package builds successfully on mips, mipsel and  mips64el.

Another way to solve the problem could be adding -D__SANE_USERSPACE_TYPES__ to 
CFLAGS.

Regards,
Radovan--- rt-app-0.3.orig/src/rt-app_utils.h
+++ rt-app-0.3/src/rt-app_utils.h
@@ -22,6 +22,10 @@ Foundation, Inc., 51 Franklin Street, Fi
 #ifndef _TIMESPEC_UTILS_H_
 #define _TIMESPEC_UTILS_H_
 
+#if defined (__mips64) || defined (__powerpc64__)
+#define __SANE_USERSPACE_TYPES__
+#endif
+
 #include 
 #include 
 #include 


Bug#854472: nspr: libreswan FTBFS on mips and mipsel due to undefined ABI

2017-02-07 Thread Radovan Birdic
Package: nspr
Version: 2:4.12-6
Severity: important
Tags: sid + patch
Justification: FTBFS
User: debian-m...@lists.debian.org
Usertags: mips-patch


Package libreswan_3.19-2 FTBFS on mips and mipsel with following error:

> In file included from /usr/include/nspr/prtypes.h:26:0,
>  from /usr/include/nss/seccomon.h:17,
>  from /usr/include/nss/nss.h:34,
>  from /«PKGBUILDDIR»/lib/libswan/base64_rsa_pubkey.c:21:
> /usr/include/nspr/prcpucfg.h:511:18: error: "_ABI64" is not defined 
> [-Werror=undef]
>  #if _MIPS_SIM == _ABI64
>   ^~
> cc1: all warnings being treated as errors
> ../../../mk/depend.mk:28: recipe for target 'base64_rsa_pubkey.o' failed
> make[5]: *** [base64_rsa_pubkey.o] Error 1

Full build log:
https://buildd.debian.org/status/fetch.php?pkg=libreswan=mips=3.19-2=1486258333=0

On 32-bit mips (ABIO32) _ABI64 is not defined and build fails if Wundef is used.
Problem could be resolved by including  header (which includes ABI 
definitions) into "_linux.cfg" file.
Another way to solve the problem could be changing "#if _MIPS_SIM == _ABI64" 
expression (if defined _ABI64 has value 3).

> $ gcc -dM -E -mabi=64 - < /dev/null | grep --color -s "ABI"
> #define _ABI64 3
> #define _MIPS_SIM _ABI64

Bug is reported here:
https://bugs.debian.org/853947

Regards,
Radovan


Bug#851261: compiles but doesn't work, not our fault

2017-02-03 Thread Radovan Birdic
> Do any non-ancient machines run 32-bit kernels on MIPS these days?  As far
> as I know, they don't, thus fixing this FTBFS is rather pointless without
> fixing COMPAT ioctls on the kernel side first.

Yes, there are 32-bit MIPS machines.
We tested duperemove on CI20 (mipsel with 32-bit kernel) and it works correctly.

Regards,
Radovan


Bug#853947: libreswan FTBFS on mips and mipsel: error: "_ABI64" is not defined [-Werror=undef]

2017-02-02 Thread Radovan Birdic
Package: libreswan
Version: 3.19-1
Severity: important
Tags: sid + patch
Justification: FTBFS
User: debian-m...@lists.debian.org
Usertags: mips-patch


Package libreswan_3.19-1 FTBFS on mips and mipsel with following error:

> In file included from /usr/include/nspr/prtypes.h:26:0,
>  from /usr/include/nspr/plarena.h:15,
>  from /usr/include/nss/cert.h:13,
>  from /«PKGBUILDDIR»/lib/libswan/nss_copies.c:6:
> /usr/include/nspr/prcpucfg.h:511:18: error: "_ABI64" is not defined 
> [-Werror=undef]
>  #if _MIPS_SIM == _ABI64
>   ^~
> cc1: all warnings being treated as errors
> ../../../mk/depend.mk:28: recipe for target 'nss_copies.o' failed
> make[5]: *** [nss_copies.o] Error 1

Full build log:
https://buildd.debian.org/status/fetch.php?pkg=libreswan=mips=3.19-1=1485409760=0

On 32-bit mips (ABIO32) _ABI64 is not defined so using -Wundef flag causes 
build failure.

I have created and attached a patch that exclude this flag for mips/mipsel.
With this patch package builds successfully on mips, mipsel and  mips64el.

Regards,
Radovan--- libreswan-3.19_orig/debian/rules	2017-01-25 23:37:04.0 +
+++ libreswan-3.19/debian/rules	2017-02-02 20:01:47.654502204 +
@@ -1,5 +1,12 @@
 #!/usr/bin/make -f
 
+DEB_BUILD_ARCH ?= $(shell dpkg-architecture -qDEB_BUILD_ARCH)
+ifneq (,$(filter $(DEB_BUILD_ARCH),mips mipsel))
+   ADDITIONAL_WARNING_CFLAGS = -Wall -Wextra -Wformat -Wformat-nonliteral -Wformat-security -Wmissing-declarations -Wredundant-decls -Wnested-externs
+else
+   ADDITIONAL_WARNING_CFLAGS = -Wall -Wextra -Wformat -Wformat-nonliteral -Wundef -Wformat-security -Wmissing-declarations -Wredundant-decls -Wnested-externs
+endif
+
 %:
 	dh $@ --with systemd
 
@@ -17,7 +24,8 @@ override_dh_auto_build:
 		USE_LIBCAP_NG=true \
 		USE_LABELED_IPSEC=false \
 		USE_KLIPS=false \
-		USE_DNSSEC=true
+		USE_DNSSEC=true \
+		WARNING_CFLAGS="$(ADDITIONAL_WARNING_CFLAGS)"
 
 override_dh_auto_install-arch:
 	# Add here commands to install the package into debian/libreswan


Bug#846200: FTBFS: test_kdb failing: libelektra-resolver.so: cannot open shared object file: No such file or directory

2017-02-01 Thread Radovan Birdic
Hi,

I have adapted patch from upstream to debian version of elektra.
The patch has been attached.

With this patch package builds successfully on mips, mipsel, mips64el and amd64.

Could you please consider including this patch.

Regards,
Radovan--- elektra-0.8.14.orig/src/bindings/gi/lua/CMakeLists.txt
+++ elektra-0.8.14/src/bindings/gi/lua/CMakeLists.txt
@@ -9,7 +9,7 @@ macro (do_gi_lua_test source)
 	set_property (
 		TEST ${name}
 		PROPERTY ENVIRONMENT
-			"LD_LIBRARY_PATH=${GELEKTRA_LIBRARY_DIR}"
+			"LD_LIBRARY_PATH=${GELEKTRA_LIBRARY_DIR}:${CMAKE_BINARY_DIR}/lib"
 			"GI_TYPELIB_PATH=${GI_TYPELIB_DIR}"
 	)
 
--- elektra-0.8.14.orig/src/bindings/gi/python/CMakeLists.txt
+++ elektra-0.8.14/src/bindings/gi/python/CMakeLists.txt
@@ -9,7 +9,7 @@ macro (do_gi_python_test source)
 	set_property (
 		TEST ${name}
 		PROPERTY ENVIRONMENT
-			"LD_LIBRARY_PATH=${GELEKTRA_LIBRARY_DIR}"
+			"LD_LIBRARY_PATH=${GELEKTRA_LIBRARY_DIR}:${CMAKE_BINARY_DIR}/lib"
 			"GI_TYPELIB_PATH=${GI_TYPELIB_DIR}"
 	)
 
--- elektra-0.8.14.orig/src/bindings/swig/lua/tests/CMakeLists.txt
+++ elektra-0.8.14/src/bindings/swig/lua/tests/CMakeLists.txt
@@ -10,6 +10,7 @@ macro (do_lua_test source)
 	set_property (
 		TEST ${name}
 		PROPERTY ENVIRONMENT "LUA_CPATH=${LUA_MODULEPATH}/?.so"
+		"LD_LIBRARY_PATH=${CMAKE_BINARY_DIR}/lib"
 	)
 
 	set_property (
--- elektra-0.8.14.orig/src/bindings/swig/python/tests/CMakeLists.txt
+++ elektra-0.8.14/src/bindings/swig/python/tests/CMakeLists.txt
@@ -10,6 +10,7 @@ macro (do_python_test source)
 	set_property (
 		TEST ${name}
 		PROPERTY ENVIRONMENT "PYTHONPATH=${PYTHON_MODULEPATH}"
+		"LD_LIBRARY_PATH=${CMAKE_BINARY_DIR}/lib"
 	)
 
 	set_property (
--- elektra-0.8.14.orig/src/bindings/swig/python2/tests/CMakeLists.txt
+++ elektra-0.8.14/src/bindings/swig/python2/tests/CMakeLists.txt
@@ -10,6 +10,7 @@ macro (do_python_test source)
 	set_property (
 		TEST ${name}
 		PROPERTY ENVIRONMENT "PYTHONPATH=${PYTHON2_MODULEPATH}"
+		"LD_LIBRARY_PATH=${CMAKE_BINARY_DIR}/lib"
 	)
 
 	set_property (


Bug#852441: openlibm FTBFS on mips, mipsel and mips64el: missing support for mips architectures

2017-01-24 Thread Radovan Birdic
Package: openlibm
Version: 0.5.4+dfsg-2
Severity: important
Tags: sid + patch
Justification: FTBFS
User: debian-m...@lists.debian.org
Usertags: mips-patch


Package openlibm_0.5.4+dfsg-2 FTBFS on mips, mipsel, mips64el with following 
error:

> make[1]: Entering directory '/«BUILDDIR»/openlibm-0.5.4+dfsg'
> Makefile:20: mips/Make.files: No such file or directory
> make[1]: *** No rule to make target 'mips/Make.files'.  Stop.
> make[1]: Leaving directory '/«BUILDDIR»/openlibm-0.5.4+dfsg'
> dh_auto_clean: make -j2 distclean returned exit code 2
> debian/rules:6: recipe for target 'clean' failed
> make: *** [clean] Error 2
> dpkg-buildpackage: error: fakeroot debian/rules clean gave error exit status 2

Full build log:
https://buildd.debian.org/status/fetch.php?pkg=openlibm=mips=0.5.4%2Bdfsg-2=1484767295=0

Build fails because there is no support for mips architectures.

I added all the necessary changes that are needed.
Code for files openlibm_fenv_mips.h, mips_fpmath.h and fenv.c was taken from 
https://github.com/freebsd/freebsd
It was also necessary to change libopenlibm2.symbols file, to update the 
missing symbols for mips arches.

I have created and attached patches that include these changes and resolve 
these issues.
Patch add-mips-support.patch adds support for mips architectures.
Patch update-mips-symbols.patch update symbols for mips architectures.

With these patches package builds successfully on mips, mipsel, mips64el.


Regards,
Radovan--- openlibm-0.5.4+dfsg_orig/debian/libopenlibm2.symbols	2017-01-24 08:51:29.0 +
+++ openlibm-0.5.4+dfsg/debian/libopenlibm2.symbols	2017-01-24 09:51:16.0 +
@@ -1,20 +1,20 @@
 libopenlibm.so.2 libopenlibm2 #MINVER#
- (arch=!armhf !arm64 !powerpc !ppc64el !ppc64)_ItL_aT@Base 0.4
- (arch=!armhf !arm64 !powerpc !ppc64el !ppc64)_ItL_atanhi@Base 0.4
- (arch=!armhf !arm64 !powerpc !ppc64el !ppc64)_ItL_atanlo@Base 0.4
- (arch=!armhf !arm64 !powerpc !ppc64el !ppc64)_ItL_pS0@Base 0.4
- (arch=!armhf !arm64 !powerpc !ppc64el !ppc64)_ItL_pS1@Base 0.4
- (arch=!armhf !arm64 !powerpc !ppc64el !ppc64)_ItL_pS2@Base 0.4
- (arch=!armhf !arm64 !powerpc !ppc64el !ppc64)_ItL_pS3@Base 0.4
- (arch=!armhf !arm64 !powerpc !ppc64el !ppc64)_ItL_pS4@Base 0.4
- (arch=!armhf !arm64 !powerpc !ppc64el !ppc64)_ItL_pS5@Base 0.4
- (arch=!armhf !arm64 !powerpc !ppc64el !ppc64)_ItL_pS6@Base 0.4
- (arch=!armhf !arm64 !powerpc !ppc64el !ppc64)_ItL_pi_lo@Base 0.4
- (arch=!armhf !arm64 !powerpc !ppc64el !ppc64)_ItL_qS1@Base 0.4
- (arch=!armhf !arm64 !powerpc !ppc64el !ppc64)_ItL_qS2@Base 0.4
- (arch=!armhf !arm64 !powerpc !ppc64el !ppc64)_ItL_qS3@Base 0.4
- (arch=!armhf !arm64 !powerpc !ppc64el !ppc64)_ItL_qS4@Base 0.4
- (arch=!armhf !arm64 !powerpc !ppc64el !ppc64)_ItL_qS5@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)_ItL_aT@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)_ItL_atanhi@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)_ItL_atanlo@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)_ItL_pS0@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)_ItL_pS1@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)_ItL_pS2@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)_ItL_pS3@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)_ItL_pS4@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)_ItL_pS5@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)_ItL_pS6@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)_ItL_pi_lo@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)_ItL_qS1@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)_ItL_qS2@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)_ItL_qS3@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)_ItL_qS4@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)_ItL_qS5@Base 0.4
  __exp__D@Base 0.4
  __fe_dfl_env@Base 0.4
 #MISSING: 0.5.0# (arch=!armhf)__fedisableexcept@Base 0.4
@@ -37,23 +37,23 @@ libopenlibm.so.2 libopenlibm2 #MINVER#
  (arch=!armhf)__isnormall@Base 0.4
  __kernel_cos@Base 0.4
  __kernel_cosdf@Base 0.4
- (arch=!armhf !arm64 !powerpc !ppc64el !ppc64)__kernel_cosl@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)__kernel_cosl@Base 0.4
  __kernel_rem_pio2@Base 0.4
  __kernel_sin@Base 0.4
 #MISSING: 0.5.0# __kernel_sincos@Base 0.4
 #MISSING: 0.5.0# __kernel_sincosdf@Base 0.4
  __kernel_sindf@Base 0.4
- (arch=!armhf !arm64 !powerpc !ppc64el !ppc64)__kernel_sinl@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)__kernel_sinl@Base 0.4
  __kernel_tan@Base 0.4
  __kernel_tandf@Base 0.4
- (arch=!armhf 

Bug#851267: hatari FTBFS on mips*: error: #error unrecognized CPU type

2017-01-13 Thread Radovan Birdic
Package: hatari
Version: 2.0.0+dfsg-1
Severity: important
Tags: sid + patch
Justification: FTBFS
User: debian-m...@lists.debian.org
Usertags: mips-patch

Hello,

Package hatari_2.0.0+dfsg-1 FTBFS on mips, mipsel and mips64el with following 
error:

> In file included from /«BUILDDIR»/hatari-2.0.0+dfsg/src/msa.c:18:0:
> /«BUILDDIR»/hatari-2.0.0+dfsg/src/cpu/sysdeps.h:60:2: error: #error 
> unrecognized CPU type
>  #error unrecognized CPU type
>   ^
> src/CMakeFiles/Floppy.dir/build.make:113: recipe for target 
> 'src/CMakeFiles/Floppy.dir/msa.c.o' failed
> make[4]: *** [src/CMakeFiles/Floppy.dir/msa.c.o] Error 1
> make[4]: Leaving directory '/«BUILDDIR»/hatari-2.0.0+dfsg/build'
> CMakeFiles/Makefile2:165: recipe for target 'src/CMakeFiles/Floppy.dir/all' 
> failed
> make[3]: *** [src/CMakeFiles/Floppy.dir/all] Error 2
> make[3]: Leaving directory '/«BUILDDIR»/hatari-2.0.0+dfsg/build'
> Makefile:130: recipe for target 'all' failed
> make[2]: *** [all] Error 2

I have created and attached a patch which adds support for mips arches.
Patch was already applied on upstream.
With this patch package builds successfully on mips, mipsel and mips64el.

Regards,
Radovan --- hatari-2.0.0+dfsg.orig/src/cpu/sysdeps.h
+++ hatari-2.0.0+dfsg/src/cpu/sysdeps.h
@@ -56,6 +56,8 @@ using namespace std;
 #define CPU_arm 1
 #elif defined(__powerpc__) || defined(_M_PPC) || defined(__ppc__) || defined(__ppc64__)
 #define CPU_powerpc 1
+#elif defined(__mips__) || defined(mips) || defined(__mips64)
+#define CPU_mips 1
 #else
 #error unrecognized CPU type
 #endif


Bug#851261: duperemove FTBFS on mips and mipsel: error: undefined reference to `__sync_add_and_fetch_8'

2017-01-13 Thread Radovan Birdic
Package: duperemove
Version: 0.11~beta4-1
Severity: important
Tags: sid + patch
Justification: FTBFS
User: debian-m...@lists.debian.org
Usertags: mips-patch

Hello,

Package duperemove_0.11~beta4-1 FTBFS on mips and mipsel with following error:

>  file_scan.o: In function `csum_whole_file_init':
>  ./file_scan.c:663: undefined reference to `__sync_add_and_fetch_8'
>  ./file_scan.c:663: undefined reference to `__sync_add_and_fetch_8'
>  run_dedupe.o: In function `dedupe_worker':
>  ./run_dedupe.c:676: undefined reference to `__sync_add_and_fetch_8'
>  run_dedupe.o: In function `extent_dedupe_worker':
>  ./run_dedupe.c:479: undefined reference to `__sync_add_and_fetch_8'
>  run_dedupe.o: In function `block_dedupe_worker':
>  ./run_dedupe.c:656: undefined reference to `__sync_add_and_fetch_8'
>  run_dedupe.o:./run_dedupe.c:801: more undefined references to 
> `__sync_add_and_fetch_8' follow
>  collect2: error: ld returned 1 exit status
>  Makefile:82: recipe for target 'duperemove' failed
>  make[1]: *** [duperemove] Error 1

Mips platform does not support 64-bit __sync_* operations, 
instead we need to use corresponding __atomic_* operations.
Linking with latomic is also necessary for mips32 arches.

Patch use-atomic-instead-sync.patch replaces __sync_add_and_fetch with 
corresponding __atomic_fetch_add functions.
Patch linking-with-latomic-as-needed.patch adds linking with latomic library as 
needed.

With these patches, package builds successfully on mips, mipsel, mips64el and 
i386.

Regards,
Radovan--- duperemove-0.11~beta4.orig/Makefile
+++ duperemove-0.11~beta4/Makefile
@@ -53,6 +53,7 @@ endif
 override CFLAGS += -D_FILE_OFFSET_BITS=64 -DVERSTRING=\"$(RELEASE)\" \
 	$(hash_CFLAGS) $(glib_CFLAGS) $(sqlite_CFLAGS) -rdynamic $(DEBUG_FLAGS)
 LIBRARY_FLAGS += $(hash_LIBS) $(glib_LIBS) $(sqlite_LIBS) -lm
+LIBRARY_FLAGS += -Wl,--as-needed -latomic
 
 # make C=1 to enable sparse
 ifdef C
--- duperemove-0.11~beta4.orig/file_scan.c
+++ duperemove-0.11~beta4/file_scan.c
@@ -660,7 +660,7 @@ static void csum_whole_file_init(GMutex
 	unsigned long long cur_scan_files;
 	*mutex = g_dataset_get_data(location, "mutex");
 
-	cur_scan_files = __sync_add_and_fetch(&_cur_scan_files, 1);
+	cur_scan_files = __atomic_fetch_add(&_cur_scan_files, 1, __ATOMIC_SEQ_CST);
 
 	printf("[%0*llu/%llu] (%05.2f%%) csum: %s\n",
 	   leading_spaces, cur_scan_files, files_to_scan,
--- duperemove-0.11~beta4.orig/run_dedupe.c
+++ duperemove-0.11~beta4/run_dedupe.c
@@ -476,7 +476,7 @@ static int extent_dedupe_worker(struct d
 uint64_t *fiemap_bytes, uint64_t *kern_bytes)
 {
 	int ret;
-	unsigned long long passno = __sync_add_and_fetch(_dedupe_pass, 1);
+	unsigned long long passno = __atomic_fetch_add(_dedupe_pass, 1, __ATOMIC_SEQ_CST);
 
 	ret = dedupe_extent_list(dext, fiemap_bytes, kern_bytes, passno);
 	if (ret) {
@@ -653,7 +653,7 @@ static int block_dedupe_worker(struct bl
 {
 	int ret;
 	struct results_tree res;
-	unsigned long long passno = __sync_add_and_fetch(_dedupe_pass, 1);
+	unsigned long long passno =  __atomic_fetch_add(_dedupe_pass, 1, __ATOMIC_SEQ_CST);
 
 	init_results_tree();
 
@@ -798,8 +798,8 @@ static int __push_blocks(struct hash_tre
 		goto out;
 	bdl = NULL;
 
-	__sync_add_and_fetch(
-		_dedupe_passes, 1);
+	 __atomic_fetch_add(
+		_dedupe_passes, 1, __ATOMIC_SEQ_CST);
 	break;
 }
 			}


Bug#849657: [Ceph-maintainers] Bug#849657: ceph: FTBFS on mips(el): g++: virtual memory exhausted: Cannot allocate memory

2017-01-05 Thread Radovan Birdic

Hi,

It seems that maxparallel=1, which is used for arm64, helps.
Using only 1 job I have got libatomic issue as well.

Errors with atomic functions occurs because mips32 arches does not 
support use of 8-byte atomics functions.

Linking with "latomic" library resolves this problem.

export DEB_LDFLAGS_MAINT_APPEND= -latomic

As building of ceph takes a lot of time I am still waiting to see if the 
build will finish successfully.


Regards,
Radovan



Bug#849536: limesuite FTBFS on mips and mipsel: error: undefined reference to `__atomic_load_8'

2016-12-28 Thread Radovan Birdic
Hi,

Here is new generic patch that should work for all architectures.
I added "--as-needed" flag that ensures linking with latomic library only if it 
is necessary.

With this patch package builds successfully on mips, mipsel, mips64el and i386.

Regards,
Radovan--- limesuite-16.8.23.819+git20161221+dfsg.orig/src/CMakeLists.txt
+++ limesuite-16.8.23.819+git20161221+dfsg/src/CMakeLists.txt
@@ -93,6 +93,8 @@ if(CMAKE_COMPILER_IS_GNUCXX)
 list(APPEND LIME_SUITE_LIBRARIES -pthread)
 endif(CMAKE_COMPILER_IS_GNUCXX)
 
+list(APPEND LIME_SUITE_LIBRARIES -Wl,--as-needed -latomic)
+
 #sqlite depedency
 list(APPEND LIME_SUITE_INCLUDES ${SQLITE3_INCLUDE_DIRS})
 list(APPEND LIME_SUITE_LIBRARIES ${SQLITE3_LIBRARIES})


Bug#849536: limesuite FTBFS on mips and mipsel: error: undefined reference to `__atomic_load_8'

2016-12-28 Thread Radovan Birdic
Package: limesuite
Version: 16.8.23.819+git20161221+dfsg-1
Severity: important
Tags: sid + patch
Justification: FTBFS
User: debian-m...@lists.debian.org
Usertags: mips-patch


Package limesuite_16.8.23.819+git20161221+dfsg-1 FTBFS on mips and mipsel with 
following error:

> /«BUILDDIR»/limesuite-16.8.23.819+git20161221+dfsg/src/boardEmulator.cpp:111:21:
>  warning: ignoring return value of 'int system(const char*)', declared with 
> attribute warn_unused_result [-Wunused-result]
>   system(linkCommand);
> ^
> ../libLimeSuite.so.16.8.23.819: undefined reference to `__atomic_exchange_8'
> ../libLimeSuite.so.16.8.23.819: undefined reference to `__atomic_load_8'
> ../libLimeSuite.so.16.8.23.819: undefined reference to `__atomic_store_8'
> collect2: error: ld returned 1 exit status
> src/examples/CMakeFiles/basicRX.dir/build.make:100: recipe for target 
> 'bin/basicRX' failed
> make[3]: *** [bin/basicRX] Error 1
> make[3]: Leaving directory 
> '/«BUILDDIR»/limesuite-16.8.23.819+git20161221+dfsg/obj-mips-linux-gnu'

Full build log:
https://buildd.debian.org/status/fetch.php?pkg=limesuite=mips=16.8.23.819%2Bgit20161221%2Bdfsg-1=1482435869

The problem occurs because mips 32-bit architectures does not support use of 
8-byte atomics functions.
To solve this problem, it is necessary to provide linking with libatomic 
library.

I have created and attached a patch that resolves this issue.
With this patch package builds successfully on mips, mipsel, mips64el and i386.

Build for powerpc also fails with same error and should be resolved in the same 
way as for the mips architecture,
but I did not have a chance to test it.

Regards,
Radovan--- limesuite-16.8.23.819+git20161221+dfsg.orig/src/CMakeLists.txt
+++ limesuite-16.8.23.819+git20161221+dfsg/src/CMakeLists.txt
@@ -93,6 +93,12 @@ if(CMAKE_COMPILER_IS_GNUCXX)
 list(APPEND LIME_SUITE_LIBRARIES -pthread)
 endif(CMAKE_COMPILER_IS_GNUCXX)
 
+if (CMAKE_SYSTEM_PROCESSOR MATCHES "(mips)|(MIPS)|(mipsel)|(MIPSEL)")
+if (CMAKE_SIZEOF_VOID_P MATCHES "4")
+ list(APPEND LIME_SUITE_LIBRARIES -latomic)
+	endif()
+endif()
+
 #sqlite depedency
 list(APPEND LIME_SUITE_INCLUDES ${SQLITE3_INCLUDE_DIRS})
 list(APPEND LIME_SUITE_LIBRARIES ${SQLITE3_LIBRARIES})


Bug#847750: rmysql: FTBFS on mips64el

2016-12-23 Thread Radovan Birdic
Hi,

I tried to build rmysql package on my local machine (mips64el) and got the same 
error.
When I manually execute this command in chroot, error does not occur:

echo "#include " |  gcc -std=gnu99  -I/usr/include/mariadb 
-I/usr/include/mariadb/mysql -g -O2 
-fdebug-prefix-map=/build/mariadb-connector-c-dopxmU/mariadb-connector-c-2.3.1=.
 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time 
-D_FORTIFY_SOURCE=2  -Wunused -Wno-uninitialized -E -xc - >/dev/null 2>&1

But running debian/rules binary-arch the error still appears.


Regards,
Radovan


Bug#848233: sphde FTBFS on mips and mipsel: missing mips32 support

2016-12-16 Thread Radovan Birdic
Hello Frederic,

Please do so. Thank you!

Regards,
Radovan


Bug#848233: sphde FTBFS on mips and mipsel: missing mips32 support

2016-12-15 Thread Radovan Birdic
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=mipsel=1.3.0-1=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.0 +
+++ sphde-1.3.0/debian/rules	2016-12-15 09:07:47.0 +
@@ -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 0x000100L   /*  16MB */
 #endif
 
+#ifdef __mips__
+# define __SAS_BASE_ADDRESS  0x6000UL/* 1,5GB */
+# define RegionSize  0x1000UL/* 256MB */
+# define SegmentSize 0x0100UL/*  16MB */
+# define __SAS_SHMAP_MAX 0x0100UL/*  16MB */
+#endif
+
 /* 
  * If the platform is not recognized above, select some resonable default.
  */


Bug#846611: atril FTBFS on mipsel: dpkg-deb (subprocess): compressing tar member: lzma error: Cannot allocate memory

2016-12-02 Thread Radovan Birdic
Package: atril
Version: 1.16.1-1
Severity: important
Tags: sid + patch
Justification: FTBFS
User: debian-m...@lists.debian.org
Usertags: mips-patch


Package atril_1.16.1-1 FTBFS on mipsel with following error:

> dpkg-deb: building package 'libatrildocument3-dbgsym' in 
> '../libatrildocument3-dbgsym_1.16.1-1_mipsel.deb'.
> dpkg-deb (subprocess): compressing tar member: lzma error: Cannot allocate 
> memory
> dpkg-deb: error: subprocess  from tar -cf returned error exit 
> status 2
> dh_builddeb: dpkg-deb -Zxz -z9 --build 
> debian/.debhelper/libatrilview3/dbgsym-root .. returned exit code 2

Full build log:
https://buildd.debian.org/status/fetch.php?pkg=atril=mipsel=1.16.1-1=1480460291

Problem occurs because -z9 uses a lot of memory during compression.

A similar problem had been detected in the package geneweb and it was solved by 
removing "dh_builddeb -- -Zxz -z9" from debian/rules file.
In this way deafult (xz) compression is used.
https://bugs.debian.org/845757

I have created and attached a patch that resolves this problem.
With this patch package builds successfully.

Regards,
Radovan--- atril-1.16.1_orig/debian/rules	2016-06-02 22:00:43.0 +
+++ atril-1.16.1/debian/rules	2016-12-02 08:58:00.0 +
@@ -44,8 +44,5 @@ override_dh_strip:
 	dh_strip -plibatrildocument3 --dbgsym-migration='libatrildocument3-dbg (<< 1.14.1-2~)'
 	dh_strip -plibatrilview3 --dbgsym-migration='libatrilview3-dbg (<< 1.14.1-2~)'
 
-override_dh_builddeb:
-	dh_builddeb -- -Zxz -z9
-
 get-orig-source:
 	uscan --noconf --force-download --rename --download-current-version --destdir=..


Bug#846091: mongo-cxx-driver-legacy FTBFS on mips and mipsel: undefined reference to `__atomic_fetch_add_8'

2016-11-28 Thread Radovan Birdic
Package: mongo-cxx-driver-legacy
Version: 1.1.2-3
Severity: important
Tags: sid + patch
Justification: FTBFS
User: debian-m...@lists.debian.org
Usertags: mips-patch


Package mongo-cxx-driver-legacy_1.1.2-3 FTBFS on mips and mipsel with following 
error:

> build/linux2/c++11_on/ssl/mongo/client/dbclient.os: In function 
> `std::__atomic_base::fetch_add(long long, std::memory_order)':
> /usr/include/c++/6/bits/atomic_base.h:514: undefined reference to 
> `__atomic_fetch_add_8'
> /usr/include/c++/6/bits/atomic_base.h:514: undefined reference to 
> `__atomic_fetch_add_8'
> collect2: error: ld returned 1 exit status
> scons: *** [build/linux2/c++11_on/ssl/libmongoclient.so.0.0.0] Error 1
> scons: building terminated because of errors.

Full build log:
https://buildd.debian.org/status/fetch.php?pkg=mongo-cxx-driver-legacy=mips=1.1.2-3=1479670183

The problem occurs because for 64-bits atomic operations on mips/mipsel it is 
needed to use libatomic library.
Configure tests CheckCXX11Atomics, CheckGCCAtomicBuiltins and 
CheckGCCSyncBuiltins does not cover this specific case.
Tests detect that mips has atomic operations (32-bits) but build fails during 
compilation because 64-bits atomic are needed.


I have created and attached a patch that corrects these tests and adds latomic 
into LIBS for mips/mipsel.
With this patch package builds successfully on mips, mipsel, mips64el and i386 
architectures.

Regards,
Radovan--- mongo-cxx-driver-legacy-1.1.2.orig/SConstruct
+++ mongo-cxx-driver-legacy-1.1.2/SConstruct
@@ -686,7 +686,10 @@ if darwin:
 elif linux:
 
 env.Append( LIBS=['m'] )
-
+
+if 'mips' in os.uname()[4] and '32bit' in py_platform.architecture():
+env.Append( LIBS=['atomic'] )
+	
 if os.uname()[4] == "x86_64" and not force32:
 linux64 = True
 nixLibPrefix = "lib64"
@@ -1597,7 +1600,7 @@ def doConfigure(myenv):
 test_body = """
 #include 
 int main(int argc, char **argv) {
-std::atomic a(0);
+std::atomic a(0);
 return a.fetch_add(1);
 }
 """
@@ -1609,9 +1612,9 @@ def doConfigure(myenv):
 def CheckGCCAtomicBuiltins(context):
 test_body = """
 int main(int argc, char **argv) {
-int a = 0;
-int b = 0;
-int c = 0;
+long long a = 0;
+long long b = 0;
+long long c = 0;
 
 __atomic_compare_exchange(, , , false, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST);
 return 0;
@@ -1625,7 +1628,7 @@ def doConfigure(myenv):
 def CheckGCCSyncBuiltins(context):
 test_body = """
 int main(int argc, char **argv) {
-int a = 0;
+long long a = 0;
 return __sync_fetch_and_add(, 1);
 }
 


Bug#845535: undertaker FTBFS on mips and mipsel: aspectc++ need to be recompiled with -fPIC

2016-11-24 Thread Radovan Birdic
Package: aspectc++
Version: 1:2.1-2
Severity: important
Tags: sid + patch
Justification: FTBFS
User: debian-m...@lists.debian.org
Usertags: mips-patch


Package undertaker_1.6.1-3 FTBFS on mips and mipsel with following error:

> /usr/bin/ld: 
> /usr/lib/gcc/mipsel-linux-gnu/6/../../../../lib/libPuma.a(PreMacro.o): 
> relocation R_MIPS_HI16 against `__gnu_local_gp' can not be used when making a 
> shared object; recompile with -fPIC
> /usr/lib/gcc/mipsel-linux-gnu/6/../../../../lib/libPuma.a: error adding 
> symbols: Bad value
> collect2: error: ld returned 1 exit status
> : recipe for target 'undertaker' failed
> make[4]: *** [undertaker] Error 1

The problem occurs because -fPIC flag is not used during aspectc++ build.

I have created and attached a patch that adds -fPIC flag and resolves this 
issue.
With this patch package builds successfully on mips, mipsel architectures.

Regards,
Radovan--- aspectc++-2.1_orig/debian/rules	2016-10-07 23:22:54.0 +
+++ aspectc++-2.1/debian/rules	2016-11-23 12:00:52.181590896 +
@@ -40,6 +40,11 @@ ifeq ($(DEB_HOST_ARCH),armhf)
 	CFLAGS := -Wall -O1 -g
 endif
 
+DEB_BUILD_ARCH ?= $(shell dpkg-architecture -qDEB_BUILD_ARCH)
+ifneq (,$(filter $(DEB_BUILD_ARCH),mips mipsel))
+	CFLAGS += -fPIC
+endif
+
 export CFLAGS
 PUMA_CONFIG=$(CURDIR)/puma.config
 


Bug#844739: partclone FTBFS on mips and mipsel: reiser4progs need to be recompiled with -fPIC

2016-11-18 Thread Radovan Birdic
Package: reiser4progs
Version: 1.1.0-2
Severity: important
Tags: sid + patch
Justification: FTBFS
User: debian-m...@lists.debian.org
Usertags: mips-patch


Package partclone_0.2.89-1 FTBFS on mips and mipsel with following error:

> /usr/bin/ld: 
> /usr/lib/gcc/mipsel-linux-gnu/6/../../../../lib/libreiser4.a(libreiser4_la-bitmap.o):
>  relocation R_MIPS_HI16 against `__gnu_local_gp' can not be used when making 
> a shared object; recompile with -fPIC
> /usr/lib/gcc/mipsel-linux-gnu/6/../../../../lib/libreiser4.a: error adding 
> symbols: Bad value
> collect2: error: ld returned 1 exit status
> Makefile:1058: recipe for target 'partclone.reiser4' failed
> make[3]: *** [partclone.reiser4] Error 1

The problem occurs because -fPIC flag is not used during reiser4progs build.

I have created and attached a patch that adds -fPIC flag and resolves this 
issue.
With this patch package builds successfully on mips, mipsel, mips64el and i386 
architectures.

Regards,
Radovan--- reiser4progs-1.1.0_orig/debian/rules	2014-07-19 15:00:54.0 +
+++ reiser4progs-1.1.0/debian/rules	2016-11-18 12:20:29.120912425 +
@@ -25,7 +25,14 @@ ifeq (,$(findstring nostrip,$(DEB_BUILD_
 endif
 
 export DEB_BUILD_MAINT_OPTIONS=hardening=-format
-export DEB_CFLAGS_MAINT_APPEND = -I$(CURDIR)
+
+DEB_BUILD_ARCH ?= $(shell dpkg-architecture -qDEB_BUILD_ARCH)
+ifneq (,$(filter $(DEB_BUILD_ARCH),mips mipsel))
+	export DEB_CFLAGS_MAINT_APPEND = -I$(CURDIR) -fPIC
+else
+	export DEB_CFLAGS_MAINT_APPEND = -I$(CURDIR)
+endif
+
 CFLAGS = `dpkg-buildflags --get CFLAGS`
 CPPFLAGS = `dpkg-buildflags --get CPPFLAGS`
 LDFLAGS = `dpkg-buildflags --get LDFLAGS`


Bug#844736: partclone FTBFS on mips and mipsel: libaal need to be recompiled with -fPIC

2016-11-18 Thread Radovan Birdic
Package: libaal
Version: 1.0.6-2
Severity: important
Tags: sid + patch
Justification: FTBFS
User: debian-m...@lists.debian.org
Usertags: mips-patch


Package partclone_0.2.89-1 FTBFS on mips and mipsel with following error:

> configure:8100: gcc -o conftest -g -O2 -fdebug-prefix-map=/«PKGBUILDDIR»=. 
> -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wdate-time 
> -D_FORTIFY_SOURCE=2 -Wl,-z,relro conftest.c -laal  -lpthread  >&5
> /usr/bin/ld: 
> /usr/lib/gcc/mips-linux-gnu/6/../../../mips-linux-gnu/libaal.a(libaal_la-device.o):
>  relocation R_MIPS_HI16 against `__gnu_local_gp' can not be used when making 
> a shared object; recompile with -fPIC
> /usr/lib/gcc/mips-linux-gnu/6/../../../mips-linux-gnu/libaal.a: error adding 
> symbols: Bad value
> collect2: error: ld returned 1 exit status

Full build log:
https://buildd.debian.org/status/fetch.php?pkg=partclone=mips=0.2.89-1=1479125695

The problem occurs because -fPIC flag is not used during libaal build.
This flag had been already added in debian rules but in configure.in all 
additional CFLAGS was ignored.

I have created and attached a patch that resolves this issue.
With this patch package builds successfully on mips, mipsel, mips64el and i386 
architectures.

Regards,
Radovan--- libaal-1.0.6_orig/configure.in	2016-11-18 14:40:12.903585244 +
+++ libaal-1.0.6/configure.in	2016-11-18 14:39:29.593384612 +
@@ -126,7 +126,8 @@ else
   ALIGN_FLAGS="-malign-jumps=1 -malign-loops=1 -malign-functions=1"
 fi
 
-CFLAGS=""
+# This disables possibility to specify any additional CFLAGS in configure line
+#CFLAGS=""
 MINIMAL_CFLAGS=""
 GENERIC_CFLAGS=""
 


Bug#844613: sphde FTBFS on mips64el: error: missing mip64 support

2016-11-17 Thread Radovan Birdic
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 mips64el with following error:

> In file included from tests/sasindex_t.c:22:0:
> tests/sasindex_t.c: In function 'sassim_index_test2':
> ./sasindexkey.h:222:17: error: 'key_val.key_element.data_0' may be used 
> uninitialized in this function [-Werror=maybe-uninitialized]
>dest->data[0] = key_val.key_element.data_0;

Full build log:
https://buildd.debian.org/status/fetch.php?pkg=sphde=mips64el=1.3.0-1=1473264403

Build fails because there is no support for mips64 architecture.
We need to change sasconf.h and sassim.cpp files, to define addresses and to 
adjust struct logNodeType for mips64 arch.

I have created and attached a patch that includes these changes and resolves 
this issue.
With this patch package builds successfully.

Regards,
Radovan--- sphde-1.3.0.orig/src/sasconf.h
+++ sphde-1.3.0/src/sasconf.h
@@ -78,6 +78,14 @@
 # define __SAS_SHMAP_MAX 0x040L   /* 4MB */
 #endif
 
+#ifdef __mips64
+# define __WORDSIZE_64
+# define __SAS_BASE_ADDRESS  0x40L   /* 256GB */
+# define RegionSize  0x20L   /* 128GB */
+# define SegmentSize 0x001000L   /* 256MB */
+# define __SAS_SHMAP_MAX 0x000100L   /*  16MB */
+#endif
+
 /* 
  * If the platform is not recognized above, select some resonable default.
  */
--- sphde-1.3.0.orig/src/sassim.cpp
+++ sphde-1.3.0/src/sassim.cpp
@@ -119,7 +119,8 @@ typedef struct
 {
 #ifdef __WORDSIZE_64
 #if defined (__x86_64__) || \
-(defined (__LITTLE_ENDIAN__) && defined (__powerpc64__))
+(defined (__LITTLE_ENDIAN__) && defined (__powerpc64__)) \
+|| ((__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__) && defined(__mips64)) 
   unsigned long offset:56;
   unsigned int size:8;
 #else


Bug#843136: drumgizmo FTBFS on mips and mipsel: error: undefined reference to `__atomic_load_8'

2016-11-07 Thread Radovan Birdic
Hi,

On 04/11/16 10:58, James Cowgill wrote:
> > +  #include 
> Typo? You want 

Yes, this is my fault. The name of the library is not properly specified.

> >#include 
> > +  std::atomic x;
> > +  std::atomic y;
> I don't think you should rely on these types being in the global namespace.

I modified test and removed uintptr_t type, because this type may not be 
defined in some library implementations.
More about that:
http://www.cplusplus.com/reference/cstdint/

Could you please take a look at new patch I attached? It includes a new test 
for checking is libatomic needed to link.

Regards,
Radovan--- drumgizmo-0.9.11.orig/configure.ac
+++ drumgizmo-0.9.11/configure.ac
@@ -473,9 +473,10 @@ dnl ==
 AC_MSG_CHECKING([for the need for linkage with libatomic])
 AC_LANG_PUSH([C++])
 AC_LINK_IFELSE([AC_LANG_SOURCE[
+  #include 
   #include 
   int main() {
-struct Test { int val; };
+struct Test { uintmax_t val; };
 std::atomic s;
 return s.is_lock_free()?1:0;
   }


Bug#843136: drumgizmo FTBFS on mips and mipsel: error: undefined reference to `__atomic_load_8'

2016-11-04 Thread Radovan Birdic
Package: drumgizmo
Version: 0.9.11-1
Severity: important
Tags: sid + patch
Justification: FTBFS
User: debian-m...@lists.debian.org
Usertags: mips-patch


Package drumgizmo_0.9.11-1 FTBFS on mips and mipsel with following error:

> plugingui-plugingui.o: In function `std::atomic::is_lock_free() 
> const':
> /usr/include/c++/6/atomic:212: undefined reference to `__atomic_is_lock_free'
> plugingui-plugingui.o: In function 
> `std::atomic::load(std::memory_order) const':
> /usr/include/c++/6/atomic:235: undefined reference to `__atomic_load_8'
> /usr/include/c++/6/atomic:235: undefined reference to `__atomic_load_8'
> /usr/include/c++/6/atomic:235: undefined reference to `__atomic_load_8'
> /usr/include/c++/6/atomic:235: undefined reference to `__atomic_load_8'
> plugingui-plugingui.o: In function `std::atomic::exchange(double, 
> std::memory_order)':
> /usr/include/c++/6/atomic:251: undefined reference to `__atomic_exchange_8'
> /usr/include/c++/6/atomic:251: undefined reference to `__atomic_exchange_8'
> plugingui-plugingui.o: In function 
> `std::atomic::load(std::memory_order) const':
> /usr/include/c++/6/atomic:235: undefined reference to `__atomic_load_8'
> /usr/include/c++/6/atomic:235: undefined reference to `__atomic_load_8'
> plugingui-plugingui.o: In function `SettingsNotifier::evaluate()':
> ./plugingui/../src/settings.h:152: undefined reference to `__atomic_load_8'
> plugingui-plugingui.o: In function 
> `std::atomic::load(std::memory_order) const':
> /usr/include/c++/6/atomic:235: undefined reference to `__atomic_load_8'
> /usr/include/c++/6/atomic:235: undefined reference to `__atomic_load_8'
> plugingui-plugingui.o:./plugingui/../src/settings.h:154: more undefined 
> references to `__atomic_load_8' follow
> collect2: error: ld returned 1 exit status
> Makefile:583: recipe for target 'plugingui' failed
> make[3]: *** [plugingui] Error 1

Full build log:
https://buildd.debian.org/status/fetch.php?pkg=drumgizmo=mips=0.9.11-1=1478043812

The problem is in configure.ac file. Code used for checking is libatomic needed 
to link 
always returns the same result. For mips and mipsel test passes but the build 
fails because of missing libatomic.
I have changed that test to provide linking with libatomic as needed.

Patch which corrects this test and resolves this issue is attached.
With this patch package builds successfully on mips*, i386 and amd64 
architectures.

Regards,
Radovan--- drumgizmo-0.9.11.orig/configure.ac
+++ drumgizmo-0.9.11/configure.ac
@@ -473,11 +473,12 @@ dnl ==
 AC_MSG_CHECKING([for the need for linkage with libatomic])
 AC_LANG_PUSH([C++])
 AC_LINK_IFELSE([AC_LANG_SOURCE[
+  #include 
   #include 
+  std::atomic x;
+  std::atomic y;	
   int main() {
-struct Test { int val; };
-std::atomic s;
-return s.is_lock_free()?1:0;
+	return x + y;
   }
 ]],
 [AC_MSG_RESULT([no])],


Bug#842675: lightdm FTBFS on mips, mipsel and mips64el: error: symbols mismatch

2016-10-31 Thread Radovan Birdic
Package: lightdm
Version: 1.18.2-3
Severity: important
Tags: sid + patch
Justification: FTBFS
User: debian-m...@lists.debian.org
Usertags: mips-patch


Package lightdm_1.18.2-3 FTBFS on mips, mipsel and mips64el with following 
error:

> dpkg-gensymbols: warning: some new symbols appeared in the symbols file: see 
> diff output below
> dpkg-gensymbols: warning: some symbols or patterns disappeared in the symbols 
> file: see diff output below
> dpkg-gensymbols: warning: debian/liblightdm-qt-3-0/DEBIAN/symbols doesn't 
> match completely debian/liblightdm-qt-3-0.symbols
> --- debian/liblightdm-qt-3-0.symbols (liblightdm-qt-3-0_1.18.2-3_mips)
> +++ dpkg-gensymbolsDuEcki 2016-10-19 21:43:07.131957422 +
> @@ -1,6 +1,8 @@
>  liblightdm-qt-3.so.0 liblightdm-qt-3-0 #MINVER#
> - _ZN10QDBusErrorD1Ev@Base 1.8.7
> - _ZN10QDBusErrorD2Ev@Base 1.8.7
> + _ZN10QByteArrayD1Ev@Base 1.18.2-3
> + _ZN10QByteArrayD2Ev@Base 1.18.2-3
> +#MISSING: 1.18.2-3# _ZN10QDBusErrorD1Ev@Base 1.8.7
> +#MISSING: 1.18.2-3# _ZN10QDBusErrorD2Ev@Base 1.8.7
>   _ZN10QDBusReplyI7QStringED1Ev@Base 1.8.7
>   _ZN10QDBusReplyI7QStringED2Ev@Base 1.8.7
>   _ZN11SessionItemD1Ev@Base 1.8.7
> @@ -11,6 +13,8 @@
>   _ZN5QHashIi10QByteArrayE11deleteNode2EPN9QHashData4NodeE@Base 1.8.7
>   _ZN5QHashIi10QByteArrayE13detach_helperEv@Base 1.8.7
>   _ZN5QHashIi10QByteArrayE13duplicateNodeEPN9QHashData4NodeEPv@Base 1.8.7
> + _ZN5QHashIi10QByteArrayED1Ev@Base 1.18.2-3
> + _ZN5QHashIi10QByteArrayED2Ev@Base 1.18.2-3
>   _ZN5QListI11SessionItemE18detach_helper_growEii@Base 1.8.7
>   _ZN5QListI11SessionItemE6appendERKS0_@Base 1.8.7
>   _ZN5QListI8UserItemE13detach_helperEi@Base 1.8.7
> @@ -18,6 +22,8 @@
>   _ZN5QListI8UserItemE6appendERKS0_@Base 1.8.7
>   _ZN6QDebugD1Ev@Base 1.8.7
>   _ZN6QDebugD2Ev@Base 1.8.7
> + _ZN7QStringD1Ev@Base 1.18.2-3
> + _ZN7QStringD2Ev@Base 1.18.2-3
>   _ZN8QLightDM10UsersModel11qt_metacallEN11QMetaObject4CallEiPPv@Base 1.8.7
>   _ZN8QLightDM10UsersModel11qt_metacastEPKc@Base 1.8.7
>   _ZN8QLightDM10UsersModel16staticMetaObjectE@Base 1.8.7
> dh_makeshlibs: failing due to earlier errors
> debian/rules:24: recipe for target 'binary-arch' failed
> make: *** [binary-arch] Error 2
> dpkg-buildpackage: error: fakeroot debian/rules binary-arch gave error exit 
> status 2

Full build log:
https://buildd.debian.org/status/fetch.php?pkg=lightdm=mips=1.18.2-3=1476913394

The problem is in liblightdm-qt-3-0.symbols where these symbols are missing.

I have created and attached a patch that adds missing symbols into this file 
and resolves this issue.
With this patch package builds successfully on mips*, i386 and amd64 
architectures.

Regards,
Radovan--- lightdm_orig/lightdm-1.18.2/debian/liblightdm-qt-3-0.symbols	2015-08-24 15:17:18.0 +
+++ lightdm-1.18.2/debian/liblightdm-qt-3-0.symbols	2016-10-31 10:48:04.819074394 +
@@ -1,6 +1,6 @@
 liblightdm-qt-3.so.0 liblightdm-qt-3-0 #MINVER#
- _ZN10QDBusErrorD1Ev@Base 1.8.7
- _ZN10QDBusErrorD2Ev@Base 1.8.7
+ _ZN10QByteArrayD1Ev@Base 1.18.2-3
+ _ZN10QByteArrayD2Ev@Base 1.18.2-3
  _ZN10QDBusReplyI7QStringED1Ev@Base 1.8.7
  _ZN10QDBusReplyI7QStringED2Ev@Base 1.8.7
  _ZN11SessionItemD1Ev@Base 1.8.7
@@ -11,6 +11,8 @@ liblightdm-qt-3.so.0 liblightdm-qt-3-0 #
  _ZN5QHashIi10QByteArrayE11deleteNode2EPN9QHashData4NodeE@Base 1.8.7
  _ZN5QHashIi10QByteArrayE13detach_helperEv@Base 1.8.7
  _ZN5QHashIi10QByteArrayE13duplicateNodeEPN9QHashData4NodeEPv@Base 1.8.7
+ _ZN5QHashIi10QByteArrayED1Ev@Base 1.18.2-3
+ _ZN5QHashIi10QByteArrayED2Ev@Base 1.18.2-3
  _ZN5QListI11SessionItemE18detach_helper_growEii@Base 1.8.7
  _ZN5QListI11SessionItemE6appendERKS0_@Base 1.8.7
  _ZN5QListI8UserItemE13detach_helperEi@Base 1.8.7
@@ -18,6 +20,8 @@ liblightdm-qt-3.so.0 liblightdm-qt-3-0 #
  _ZN5QListI8UserItemE6appendERKS0_@Base 1.8.7
  _ZN6QDebugD1Ev@Base 1.8.7
  _ZN6QDebugD2Ev@Base 1.8.7
+ _ZN7QStringD1Ev@Base 1.18.2-3
+ _ZN7QStringD2Ev@Base 1.18.2-3
  _ZN8QLightDM10UsersModel11qt_metacallEN11QMetaObject4CallEiPPv@Base 1.8.7
  _ZN8QLightDM10UsersModel11qt_metacastEPKc@Base 1.8.7
  _ZN8QLightDM10UsersModel16staticMetaObjectE@Base 1.8.7


Bug#836383: ola: FTBFS on mips*

2016-10-04 Thread Radovan Birdic
This commit which is marged upsteem seams to solves the issue.
https://github.com/OpenLightingProject/ola/commit/3eaed8c98d75efcff3b8e4f893b03634308156c3

I have tests it on my local boards and it builds successfully for mips, mipsel 
and mips64el.

A patch which contains these changes is attached.

Could you please include this patch.

Regards,
Radovandiff --git a/common/io/ExtendedSerial.cpp b/common/io/ExtendedSerial.cpp
index c432464..0921e9e 100644
--- a/common/io/ExtendedSerial.cpp
+++ b/common/io/ExtendedSerial.cpp
@@ -36,6 +36,13 @@
 
 #ifdef HAVE_ASM_TERMIOS_H
 // use this not standard termios for custom baud rates
+//
+// On mips architectures,  sets some cpp macros which cause
+//  (included by , used by ) to not define
+// ERANGE, EDOM, or EILSEQ, causing a spectacular compile failure there.
+//
+// Explicitly include  now to avoid the issue.
+#include 
 #include 
 #endif
 
diff --git a/configure.ac b/configure.ac
index f73bb8c..7c6873e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -75,8 +75,11 @@ AS_IF([test "x$ac_cv_gnu_plus_plus_11" = xyes],
 AC_HEADER_DIRENT
 AC_HEADER_RESOLV
 AC_HEADER_STDC
+# Required headers (we cannot work without these)
+AC_CHECK_HEADERS([errno.h],[],[AC_MSG_ERROR([Missing a required header])])
+# Other headers (we can work without these, but may need to modify things slightly)
 AC_CHECK_HEADERS([arpa/inet.h bits/sockaddr.h fcntl.h float.h limits.h malloc.h netinet/in.h stdint.h stdlib.h string.h strings.h sys/file.h sys/ioctl.h sys/socket.h sys/time.h sys/timeb.h syslog.h termios.h unistd.h])
-AC_CHECK_HEADERS([asm/termios.h assert.h dlfcn.h endian.h errno.h execinfo.h \
+AC_CHECK_HEADERS([asm/termios.h assert.h dlfcn.h endian.h execinfo.h \
   linux/if_packet.h math.h net/ethernet.h stropts.h \
   sys/param.h sys/types.h sys/uio.h sysexits.h])
 AC_CHECK_HEADERS([winsock2.h])


Bug#830748: supertuxkart: FTBFS on arm64, mips/mips64/mipsel, ppc64el, s390x

2016-09-29 Thread Radovan Birdic
Hello,

I have tried changes that you have suggested, with them, supertuxkart was 
building successfully on mips, mipsel, mips64el, i386 and amd64.

add-as_callfunc_mips-to-CMakeLists.patch - adds as_callfunc_mips.cpp file into 
CMakeLists.txt
fix-non-x86-arches-build.patch - fix angelscript build on non-x86 64-bits 
arches.

The patches that contains mentioned changes are attached.--- supertuxkart-0.9.2.orig/lib/angelscript/source/as_config.h
+++ supertuxkart-0.9.2/lib/angelscript/source/as_config.h
@@ -844,7 +844,7 @@
 			#define THISCALL_PASS_OBJECT_POINTER_ON_THE_STACK
 			#define AS_X86
 			#undef AS_NO_THISCALL_FUNCTOR_METHOD
-		#elif defined(__LP64__) && !defined(__arm64__)
+		#elif defined(__x86_64__)
 			#define AS_X64_GCC
 			#undef AS_NO_THISCALL_FUNCTOR_METHOD
 			#define HAS_128_BIT_PRIMITIVES
--- supertuxkart-0.9.2.orig/lib/angelscript/projects/cmake/CMakeLists.txt
+++ supertuxkart-0.9.2/lib/angelscript/projects/cmake/CMakeLists.txt
@@ -95,6 +95,7 @@ set(ANGELSCRIPT_SOURCE
 ../../source/as_tokenizer.cpp
 ../../source/as_typeinfo.cpp
 ../../source/as_variablescope.cpp
+../../source/as_callfunc_mips.cpp
 )
 
 if(MSVC AND CMAKE_CL_64)


Bug#830748: supertuxkart: FTBFS on arm64, mips/mips64/mipsel, ppc64el, s390x

2016-09-29 Thread Radovan Birdic
Hello,

I have tried changes that you have suggested, with them, supertuxkart was 
building successfully on mips, mipsel, mips64el, i386 and amd64.

add-as_callfunc_mips-to-CMakeLists.patch - adds as_callfunc_mips.cpp file into 
CMakeLists.txt
fix-non-x86-arches-build.patch - fix angelscript build on non-x86 64-bits 
arches.

The patches that contains mentioned changes are attached.--- supertuxkart-0.9.2.orig/lib/angelscript/projects/cmake/CMakeLists.txt
+++ supertuxkart-0.9.2/lib/angelscript/projects/cmake/CMakeLists.txt
@@ -95,6 +95,7 @@ set(ANGELSCRIPT_SOURCE
 ../../source/as_tokenizer.cpp
 ../../source/as_typeinfo.cpp
 ../../source/as_variablescope.cpp
+../../source/as_callfunc_mips.cpp
 )
 
 if(MSVC AND CMAKE_CL_64)
--- supertuxkart-0.9.2.orig/lib/angelscript/source/as_config.h
+++ supertuxkart-0.9.2/lib/angelscript/source/as_config.h
@@ -844,7 +844,7 @@
 			#define THISCALL_PASS_OBJECT_POINTER_ON_THE_STACK
 			#define AS_X86
 			#undef AS_NO_THISCALL_FUNCTOR_METHOD
-		#elif defined(__LP64__) && !defined(__arm64__)
+		#elif defined(__x86_64__)
 			#define AS_X64_GCC
 			#undef AS_NO_THISCALL_FUNCTOR_METHOD
 			#define HAS_128_BIT_PRIMITIVES


Bug#838016: chasen FTBFS on mips and mipsel: error: symbols mismatch

2016-09-21 Thread Radovan Birdic
Control: reopen -1
control: found -1 2.4.5-27

Package chasen_2.4.5-27 still fails on mips and mipsel.
These two symbols are causing the problem:

>   _ZNKSt5ctypeIcE8do_widenEc@Base 2.4.5
> - 
> _ZNSt6vectorIN5Darts15DoubleArrayImplIchlmNS0_6LengthIcEEE6node_tESaIS5_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS5_S7_EERKS5_@Base
>  2.4.5
> +#MISSING: 2.4.5-27# 
> _ZNSt6vectorIN5Darts15DoubleArrayImplIchlmNS0_6LengthIcEEE6node_tESaIS5_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS5_S7_EERKS5_@Base
>  2.4.5
>  
> _ZNSt6vectorIN5Darts15DoubleArrayImplIchlmNS0_6LengthIcEEE6node_tESaIS5_EE19_M_emplace_back_auxIJRKS5_EEEvDpOT_@Base
>  2.4.5
> - 
> _ZNSt6vectorIlSaIlEE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPlS1_EERKl@Base
>  2.4.5
> +#MISSING: 2.4.5-27# 
> _ZNSt6vectorIlSaIlEE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPlS1_EERKl@Base
>  2.4.5
>   _ZNSt6vectorIlSaIlEE19_M_emplace_back_auxIJRKlEEEvDpOT_@Base 2.4.5


We still have symbols mismatch as well as in the previous version of the 
package.
When we remove these symbols, build is successful.

See full build log:
https://buildd.debian.org/status/fetch.php?pkg=chasen=mipsel=2.4.5-27=1474351439



Bug#838016: chasen FTBFS on mips and mipsel: error: symbols mismatch

2016-09-16 Thread Radovan Birdic
Package: chasen
Version: 2.4.5-26
Severity: important
Tags: sid + patch
Justification: FTBFS
User: debian-m...@lists.debian.org
Usertags: mips-patch


Package chasen_2.4.5-26 FTBFS on mips and mipsel with following error:

> dpkg-gensymbols: warning: some new symbols appeared in the symbols file: see 
> diff output below
> dpkg-gensymbols: warning: some symbols or patterns disappeared in the symbols 
> file: see diff output below
> dpkg-gensymbols: warning: debian/libchasen2/DEBIAN/symbols doesn't match 
> completely debian/libchasen2.symbols.mips
> --- debian/libchasen2.symbols.mips (libchasen2_2.4.5-26_mips)
> +++ dpkg-gensymbolsbocCuK 2016-08-23 07:18:06.307976447 +
> @@ -30,8 +30,11 @@
>   _ZN5Darts15DoubleArrayImplIchlmNS_6LengthIcEEED0Ev@Base 2.4.5
>   _ZN5Darts15DoubleArrayImplIchlmNS_6LengthIcEEED1Ev@Base 2.4.5
>   _ZN5Darts15DoubleArrayImplIchlmNS_6LengthIcEEED2Ev@Base 2.4.5
> - 
> _ZNSt6vectorIN5Darts15DoubleArrayImplIchlmNS0_6LengthIcEEE6node_tESaIS5_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS5_S7_EERKS5_@Base
>  2.4.5
> - 
> _ZNSt6vectorIlSaIlEE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPlS1_EERKl@Base
>  2.4.5
> + _ZNKSt5ctypeIcE8do_widenEc@Base 2.4.5-26
> +#MISSING: 2.4.5-26# 
> _ZNSt6vectorIN5Darts15DoubleArrayImplIchlmNS0_6LengthIcEEE6node_tESaIS5_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS5_S7_EERKS5_@Base
>  2.4.5
> + 
> _ZNSt6vectorIN5Darts15DoubleArrayImplIchlmNS0_6LengthIcEEE6node_tESaIS5_EE19_M_emplace_back_auxIJRKS5_EEEvDpOT_@Base
>  2.4.5-26
> +#MISSING: 2.4.5-26# 
> _ZNSt6vectorIlSaIlEE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPlS1_EERKl@Base
>  2.4.5
> + _ZNSt6vectorIlSaIlEE19_M_emplace_back_auxIJRKlEEEvDpOT_@Base 2.4.5-26
>  #MISSING: 2.4.5-10# 
> _ZNSt8_Rb_treeISsSt4pairIKSslESt10_Select1stIS2_ESt4lessISsESaIS2_EE10_M_insert_EPKSt18_Rb_tree_node_baseSB_RKS2_@Base
>  2.4.5
>  #MISSING: 2.4.5# 
> _ZNSt8_Rb_treeISsSt4pairIKSslESt10_Select1stIS2_ESt4lessISsESaIS2_EE15_M_insert_equalERKS2_@Base
>  2.4.5
  _ZTIN5Darts15DoubleArrayImplIchlmNS_6LengthIc@Base 2.4.5
> dh_makeshlibs: failing due to earlier errors
> debian/rules:7: recipe for target 'binary-arch' failed
> make: *** [binary-arch] Error 2
> dpkg-buildpackage: error: fakeroot debian/rules binary-arch gave error exit 
> status 2

Full build log:
https://buildd.debian.org/status/fetch.php?pkg=chasen=mips=2.4.5-26=1471936694

The problem is in libchasen2.symbols.mips and libchasen2.symbols.mipsel files, 
where these symbols are missing.

I have created and attached a patch that adds missing symbols into these files 
and resolves this issue.
With this patch package builds successfully.

Regards,
RadovanBinary files chasen_orig/chasen-2.4.5/debian/.swp and chasen_26/chasen-2.4.5/debian/.swp differ
diff -upNr chasen_orig/chasen-2.4.5/debian/libchasen2.symbols.mips chasen_26/chasen-2.4.5/debian/libchasen2.symbols.mips
--- chasen_orig/chasen-2.4.5/debian/libchasen2.symbols.mips	2016-08-23 06:16:10.0 +
+++ chasen_26/chasen-2.4.5/debian/libchasen2.symbols.mips	2016-09-16 09:09:51.0 +
@@ -30,8 +30,11 @@ libchasen.so.2 libchasen2 #MINVER#
  _ZN5Darts15DoubleArrayImplIchlmNS_6LengthIcEEED0Ev@Base 2.4.5
  _ZN5Darts15DoubleArrayImplIchlmNS_6LengthIcEEED1Ev@Base 2.4.5
  _ZN5Darts15DoubleArrayImplIchlmNS_6LengthIcEEED2Ev@Base 2.4.5
- _ZNSt6vectorIN5Darts15DoubleArrayImplIchlmNS0_6LengthIcEEE6node_tESaIS5_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS5_S7_EERKS5_@Base 2.4.5
- _ZNSt6vectorIlSaIlEE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPlS1_EERKl@Base 2.4.5
+ _ZNKSt5ctypeIcE8do_widenEc@Base 2.4.5-26
+#MISSING: 2.4.5-26# _ZNSt6vectorIN5Darts15DoubleArrayImplIchlmNS0_6LengthIcEEE6node_tESaIS5_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS5_S7_EERKS5_@Base 2.4.5
+ _ZNSt6vectorIN5Darts15DoubleArrayImplIchlmNS0_6LengthIcEEE6node_tESaIS5_EE19_M_emplace_back_auxIJRKS5_EEEvDpOT_@Base 2.4.5-26
+#MISSING: 2.4.5-26# _ZNSt6vectorIlSaIlEE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPlS1_EERKl@Base 2.4.5
+ _ZNSt6vectorIlSaIlEE19_M_emplace_back_auxIJRKlEEEvDpOT_@Base 2.4.5-26
 #MISSING: 2.4.5-10# _ZNSt8_Rb_treeISsSt4pairIKSslESt10_Select1stIS2_ESt4lessISsESaIS2_EE10_M_insert_EPKSt18_Rb_tree_node_baseSB_RKS2_@Base 2.4.5
 #MISSING: 2.4.5# _ZNSt8_Rb_treeISsSt4pairIKSslESt10_Select1stIS2_ESt4lessISsESaIS2_EE15_M_insert_equalERKS2_@Base 2.4.5
  _ZTIN5Darts15DoubleArrayImplIchlmNS_6LengthIc@Base 2.4.5
diff -upNr chasen_orig/chasen-2.4.5/debian/libchasen2.symbols.mipsel chasen_26/chasen-2.4.5/debian/libchasen2.symbols.mipsel
--- chasen_orig/chasen-2.4.5/debian/libchasen2.symbols.mipsel	2016-08-23 06:16:10.0 +
+++ chasen_26/chasen-2.4.5/debian/libchasen2.symbols.mipsel	2016-09-16 10:57:21.0 +
@@ -30,8 +30,13 @@ libchasen.so.2 libchasen2 #MINVER#
  _ZN5Darts15DoubleArrayImplIchlmNS_6LengthIcEEED0Ev@Base 2.4.5
  _ZN5Darts15DoubleArrayImplIchlmNS_6LengthIcEEED1Ev@Base 2.4.5
  _ZN5Darts15DoubleArrayImplIchlmNS_6LengthIcEEED2Ev@Base 2.4.5
- 

Bug#835327: openjfx FTBFS on mips64el: error: static assertion failed

2016-08-24 Thread Radovan Birdic
Package: openjfx
Version: 8u102-b14-1
Severity: important
Tags: sid + patch
Justification: FTBFS
User: debian-m...@lists.debian.org
Usertags: mips-patch

Hello,

Package openjfx_8u102-b14-1 FTBFS on mips64el with following error:

> ../../../../src/main/native/Source/WTF/wtf/StdLibExtras.h:137:5: error: 
> static assertion failed: bitwise_cast size of FromType and ToType must be 
> equal!
>  static_assert(sizeof(FromType) == sizeof(ToType), "bitwise_cast size of 
> FromType and ToType must be equal!"); 

Full build log:
https://buildd.debian.org/status/fetch.php?pkg=openjfx=mips64el=8u102-b14-1=1470053666

Similar issue is already noticed for package webkitgtk
and resolved by adding support for mips64 architecture in Platform.h and 
utils.h.

On the following links you can read more about this problem:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=754358
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=789261

I have created and attached a patch that resolves this issue.
With this patch package builds successfully.

Regards,
Radovan--- openjfx-8u102-b14.orig/modules/web/src/main/native/Source/WTF/wtf/Platform.h
+++ openjfx-8u102-b14/modules/web/src/main/native/Source/WTF/wtf/Platform.h
@@ -88,16 +88,19 @@
 #endif
 #endif
 
-/* CPU(MIPS) - MIPS 32-bit */
-/* Note: Only O32 ABI is tested, so we enable it for O32 ABI for now.  */
-#if (defined(mips) || defined(__mips__) || defined(MIPS) || defined(_MIPS_)) \
-&& defined(_ABIO32)
+/* CPU(MIPS) - MIPS 32-bit and 64-bit */
+#if (defined(mips) || defined(__mips__) || defined(MIPS) || defined(_MIPS_) || defined(__mips64))
+#if defined(_ABI64) && (_MIPS_SIM == _ABI64)
+#define WTF_CPU_MIPS64 1
+#define WTF_MIPS_ARCH __mips64
+#else
 #define WTF_CPU_MIPS 1
+#define WTF_MIPS_ARCH __mips
+#endif
 #if defined(__MIPSEB__)
 #define WTF_CPU_BIG_ENDIAN 1
 #endif
 #define WTF_MIPS_PIC (defined __PIC__)
-#define WTF_MIPS_ARCH __mips
 #define WTF_MIPS_ISA(v) (defined WTF_MIPS_ARCH && WTF_MIPS_ARCH == v)
 #define WTF_MIPS_ISA_AT_LEAST(v) (defined WTF_MIPS_ARCH && WTF_MIPS_ARCH >= v)
 #define WTF_MIPS_ARCH_REV __mips_isa_rev
@@ -678,6 +681,7 @@
 || CPU(ALPHA) \
 || CPU(ARM64) \
 || CPU(S390X) \
+|| CPU(MIPS64) \
 || CPU(PPC64)
 #define WTF_USE_JSVALUE64 1
 #else
--- openjfx-8u102-b14.orig/modules/web/src/main/native/Source/WTF/wtf/dtoa/utils.h
+++ openjfx-8u102-b14/modules/web/src/main/native/Source/WTF/wtf/dtoa/utils.h
@@ -49,7 +49,7 @@
 defined(__ARMEL__) || \
 defined(_MIPS_ARCH_MIPS32R2)
 #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
-#elif CPU(MIPS) || CPU(PPC) || CPU(PPC64) || OS(WINCE) || CPU(SH4) || CPU(S390) || CPU(S390X) || CPU(IA64) || CPU(ALPHA) || CPU(ARM64) || CPU(HPPA)
+#elif CPU(MIPS) || CPU(MIPS64) || CPU(PPC) || CPU(PPC64) || OS(WINCE) || CPU(SH4) || CPU(S390) || CPU(S390X) || CPU(IA64) || CPU(ALPHA) || CPU(ARM64) || CPU(HPPA)
 #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
 #elif defined(_M_IX86) || defined(__i386__)
 #if defined(_WIN32)


Bug#828044: botch FTBFS on mips, mips64el and mipsel, Error: atdgen: Command not found

2016-06-24 Thread Radovan Birdic
Package: botch
Version: 0.17-3
Severity: serious
Tags: sid + patch
Justification: FTBFS
User: debian-m...@lists.debian.org
Usertags: mips-patch

Hello,

Package botch_0.17-3 FTBFS on mips, mipsel and mips64el with following error:

> atdgen -j -j-std datatypes.atd
> make[2]: atdgen: Command not found
> Makefile:130: recipe for target 'datatypes_j.ml' failed
> make[2]: *** [datatypes_j.ml] Error 127

build log:
https://buildd.debian.org/status/fetch.php?pkg=botch=mipsel=0.17-3=1460610554

This problem occurs because there is no atdgen binary file on mips, mips64el 
and mipsel,
instead we could use atdgen.run.

I have created and attached a patch which enable useage of atdgen.run if atdgen 
does not exist.

After applaying this patch, this problem no longer occurs, but there is the 
same problem as well as architectures i386 and amd64:
https://bugs.debian.org/827977


Regards,
Radovan
--- botch-0.17.orig/Makefile	2016-06-22 13:49:38.0 +
+++ botch-0.17/Makefile	2016-06-24 09:26:59.582651725 +
@@ -29,6 +29,7 @@ BIN_TOOLS:=$(BIN_PYTOOLS) $(BIN_OCTOOLS)
 MANPAGES:=$(patsubst %, doc/man/botch-%.1, $(BIN_TOOLS))
 
 OCAML_BEST ?= $(if $(wildcard /usr/bin/ocamlopt),native,byte)
+ATDGEN ?= $(if $(wildcard /usr/bin/atdgen ),atdgen,atdgen.run)
 
 PWD := $(shell pwd)
 BUILD = $(PWD)/dose/_build
@@ -127,10 +128,10 @@ doselib:
 	done
 
 %_j.ml: %.atd
-	atdgen -j -j-std $<
+	$(ATDGEN) -j -j-std $<
 
 %_t.ml: %.atd
-	atdgen -t $<
+	$(ATDGEN) -t $<
 
 .PHONY: atdgen
 atdgen: datatypes_j.ml datatypes_t.ml


Bug#827977: botch FTBFS on i386, amd64, Error: Unbound value CudfAdd.inttovar

2016-06-23 Thread Radovan Birdic
Package: botch
Version: 0.17-3
Severity: normal
Tags: sid
Justification: FTBFS


Hello,

Package botch_0.17-3  FTBFS on i386, amd64 with following error:

> File "bootstrapCommon.ml", line 281, characters 18-34:
> Error: Unbound value CudfAdd.inttovar
> Hint: Did you mean inttopkg?

The problem occurs because of update dose3 package to new version (5.0).

This is the first detected issue, but similar issues are expected as well due 
to other changes in new version.

Release notes of dose3 5.0 are listed below:

> dose3 (5.0) UNRELEASED; urgency=low
>  * finally implement keep_package/version/feature properly. The globalid
> index that was used to optionally encode the global constraints is
>   now disappeared. This simplify the interface of the solver.
> * massive refactoring. Change of API . All functions in Depsolver*
>   accept a new paramenter "global_constraints" that is a vpkgformula
>   enconding all packages that must be co-installed by by default with
>   each request. This is used to properly encode debian essential packages
>   without abusing 'Keep_package as before.
> * Depsolver_int.{solve,init_solver_unit,init_solver_cache} have a new optional
>   argument 'explain'. When false, reduce the memory footprint.
> * Depsolver.{check_request,check_request_using} accept a new parameter dummy
>   that can be used to pass arbitrary contraints as a cudf.package that is 
> going
>   to be coinstalled as part of the request and filtered out in the result.
> * improvements to the documentation and test units
> * add --compare to ceve when used with pef://
> * improvements to distcheck --lowmem
> * StdOptions.lastest now returns an integer to consider only the last n 
> versions
>   of each package
> * API change : CudfAdd.latest
> * API change : CudfAdd.inttovar -> CudfAdd.inttopkg
> * API change : add parameter to check_request and check_request_using
> * apt-cudf : package up or downgrades are expressed in a single
>   "Install" request and that these do not show up as a "Remove" request 
> anymore.
> * StdOptions.DistribOptions.add_options are now different for each input ( ex.
>   StdOptions.DistribOptions.add_debian_options )uu
> * Debian.Printer.pp_* functions are now methods of the Debian.package class



Regards,
Radovan


botch_0.17-3_i386.build
Description: botch_0.17-3_i386.build


Bug#827465: flint FTBFS on testing for mips64el, error: 'LLONG_MAX' undeclared

2016-06-16 Thread Radovan Birdic
Package: flint
Version: 2.5.2-5
Severity: normal
Tags: sid + patch
Justification: FTBFS
User: debian-m...@lists.debian.org
Usertags: mips-patch

Hello,

Package flint_2.5.2-5 FTBFS on mips64el with following error:

> In file included from printf.c:32:0:
> gmpcompat.h: In function 'flint_mpf_fits_slong_p':
> flint.h:113:18: error: 'LLONG_MAX' undeclared (first use in this function)
> #define WORD_MAX LLONG_MAX

> flint.h:114:18: error: 'LLONG_MIN' undeclared (first use in this function)
> #define WORD_MIN LLONG_MIN

build log:
https://buildd.debian.org/status/fetch.php?pkg=flint=mips64el=2.5.2-5=1463208762

The problem occurs because of the use -ansi flag.
When this flag is used on mips64, LLONG_MAX and LLONG_MIN will not be defined.

> ifdef __USE_ISOC99
> /* Minimum and maximum values a `signed long long int' can hold. */
>
>define LLONG_MAX 9223372036854775807LL
>define LLONG_MIN (-LLONG_MAX - 1LL)

I have created and attached a patch which removes -ansi flag.
With this patch package was build successfully for mips64el, mipsel, i386, amd64

Thank you!

Regards,
Radovan
--- flint-2.5.2/debian/rules	2016-05-13 07:42:49.0 +
+++ ./rules	2016-06-16 08:31:22.312142131 +
@@ -4,15 +4,20 @@ VERSION := $(shell dpkg-parsechangelog |
 EXTRA_SHARED_FLAGS=-Wl,-soname,libflint-$(VERSION).so
 MAKE_OVERRIDE = AT= QUIET_CXX= QUIET_CC= QUIET_AR= INCS=-I$(CURDIR) \
 ABI_FLAG='$(LDFLAGS)'
-
+DEB_BUILD_ARCH ?= $(shell dpkg-architecture -qDEB_BUILD_ARCH)
 %:
 	dh $@ --parallel
 
+ifneq (,$(filter $(DEB_BUILD_ARCH),mips64 mips64el))
+CFLAGS_OVERRIDE = '$(CPPFLAGS) $(CFLAGS)'
+else
+CFLAGS_OVERRIDE = '$(CPPFLAGS) $(CFLAGS) -ansi'
+endif
 # upstream Makefile has only CFLAGS, not CPPFLAGS and not even CXXFLAGS, so
 # inject flags using configure. let's hope CFLAGS will always be good enough
 # even for $(CXX)
 override_dh_auto_configure:
-	./configure --prefix="/usr" --with-ntl CFLAGS='$(CPPFLAGS) $(CFLAGS) -ansi' --disable-static
+	./configure --prefix="/usr" --with-ntl CFLAGS=$(CFLAGS_OVERRIDE) --disable-static
 	sed -i Makefile -e "/^FLINT_LIB\>=/s/libflint/libflint-$(VERSION)/"
 
 override_dh_auto_build:


Bug#803566: kmidimon: FTBFS: add_custom_target cannot create target "uninstall"

2016-06-14 Thread Radovan Birdic
Hello,

Similar issue is already noticed for package klatexformula
and resolved by removing uninstall target from CMakeLists.txt

klatexformula (3.3.0~beta-1) unstable; urgency=medium

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=803761

I have created and attached a patch resolving this issue.

Patch is tested on mipsel, mips64el, i386 and amd64.
With this patch package was build successfully.

Thank you!

Regards,
Radovan
--- kmidimon-0.7.5.orig/CMakeLists.txt
+++ kmidimon-0.7.5/CMakeLists.txt
@@ -128,13 +128,6 @@ CONFIGURE_FILE(
 "${CMAKE_SOURCE_DIR}/kmidimon.spec"
 IMMEDIATE @ONLY)
 
-CONFIGURE_FILE(
-"${CMAKE_SOURCE_DIR}/cmake_admin/cmake_uninstall.cmake.in"
-"${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
-IMMEDIATE @ONLY)
-ADD_CUSTOM_TARGET(uninstall
-"${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")
-
 ADD_CUSTOM_TARGET ( tarball
 COMMAND mkdir -p kmidimon-${VERSION}
 COMMAND cp -r cmake_admin kmidimon-${VERSION}