Bug#758725: package mrpt_1:1.2.1-1 FTBFS on i386, amd64, mips*

2014-09-12 Thread Jurica Stanojkovic
Hi Jose Luis,

I can confirm that the head of git (from Sep, 10, 2014) has been built 
successfully on mips and mipsel.
All tests executed successfully.
Please note that changes from Sep 11 and 12 have not been included in this and 
that I have set BUILD_ASSIMP=OFF for mips and mipsel.
 
Could you please prepare new version of mrpt package for Debian?

Thank you!
Jurica

From: Jose Luis Blanco [joseluisblan...@gmail.com]
Sent: 09 September 2014 02:18
To: Jurica Stanojkovic
Cc: 758...@bugs.debian.org
Subject: Re: Bug#758725: package mrpt_1:1.2.1-1 FTBFS on i386, amd64, mips*

Thanks for the investigation!

Following that line, I think I have solved all de-serialization
problems in GIT head: https://github.com/jlblancoc/mrpt/commits/master
The two relevant patches are:
1) 
https://github.com/jlblancoc/mrpt/commit/7b1536c7f43ddc9cc949407f71fde0c8db0ecf5b
2) 
https://github.com/jlblancoc/mrpt/commit/d7fe726eb896b1a9d453e3b2d53252b25dbc3918

Let me know if this finally solves the issue.

JL


--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#758725: package mrpt_1:1.2.1-1 FTBFS on i386, amd64, mips*

2014-09-12 Thread Jose Luis Blanco
Great news!

Sure. I'm preparing it, after some checking will submit it.

Thanks.
JL


On Fri, Sep 12, 2014 at 10:17 AM, Jurica Stanojkovic
jurica.stanojko...@imgtec.com wrote:
 Hi Jose Luis,

 I can confirm that the head of git (from Sep, 10, 2014) has been built 
 successfully on mips and mipsel.
 All tests executed successfully.
 Please note that changes from Sep 11 and 12 have not been included in this 
 and that I have set BUILD_ASSIMP=OFF for mips and mipsel.

 Could you please prepare new version of mrpt package for Debian?

 Thank you!
 Jurica
 
 From: Jose Luis Blanco [joseluisblan...@gmail.com]
 Sent: 09 September 2014 02:18
 To: Jurica Stanojkovic
 Cc: 758...@bugs.debian.org
 Subject: Re: Bug#758725: package mrpt_1:1.2.1-1 FTBFS on i386, amd64, mips*

 Thanks for the investigation!

 Following that line, I think I have solved all de-serialization
 problems in GIT head: https://github.com/jlblancoc/mrpt/commits/master
 The two relevant patches are:
 1) 
 https://github.com/jlblancoc/mrpt/commit/7b1536c7f43ddc9cc949407f71fde0c8db0ecf5b
 2) 
 https://github.com/jlblancoc/mrpt/commit/d7fe726eb896b1a9d453e3b2d53252b25dbc3918

 Let me know if this finally solves the issue.

 JL



-- 
___

Dr. Jose-Luis Blanco-Claraco
CITE-IV 1.05
Universidad de Almería, Departamento de Ingeniería
04120 Almería (Spain)
http://www.ual.es/~jlblanco/
___


--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#758725: package mrpt_1:1.2.1-1 FTBFS on i386, amd64, mips*

2014-09-08 Thread Jurica Stanojkovic
Hello Jose Luis,

On big endian. while executing MonteCarlo2D.RunSampleDataset test first problem 
is found here:
https://github.com/jlblancoc/mrpt/blob/master/libs/base/src/utils/CStream.cpp
After the line 405 version_old have value that is in wrong endian format 
(little endian).

Second problem is here:
https://github.com/jlblancoc/mrpt/blob/master/libs/maps/src/maps/COccupancyGridMap2D_insert.cpp
After the line 168 curRange have value that is in wrong endian format (little 
endian).

For now I have used mrpt::utils::reverseBytesInPlace( ) to fix wrong endian 
values and I am trying to investigate problem further.

Afrer resolving those problems  MonteCarlo2D.RunSampleDataset test fail with 
message:
*Warning: Test failed. Will give it another chance, since after all it's 
nondeterministic!

Can you please look and comment at these issues?

Thank you!
Jurica


From: Jurica Stanojkovic
Sent: 27 August 2014 17:36
To: Jose Luis Blanco
Cc: 758...@bugs.debian.org
Subject: RE: Bug#758725: package mrpt_1:1.2.1-1 FTBFS on i386, amd64, mips*

I have enabled and run test TEST(ReactiveNavTests, LoadNavLogFile) on mips big 
endian.
Test does not fail on mips.

Maybe, this test could be available for big endian arch as well.

Regards,
Jurica


--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#758725: package mrpt_1:1.2.1-1 FTBFS on i386, amd64, mips*

2014-09-08 Thread Jose Luis Blanco
Thanks for the investigation!

Following that line, I think I have solved all de-serialization
problems in GIT head: https://github.com/jlblancoc/mrpt/commits/master
The two relevant patches are:
1) 
https://github.com/jlblancoc/mrpt/commit/7b1536c7f43ddc9cc949407f71fde0c8db0ecf5b
2) 
https://github.com/jlblancoc/mrpt/commit/d7fe726eb896b1a9d453e3b2d53252b25dbc3918

Let me know if this finally solves the issue.

JL


On Mon, Sep 8, 2014 at 5:26 PM, Jurica Stanojkovic
jurica.stanojko...@imgtec.com wrote:
 Hello Jose Luis,

 On big endian. while executing MonteCarlo2D.RunSampleDataset test first 
 problem is found here:
 https://github.com/jlblancoc/mrpt/blob/master/libs/base/src/utils/CStream.cpp
 After the line 405 version_old have value that is in wrong endian format 
 (little endian).

 Second problem is here:
 https://github.com/jlblancoc/mrpt/blob/master/libs/maps/src/maps/COccupancyGridMap2D_insert.cpp
 After the line 168 curRange have value that is in wrong endian format (little 
 endian).

 For now I have used mrpt::utils::reverseBytesInPlace( ) to fix wrong endian 
 values and I am trying to investigate problem further.

 Afrer resolving those problems  MonteCarlo2D.RunSampleDataset test fail with 
 message:
 *Warning: Test failed. Will give it another chance, since after all it's 
 nondeterministic!

 Can you please look and comment at these issues?

 Thank you!
 Jurica


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#758725: package mrpt_1:1.2.1-1 FTBFS on i386, amd64, mips*

2014-08-27 Thread Jurica Stanojkovic
Hello,

I can confirm that the current head of git (taken on monday) has been built 
successfully on mips as well.
All tests executed without an error.
TEST(ReactiveNavTests, LoadNavLogFile) and TEST(MonteCarlo2D, RunSampleDataset) 
were skipped on big endian.
Also TEST(Synch, CSemaphore_named ) has returned the mesage:
*Skipping test* It seems the kernel doesn't support named semaphores in this 
platform.

Regards,
Jurica


From: Jurica Stanojkovic
Sent: 25 August 2014 15:52
To: Jose Luis Blanco
Cc: 758...@bugs.debian.org
Subject: RE: Bug#758725: package mrpt_1:1.2.1-1 FTBFS on i386, amd64, mips*

 Good! Just for curiosity: are all other unit tests passing?

I have re-run tests again to be sure and they all pass.
TEST(ReactiveNavTests, LoadNavLogFile) and TEST(MonteCarlo2D, RunSampleDataset) 
are skipped on big endian.
Also TEST(Synch, CSemaphore_named ) has returned the mesage:
*Skipping test* It seems the kernel doesn't support named semaphores in this 
platform.

 It would be great if you could confirm that the current head of git
master is building correctly in mips...

It has been built correctly on mipsel over weekend.
On mips I am trying to build package.
It will take more time on mips, because mips machine that I use is slower then 
the mipsel one.

Regards,
Jurica


From: Jose Luis Blanco [joseluisblan...@gmail.com]
Sent: 22 August 2014 17:58
To: Jurica Stanojkovic
Cc: 758...@bugs.debian.org
Subject: Re: Bug#758725: package mrpt_1:1.2.1-1 FTBFS on i386, amd64, mips*

 With these changes I was able to build package on mips*

Good! Just for curiosity: are all other unit tests passing? Because
that means that de-serialization is actually working (it's used in
other tests, like in ReactiveNavTests.LoadNavLogFile).

I have finally solved the pragma pack problem properly, with these 2
additional commits:
4) 
https://github.com/jlblancoc/mrpt/commit/cd4878874b930e151deb6d89577c215c687b80b3
5) 
https://github.com/jlblancoc/mrpt/commit/b52d65b5a0bcc552e7a7c6d420f30be623d8fd38

It would be great if you could confirm that the current head of git
master is building correctly in mips...
I guess it may take a long time to build in mips, so thank you very
much for your tests!!

Cheers,
JL


--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#758725: package mrpt_1:1.2.1-1 FTBFS on i386, amd64, mips*

2014-08-27 Thread Jose Luis Blanco
Thank you very much!!


On Wed, Aug 27, 2014 at 1:53 PM, Jurica Stanojkovic
jurica.stanojko...@imgtec.com wrote:
 Hello,

 I can confirm that the current head of git (taken on monday) has been built 
 successfully on mips as well.
 All tests executed without an error.
 TEST(ReactiveNavTests, LoadNavLogFile) and TEST(MonteCarlo2D, 
 RunSampleDataset) were skipped on big endian.
 Also TEST(Synch, CSemaphore_named ) has returned the mesage:
 *Skipping test* It seems the kernel doesn't support named semaphores in this 
 platform.

 Regards,
 Jurica


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#758725: package mrpt_1:1.2.1-1 FTBFS on i386, amd64, mips*

2014-08-27 Thread Jurica Stanojkovic
I have enabled and run test TEST(ReactiveNavTests, LoadNavLogFile) on mips big 
endian.
Test does not fail on mips.

Maybe, this test could be available for big endian arch as well.

Regards,
Jurica


--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#758725: package mrpt_1:1.2.1-1 FTBFS on i386, amd64, mips*

2014-08-25 Thread Jurica Stanojkovic
 Good! Just for curiosity: are all other unit tests passing?

I have re-run tests again to be sure and they all pass.
TEST(ReactiveNavTests, LoadNavLogFile) and TEST(MonteCarlo2D, RunSampleDataset) 
are skipped on big endian.
Also TEST(Synch, CSemaphore_named ) has returned the mesage: 
*Skipping test* It seems the kernel doesn't support named semaphores in this 
platform.

 It would be great if you could confirm that the current head of git
master is building correctly in mips...

It has been built correctly on mipsel over weekend.
On mips I am trying to build package.
It will take more time on mips, because mips machine that I use is slower then 
the mipsel one.

Regards,
Jurica


From: Jose Luis Blanco [joseluisblan...@gmail.com]
Sent: 22 August 2014 17:58
To: Jurica Stanojkovic
Cc: 758...@bugs.debian.org
Subject: Re: Bug#758725: package mrpt_1:1.2.1-1 FTBFS on i386, amd64, mips*

 With these changes I was able to build package on mips*

Good! Just for curiosity: are all other unit tests passing? Because
that means that de-serialization is actually working (it's used in
other tests, like in ReactiveNavTests.LoadNavLogFile).

I have finally solved the pragma pack problem properly, with these 2
additional commits:
4) 
https://github.com/jlblancoc/mrpt/commit/cd4878874b930e151deb6d89577c215c687b80b3
5) 
https://github.com/jlblancoc/mrpt/commit/b52d65b5a0bcc552e7a7c6d420f30be623d8fd38

It would be great if you could confirm that the current head of git
master is building correctly in mips...
I guess it may take a long time to build in mips, so thank you very
much for your tests!!

Cheers,
JL


--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#758725: package mrpt_1:1.2.1-1 FTBFS on i386, amd64, mips*

2014-08-22 Thread Jurica Stanojkovic
I will try to fix de-serialization problems on big endian.

For now i have tried to build package with your patches 
1) 
https://github.com/jlblancoc/mrpt/commit/9a878c0950edd8ca7de6f4584f920c4e0db05ecc
2) 
https://github.com/jlblancoc/mrpt/commit/289498fc34703c2fcf6b61e72c3311144e5fb570
and ifdef workaround
3) 
https://github.com/jlblancoc/mrpt/commit/c06ed1c384ba2e719c52f65a1a49bddcf7d261e5
and the patch
4) mips-patch.diff (attached in this mail)

With these changes I was able to build package on mips*

For strict alignment, as far as I know, there is no macro that could be used 
for detecting if a strict alignment is necessary.
I think that sparc also has alignment rules. 
(maybe the best way to be sure about this is to ask porters for other 
architectures to help with this issue).

Regards,
Jurica


From: Jose Luis Blanco [joseluisblan...@gmail.com]
Sent: 21 August 2014 19:11
To: Jurica Stanojkovic
Cc: 758...@bugs.debian.org
Subject: Re: Bug#758725: package mrpt_1:1.2.1-1 FTBFS on i386, amd64, mips*

So, the #ifdef workaround was incorrectly placed, to start with!

This patch will solve it:
https://github.com/jlblancoc/mrpt/commit/c06ed1c384ba2e719c52f65a1a49bddcf7d261e5

But obviously, that's not the ideal solution because that's resigning
trying to fix de-serialization problems!

I didn't know that issue about #pragma pack, it will be a problem.
Let me check it more in depth, but I'm sure the struct pack'ing is
taken for granted in some parts of the code. Actually, there's even
one unit test checking it...

Please, let me know whatever other unit tests don't pass in MIPS while
I think what to do with the pragmas.

BTW: Is there any macro to detect architectures with strict alignment rules?

JL
diff -upNr mrpt-1.2.1-old/libs/base/include/mrpt/math/lightweight_geom_data.h mrpt-1.2.1/libs/base/include/mrpt/math/lightweight_geom_data.h
--- mrpt-1.2.1-old/libs/base/include/mrpt/math/lightweight_geom_data.h	2014-07-10 16:18:40.0 +
+++ mrpt-1.2.1/libs/base/include/mrpt/math/lightweight_geom_data.h	2014-08-01 17:40:08.0 +
@@ -25,7 +25,9 @@ namespace math	{
 	  * @{ */
 
 	//Pragma defined to ensure no structure packing
+#ifndef __mips__
 #pragma pack(push,1)
+#endif
 	//Set of typedefs for lightweight geometric items.
 	/**
 	  * Lightweight 2D point. Allows coordinate access using [] operator.
@@ -238,7 +240,9 @@ namespace math	{
 		 static size_t size() { return 3; }
 	};
 
+#ifndef __mips__
 #pragma pack(pop) // NOTE: Don't force TPoint3Df to be mem aligned (may break CPU mem access alignment in ARM)
+#endif
 
 	/** Lightweight 3D point (float version).
 	  * \sa mrpt::poses::CPoint3D, mrpt::math::TPoint3D
@@ -261,7 +265,9 @@ namespace math	{
 
 	};
 
+#ifndef __mips__
 #pragma pack(push,1)  //Pragma defined to ensure no structure packing
+#endif
 	/**
 	  * Lightweight 3D point. Allows coordinate access using [] operator.
 	  * \sa mrpt::poses::CPoint3D, mrpt::math::TPoint3Df
@@ -550,7 +556,9 @@ namespace math	{
 		 void fromString(const std::string s);
 		 static size_t size() { return 7; }
 	};
+#ifndef __mips__
 #pragma pack(pop)
+#endif
 
 	// Text streaming functions:
 	std::ostream BASE_IMPEXP  operator  (std::ostream o, const TPoint2D  p);
@@ -621,7 +629,9 @@ namespace math	{
 	struct BASE_IMPEXP TObject3D;
 
 	//Pragma defined to ensure no structure packing
+#ifndef __mips__
 #pragma pack(push,1)
+#endif
 	/**
 	  * 2D segment, consisting of two points.
 	  * \sa TSegment3D,TLine2D,TPolygon2D,TPoint2D
@@ -761,7 +771,9 @@ namespace math	{
 
 		bool operator(const TSegment3D s) const;
 	};
+#ifndef __mips__
 #pragma pack(pop)
+#endif
 
 	inline bool operator==(const TSegment2D s1,const TSegment2D s2)	{
 		return (s1.point1==s2.point1)(s1.point2==s2.point2);


Bug#758725: package mrpt_1:1.2.1-1 FTBFS on i386, amd64, mips*

2014-08-22 Thread Jose Luis Blanco
 With these changes I was able to build package on mips*

Good! Just for curiosity: are all other unit tests passing? Because
that means that de-serialization is actually working (it's used in
other tests, like in ReactiveNavTests.LoadNavLogFile).

I have finally solved the pragma pack problem properly, with these 2
additional commits:
4) 
https://github.com/jlblancoc/mrpt/commit/cd4878874b930e151deb6d89577c215c687b80b3
5) 
https://github.com/jlblancoc/mrpt/commit/b52d65b5a0bcc552e7a7c6d420f30be623d8fd38

It would be great if you could confirm that the current head of git
master is building correctly in mips...
I guess it may take a long time to build in mips, so thank you very
much for your tests!!

Cheers,
JL


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#758725: package mrpt_1:1.2.1-1 FTBFS on i386, amd64, mips*

2014-08-21 Thread Jurica Stanojkovic
Hi Jose Luis,

Thank you for the quick response!

I can confirm that patches that you have proposed have resolved build issue on 
i386.

I am working on resolving build issues for mips and mipsel.

On mips and mipsel I have looked into
https://github.com/jlblancoc/mrpt/blob/master/libs/slam/src/slam/CMonteCarloLocalization2D_unittest.cpp

function void run_test_pf_localization(CPose2D meanPose, CMatrixDouble33 cov) 
on big endian is not doing anything,
but run_test_pf_localization is used in TEST(MonteCarlo2D, RunSampleDataset). 

#if MRPT_IS_BIG_ENDIAN
MRPT_TODO(Debug this issue in big endian platforms)
return; // Skip this test for now
#endif

That is causing the following error:
https://buildd.debian.org/status/fetch.php?pkg=mrptarch=mipsver=1%3A1.2.1-1stamp=1406312477

I will look further into function run_test_pf_localization.

There is also .h file:
https://github.com/jlblancoc/mrpt/blob/master/libs/base/include/mrpt/math/lightweight_geom_data.h

containing #pragma pack(push,1) directive for structures that have float and 
double arguments.

I think that this is causing unaligned access on architectures with strict 
alignment rules:
https://buildd.debian.org/status/fetch.php?pkg=mrptarch=mipselver=1%3A1.2.1-1stamp=1406169915

For mips* architecture double should be 8 byte aligned and float should be 4 
byte aligned.

Can we disable #pragma pack(push,1) in this file for architectures with 
strict alignment rules?

Any comments are welcome.

Thanks!
Jurica






From: Jose Luis Blanco [joseluisblan...@gmail.com]
Sent: 21 August 2014 01:44
To: Jurica Stanojkovic; 758...@bugs.debian.org
Subject: Re: Bug#758725: package mrpt_1:1.2.1-1 FTBFS on i386, amd64, mips*

Hi Jurica,

Please, hopefully these two patches can solve all named semaphore errors:

1) 
https://github.com/jlblancoc/mrpt/commit/9a878c0950edd8ca7de6f4584f920c4e0db05ecc
2) 
https://github.com/jlblancoc/mrpt/commit/289498fc34703c2fcf6b61e72c3311144e5fb570

Cheers,
JL


On Wed, Aug 20, 2014 at 7:40 PM, Jose Luis Blanco
joseluisblan...@gmail.com wrote:
 Thanks a lot for your interest in fixing this, Jurica!
 I'm the upstream maintainer of mrpt, and was becoming desperate trying
 to debug in mips* for my lack of experience in cross-buidling, qemu,
 etc.

 So, on the build errors in mips (and other big-endian platforms): I
 *suspect* that some errors may be caused by missing byte-reordering in
 serialization, via mrpt::utils::CStream and/or the affected classes
 methods named readFromStream() and writeToStream(), so that's where
 you could first look at while debugging in mips*. At least, that's
 what I suspect, but couldn't check it because can't debug in those
 platforms! :-(

 About the other errors in this present bug: Yes, I'll study them.
 In the meanwhile, you can avoid them by, instead of running make
 test, running:

  tests/test_mrpt_base --gtest_filter=-*CSemaphore*

 to run all tests in the lib mrpt-base, excepting those that give you problems.
 For the other test sets, you can also try, for example:

 make run_tests_mrpt_opengl

 and so on. Hit TAB after make run_tests_mrpt_ to see the full list.

 Hope it helps!

 JL

 On Wed, Aug 20, 2014 at 6:12 PM, Jurica Stanojkovic
 jurica.stanojko...@imgtec.com wrote:
 Package: mrpt
 Version: 1:1.2.1-1
 Severity: serious
 Tags: sid
 Justification: FTBFS
 User: debian-mips-dev-disc...@lists.alioth.debian.org

 Hello,

 package mrpt_1:1.2.1-1 FTBFS on i386, amd64, mips* with the following
 message, but was previously built successfully on i386, amd64:

 i386 log:

 [--] 5 tests from Synch
 [ RUN  ] Synch.CSemaphore_named_6t_1init
 Exception in [auxiliary_thread_launcher_LIN/WIN]!!!:


  === MRPT EXCEPTION =
 mrpt::synch::CSemaphore::CSemaphore(unsigned int, unsigned int, const
 string), line 81:
 Creating semaphore (name='mrpt-demo-sem1') raised error: Function not
 implemented
 mrpt::synch::CSemaphore::CSemaphore(unsigned int, unsigned int, const
 string), line 87:
 /«PKGBUILDDIR»/libs/base/src/synch/CCriticalSection_unittest.cpp:53: Failure
 Value of: false
   Actual: false
 Expected: true
 Thread didn't finished in timeout! While testing: CSemaphore named:
 #threads=6, init count=1
 [  FAILED  ] Synch.CSemaphore_named_6t_1init (5000 ms)
 [ RUN  ] Synch.CSemaphore_named_10t_5init
 Exception in [auxiliary_thread_launcher_LIN/WIN]!!!:


  === MRPT EXCEPTION =
 mrpt::synch::CSemaphore::CSemaphore(unsigned int, unsigned int, const
 string), line 81:
 Creating semaphore (name='mrpt-demo-sem1') raised error: Function not
 implemented
 mrpt::synch::CSemaphore::CSemaphore(unsigned int, unsigned int, const
 string), line 87:
 /«PKGBUILDDIR»/libs/base/src/synch/CCriticalSection_unittest.cpp:53: Failure
 Value of: false
   Actual: false
 Expected: true
 Thread didn't finished in timeout! While testing: CSemaphore named:
 #threads=10, init count=5
 [  FAILED  ] Synch.CSemaphore_named_10t_5init (5000 ms

Bug#758725: package mrpt_1:1.2.1-1 FTBFS on i386, amd64, mips*

2014-08-21 Thread Jose Luis Blanco
So, the #ifdef workaround was incorrectly placed, to start with!

This patch will solve it:
https://github.com/jlblancoc/mrpt/commit/c06ed1c384ba2e719c52f65a1a49bddcf7d261e5

But obviously, that's not the ideal solution because that's resigning
trying to fix de-serialization problems!

I didn't know that issue about #pragma pack, it will be a problem.
Let me check it more in depth, but I'm sure the struct pack'ing is
taken for granted in some parts of the code. Actually, there's even
one unit test checking it...

Please, let me know whatever other unit tests don't pass in MIPS while
I think what to do with the pragmas.

BTW: Is there any macro to detect architectures with strict alignment rules?

JL


On Thu, Aug 21, 2014 at 5:10 PM, Jurica Stanojkovic
jurica.stanojko...@imgtec.com wrote:
 Hi Jose Luis,

 Thank you for the quick response!

 I can confirm that patches that you have proposed have resolved build issue 
 on i386.

 I am working on resolving build issues for mips and mipsel.

 On mips and mipsel I have looked into
 https://github.com/jlblancoc/mrpt/blob/master/libs/slam/src/slam/CMonteCarloLocalization2D_unittest.cpp

 function void run_test_pf_localization(CPose2D meanPose, CMatrixDouble33 
 cov) on big endian is not doing anything,
 but run_test_pf_localization is used in TEST(MonteCarlo2D, RunSampleDataset).

 #if MRPT_IS_BIG_ENDIAN
 MRPT_TODO(Debug this issue in big endian platforms)
 return; // Skip this test for now
 #endif

 That is causing the following error:
 https://buildd.debian.org/status/fetch.php?pkg=mrptarch=mipsver=1%3A1.2.1-1stamp=1406312477

 I will look further into function run_test_pf_localization.

 There is also .h file:
 https://github.com/jlblancoc/mrpt/blob/master/libs/base/include/mrpt/math/lightweight_geom_data.h

 containing #pragma pack(push,1) directive for structures that have float 
 and double arguments.

 I think that this is causing unaligned access on architectures with strict 
 alignment rules:
 https://buildd.debian.org/status/fetch.php?pkg=mrptarch=mipselver=1%3A1.2.1-1stamp=1406169915

 For mips* architecture double should be 8 byte aligned and float should be 4 
 byte aligned.

 Can we disable #pragma pack(push,1) in this file for architectures with 
 strict alignment rules?

 Any comments are welcome.

 Thanks!
 Jurica



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#758725: package mrpt_1:1.2.1-1 FTBFS on i386, amd64, mips*

2014-08-20 Thread Jurica Stanojkovic
Package: mrpt
Version: 1:1.2.1-1
Severity: serious
Tags: sid
Justification: FTBFS
User: debian-mips-dev-disc...@lists.alioth.debian.org

Hello,

package mrpt_1:1.2.1-1 FTBFS on i386, amd64, mips* with the following message, 
but was previously built successfully on i386, amd64:

i386 log:

[--] 5 tests from Synch
[ RUN  ] Synch.CSemaphore_named_6t_1init
Exception in [auxiliary_thread_launcher_LIN/WIN]!!!:


 === MRPT EXCEPTION =
mrpt::synch::CSemaphore::CSemaphore(unsigned int, unsigned int, const string), 
line 81:
Creating semaphore (name='mrpt-demo-sem1') raised error: Function not 
implemented
mrpt::synch::CSemaphore::CSemaphore(unsigned int, unsigned int, const string), 
line 87:
/«PKGBUILDDIR»/libs/base/src/synch/CCriticalSection_unittest.cpp:53: Failure
Value of: false
  Actual: false
Expected: true
Thread didn't finished in timeout! While testing: CSemaphore named: #threads=6, 
init count=1
[  FAILED  ] Synch.CSemaphore_named_6t_1init (5000 ms)
[ RUN  ] Synch.CSemaphore_named_10t_5init
Exception in [auxiliary_thread_launcher_LIN/WIN]!!!:


 === MRPT EXCEPTION =
mrpt::synch::CSemaphore::CSemaphore(unsigned int, unsigned int, const string), 
line 81:
Creating semaphore (name='mrpt-demo-sem1') raised error: Function not 
implemented
mrpt::synch::CSemaphore::CSemaphore(unsigned int, unsigned int, const string), 
line 87:
/«PKGBUILDDIR»/libs/base/src/synch/CCriticalSection_unittest.cpp:53: Failure
Value of: false
  Actual: false
Expected: true
Thread didn't finished in timeout! While testing: CSemaphore named: 
#threads=10, init count=5
[  FAILED  ] Synch.CSemaphore_named_10t_5init (5000 ms)
[ RUN  ] Synch.CriticalSections_Simple
[   OK ] Synch.CriticalSections_Simple (1 ms)
[ RUN  ] Synch.CriticalSections_NoDoubleEnter
[   OK ] Synch.CriticalSections_NoDoubleEnter (1 ms)
[ RUN  ] Synch.CriticalSections_Multi
[   OK ] Synch.CriticalSections_Multi (1557 ms)
[--] 5 tests from Synch (11560 ms total)

...

[--] Global test environment tear-down
[==] 138 tests from 23 test cases ran. (11643 ms total)
[  PASSED  ] 136 tests.
[  FAILED  ] 2 tests, listed below:
[  FAILED  ] Synch.CSemaphore_named_6t_1init
[  FAILED  ] Synch.CSemaphore_named_10t_5init

 2 FAILED TESTS
make[4]: *** [tests/CMakeFiles/run_tests_mrpt_base] Error 1
tests/CMakeFiles/run_tests_mrpt_base.dir/build.make:52: recipe for target 
'tests/CMakeFiles/run_tests_mrpt_base' failed
make[4]: Leaving directory '/«PKGBUILDDIR»/obj-i586-linux-gnu'
make[3]: *** [tests/CMakeFiles/run_tests_mrpt_base.dir/all] Error 2
CMakeFiles/Makefile2:5096: recipe for target 
'tests/CMakeFiles/run_tests_mrpt_base.dir/all' failed
make[3]: Leaving directory '/«PKGBUILDDIR»/obj-i586-linux-gnu'
make[2]: *** [tests/CMakeFiles/test.dir/rule] Error 2
CMakeFiles/Makefile2:5455: recipe for target 'tests/CMakeFiles/test.dir/rule' 
failed
make[2]: Leaving directory '/«PKGBUILDDIR»/obj-i586-linux-gnu'
make[1]: *** [test] Error 2
Makefile:1665: recipe for target 'test' failed
make[1]: Leaving directory '/«PKGBUILDDIR»/obj-i586-linux-gnu'
dh_auto_test: make -j1 test ARGS+=-j1 returned exit code 2
make: *** [build-arch] Error 2
debian/rules:44: recipe for target 'build-arch' failed
dpkg-buildpackage: error: debian/rules build-arch gave error exit status 2


Could someone please help with this regression?

I am working on resolving other build issues for mrpt package build on mips and 
mipsel, but I can not resolve them until this regression gets resolved.

Thanks!
Jurica



Bug#758725: package mrpt_1:1.2.1-1 FTBFS on i386, amd64, mips*

2014-08-20 Thread Jose Luis Blanco
Thanks a lot for your interest in fixing this, Jurica!
I'm the upstream maintainer of mrpt, and was becoming desperate trying
to debug in mips* for my lack of experience in cross-buidling, qemu,
etc.

So, on the build errors in mips (and other big-endian platforms): I
*suspect* that some errors may be caused by missing byte-reordering in
serialization, via mrpt::utils::CStream and/or the affected classes
methods named readFromStream() and writeToStream(), so that's where
you could first look at while debugging in mips*. At least, that's
what I suspect, but couldn't check it because can't debug in those
platforms! :-(

About the other errors in this present bug: Yes, I'll study them.
In the meanwhile, you can avoid them by, instead of running make
test, running:

 tests/test_mrpt_base --gtest_filter=-*CSemaphore*

to run all tests in the lib mrpt-base, excepting those that give you problems.
For the other test sets, you can also try, for example:

make run_tests_mrpt_opengl

and so on. Hit TAB after make run_tests_mrpt_ to see the full list.

Hope it helps!

JL

On Wed, Aug 20, 2014 at 6:12 PM, Jurica Stanojkovic
jurica.stanojko...@imgtec.com wrote:
 Package: mrpt
 Version: 1:1.2.1-1
 Severity: serious
 Tags: sid
 Justification: FTBFS
 User: debian-mips-dev-disc...@lists.alioth.debian.org

 Hello,

 package mrpt_1:1.2.1-1 FTBFS on i386, amd64, mips* with the following
 message, but was previously built successfully on i386, amd64:

 i386 log:

 [--] 5 tests from Synch
 [ RUN  ] Synch.CSemaphore_named_6t_1init
 Exception in [auxiliary_thread_launcher_LIN/WIN]!!!:


  === MRPT EXCEPTION =
 mrpt::synch::CSemaphore::CSemaphore(unsigned int, unsigned int, const
 string), line 81:
 Creating semaphore (name='mrpt-demo-sem1') raised error: Function not
 implemented
 mrpt::synch::CSemaphore::CSemaphore(unsigned int, unsigned int, const
 string), line 87:
 /«PKGBUILDDIR»/libs/base/src/synch/CCriticalSection_unittest.cpp:53: Failure
 Value of: false
   Actual: false
 Expected: true
 Thread didn't finished in timeout! While testing: CSemaphore named:
 #threads=6, init count=1
 [  FAILED  ] Synch.CSemaphore_named_6t_1init (5000 ms)
 [ RUN  ] Synch.CSemaphore_named_10t_5init
 Exception in [auxiliary_thread_launcher_LIN/WIN]!!!:


  === MRPT EXCEPTION =
 mrpt::synch::CSemaphore::CSemaphore(unsigned int, unsigned int, const
 string), line 81:
 Creating semaphore (name='mrpt-demo-sem1') raised error: Function not
 implemented
 mrpt::synch::CSemaphore::CSemaphore(unsigned int, unsigned int, const
 string), line 87:
 /«PKGBUILDDIR»/libs/base/src/synch/CCriticalSection_unittest.cpp:53: Failure
 Value of: false
   Actual: false
 Expected: true
 Thread didn't finished in timeout! While testing: CSemaphore named:
 #threads=10, init count=5
 [  FAILED  ] Synch.CSemaphore_named_10t_5init (5000 ms)
 [ RUN  ] Synch.CriticalSections_Simple
 [   OK ] Synch.CriticalSections_Simple (1 ms)
 [ RUN  ] Synch.CriticalSections_NoDoubleEnter
 [   OK ] Synch.CriticalSections_NoDoubleEnter (1 ms)
 [ RUN  ] Synch.CriticalSections_Multi
 [   OK ] Synch.CriticalSections_Multi (1557 ms)
 [--] 5 tests from Synch (11560 ms total)

 ...

 [--] Global test environment tear-down
 [==] 138 tests from 23 test cases ran. (11643 ms total)
 [  PASSED  ] 136 tests.
 [  FAILED  ] 2 tests, listed below:
 [  FAILED  ] Synch.CSemaphore_named_6t_1init
 [  FAILED  ] Synch.CSemaphore_named_10t_5init

  2 FAILED TESTS
 make[4]: *** [tests/CMakeFiles/run_tests_mrpt_base] Error 1
 tests/CMakeFiles/run_tests_mrpt_base.dir/build.make:52: recipe for target
 'tests/CMakeFiles/run_tests_mrpt_base' failed
 make[4]: Leaving directory '/«PKGBUILDDIR»/obj-i586-linux-gnu'
 make[3]: *** [tests/CMakeFiles/run_tests_mrpt_base.dir/all] Error 2
 CMakeFiles/Makefile2:5096: recipe for target
 'tests/CMakeFiles/run_tests_mrpt_base.dir/all' failed
 make[3]: Leaving directory '/«PKGBUILDDIR»/obj-i586-linux-gnu'
 make[2]: *** [tests/CMakeFiles/test.dir/rule] Error 2
 CMakeFiles/Makefile2:5455: recipe for target
 'tests/CMakeFiles/test.dir/rule' failed
 make[2]: Leaving directory '/«PKGBUILDDIR»/obj-i586-linux-gnu'
 make[1]: *** [test] Error 2
 Makefile:1665: recipe for target 'test' failed
 make[1]: Leaving directory '/«PKGBUILDDIR»/obj-i586-linux-gnu'
 dh_auto_test: make -j1 test ARGS+=-j1 returned exit code 2
 make: *** [build-arch] Error 2
 debian/rules:44: recipe for target 'build-arch' failed
 dpkg-buildpackage: error: debian/rules build-arch gave error exit status 2


 Could someone please help with this regression?

 I am working on resolving other build issues for mrpt package build on mips
 and mipsel, but I can not resolve them until this regression gets resolved.

 Thanks!
 Jurica



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#758725: package mrpt_1:1.2.1-1 FTBFS on i386, amd64, mips*

2014-08-20 Thread Jose Luis Blanco
Hi Jurica,

Please, hopefully these two patches can solve all named semaphore errors:

1) 
https://github.com/jlblancoc/mrpt/commit/9a878c0950edd8ca7de6f4584f920c4e0db05ecc
2) 
https://github.com/jlblancoc/mrpt/commit/289498fc34703c2fcf6b61e72c3311144e5fb570

Cheers,
JL


On Wed, Aug 20, 2014 at 7:40 PM, Jose Luis Blanco
joseluisblan...@gmail.com wrote:
 Thanks a lot for your interest in fixing this, Jurica!
 I'm the upstream maintainer of mrpt, and was becoming desperate trying
 to debug in mips* for my lack of experience in cross-buidling, qemu,
 etc.

 So, on the build errors in mips (and other big-endian platforms): I
 *suspect* that some errors may be caused by missing byte-reordering in
 serialization, via mrpt::utils::CStream and/or the affected classes
 methods named readFromStream() and writeToStream(), so that's where
 you could first look at while debugging in mips*. At least, that's
 what I suspect, but couldn't check it because can't debug in those
 platforms! :-(

 About the other errors in this present bug: Yes, I'll study them.
 In the meanwhile, you can avoid them by, instead of running make
 test, running:

  tests/test_mrpt_base --gtest_filter=-*CSemaphore*

 to run all tests in the lib mrpt-base, excepting those that give you problems.
 For the other test sets, you can also try, for example:

 make run_tests_mrpt_opengl

 and so on. Hit TAB after make run_tests_mrpt_ to see the full list.

 Hope it helps!

 JL

 On Wed, Aug 20, 2014 at 6:12 PM, Jurica Stanojkovic
 jurica.stanojko...@imgtec.com wrote:
 Package: mrpt
 Version: 1:1.2.1-1
 Severity: serious
 Tags: sid
 Justification: FTBFS
 User: debian-mips-dev-disc...@lists.alioth.debian.org

 Hello,

 package mrpt_1:1.2.1-1 FTBFS on i386, amd64, mips* with the following
 message, but was previously built successfully on i386, amd64:

 i386 log:

 [--] 5 tests from Synch
 [ RUN  ] Synch.CSemaphore_named_6t_1init
 Exception in [auxiliary_thread_launcher_LIN/WIN]!!!:


  === MRPT EXCEPTION =
 mrpt::synch::CSemaphore::CSemaphore(unsigned int, unsigned int, const
 string), line 81:
 Creating semaphore (name='mrpt-demo-sem1') raised error: Function not
 implemented
 mrpt::synch::CSemaphore::CSemaphore(unsigned int, unsigned int, const
 string), line 87:
 /«PKGBUILDDIR»/libs/base/src/synch/CCriticalSection_unittest.cpp:53: Failure
 Value of: false
   Actual: false
 Expected: true
 Thread didn't finished in timeout! While testing: CSemaphore named:
 #threads=6, init count=1
 [  FAILED  ] Synch.CSemaphore_named_6t_1init (5000 ms)
 [ RUN  ] Synch.CSemaphore_named_10t_5init
 Exception in [auxiliary_thread_launcher_LIN/WIN]!!!:


  === MRPT EXCEPTION =
 mrpt::synch::CSemaphore::CSemaphore(unsigned int, unsigned int, const
 string), line 81:
 Creating semaphore (name='mrpt-demo-sem1') raised error: Function not
 implemented
 mrpt::synch::CSemaphore::CSemaphore(unsigned int, unsigned int, const
 string), line 87:
 /«PKGBUILDDIR»/libs/base/src/synch/CCriticalSection_unittest.cpp:53: Failure
 Value of: false
   Actual: false
 Expected: true
 Thread didn't finished in timeout! While testing: CSemaphore named:
 #threads=10, init count=5
 [  FAILED  ] Synch.CSemaphore_named_10t_5init (5000 ms)
 [ RUN  ] Synch.CriticalSections_Simple
 [   OK ] Synch.CriticalSections_Simple (1 ms)
 [ RUN  ] Synch.CriticalSections_NoDoubleEnter
 [   OK ] Synch.CriticalSections_NoDoubleEnter (1 ms)
 [ RUN  ] Synch.CriticalSections_Multi
 [   OK ] Synch.CriticalSections_Multi (1557 ms)
 [--] 5 tests from Synch (11560 ms total)

 ...

 [--] Global test environment tear-down
 [==] 138 tests from 23 test cases ran. (11643 ms total)
 [  PASSED  ] 136 tests.
 [  FAILED  ] 2 tests, listed below:
 [  FAILED  ] Synch.CSemaphore_named_6t_1init
 [  FAILED  ] Synch.CSemaphore_named_10t_5init

  2 FAILED TESTS
 make[4]: *** [tests/CMakeFiles/run_tests_mrpt_base] Error 1
 tests/CMakeFiles/run_tests_mrpt_base.dir/build.make:52: recipe for target
 'tests/CMakeFiles/run_tests_mrpt_base' failed
 make[4]: Leaving directory '/«PKGBUILDDIR»/obj-i586-linux-gnu'
 make[3]: *** [tests/CMakeFiles/run_tests_mrpt_base.dir/all] Error 2
 CMakeFiles/Makefile2:5096: recipe for target
 'tests/CMakeFiles/run_tests_mrpt_base.dir/all' failed
 make[3]: Leaving directory '/«PKGBUILDDIR»/obj-i586-linux-gnu'
 make[2]: *** [tests/CMakeFiles/test.dir/rule] Error 2
 CMakeFiles/Makefile2:5455: recipe for target
 'tests/CMakeFiles/test.dir/rule' failed
 make[2]: Leaving directory '/«PKGBUILDDIR»/obj-i586-linux-gnu'
 make[1]: *** [test] Error 2
 Makefile:1665: recipe for target 'test' failed
 make[1]: Leaving directory '/«PKGBUILDDIR»/obj-i586-linux-gnu'
 dh_auto_test: make -j1 test ARGS+=-j1 returned exit code 2
 make: *** [build-arch] Error 2
 debian/rules:44: recipe for target 'build-arch' failed
 dpkg-buildpackage: error: debian/rules build-arch gave error exit status 2


 Could someone please help with