Closed prpsymbol closed 8 years ago
Hi! I think that's already fixed in the master
branch in GitHub... please, give it a try and re-open the issue if it's not.
Best,
Hi Jose,
I just ran the build from a fresh check out from GIT, and I get the same error on the same file. How do I reopen the issue? Or should I just create an identical new one?
-Paul
From: Jose Luis Blanco-Claraco [mailto:notifications@github.com] Sent: Tuesday, April 12, 2016 12:39 PM To: MRPT/mrpt mrpt@noreply.github.com Cc: Poloniewicz, Paul Paul.Poloniewicz@Honeywell.com Subject: Re: [MRPT/mrpt] The Eigen/Array header does no longer exist in Eigen3 (#225)
Hi! I think that's already fixed in the master branch in GitHub... please, give it a try and re-open the issue if it's not.
Best,
— You are receiving this because you authored the thread. Reply to this email directly or view it on GitHubhttps://github.com/MRPT/mrpt/issues/225#issuecomment-208997706
Strange... I'm reopening it for you. Please, could you attach the build log so I can follow the track the #include's leading to the error?
Look at the sequence of #includes: it seems Eigen/Array is mistakenly trying to be included from GCC C++11 STL tuple!! Perhaps is a problem related to Windows & case insensitivity...
Quick solution: remove the file Eigen/Array !!
If you want to investigate it a bit more: I think that only MRPT\otherlibs\eigen3
should be included with -I
to GCC, so can't understand why #include <array>
actually finds #include <Eigen/Array>
... if possible, you could run mingw make with the environment variable VERBOSE=1 (set VERBOSE=1
in DOS) to see the full list of -I
arguments...
In file included from C:/Qt/Tools/mingw492_32/i686-w64-mingw32/include/c++/tuple:39:0, from C:/Qt/Tools/mingw492_32/i686-w64-mingw32/include/c++/functional:55, from C:/Users/e815228/Documents/MRPT-SVN/otherlibs/eigen3/Eigen/Core:153, from C:/Users/e815228/Documents/MRPT-SVN/otherlibs/eigen3/Eigen/Dense:1, from C:/Users/e815228/Documents/MRPT-SVN/libs/base/include/mrpt/utils/types_math.h:31, from C:/Users/e815228/Documents/MRPT-SVN/libs/base/include/mrpt/math/CMatrixTemplateNumeric.h:13, from C:/Users/e815228/Documents/MRPT-SVN/libs/base/include/mrpt/random/RandomGenerators.h:13, from C:/Users/e815228/Documents/MRPT-SVN/libs/base/include/mrpt/random.h:13, from C:\Users\e815228\Documents\MRPT-SVN\libs\base\src\bayes\CParticleFilterCapable.cpp:13: C:/Users/e815228/Documents/MRPT-SVN/otherlibs/eigen3/Eigen/array:8:4: error: #error The Eigen/Array header does no longer exist in Eigen3. All that functionality has moved to Eigen/Core.
Anyway, I'll close since it seems not to be general problem of MRPT...
Here is the verbose output. If the problem is case sensitivity, what files/directories are being confused?
Last log was with 'verbose' in the mingw23-make command, this one is with the DOS variable VERBOSE set to 1.
The last buildlog was the key... I found a misplaced -isystem flag which, apparently, went unnoticed until now since in Linux, the case sensitivity of the filesystem shadowed the error. Thanks a lot for the feedback!
Try this patch and hopefully it's solved: https://github.com/MRPT/mrpt/commit/89a778edcbf66b3546e691b895f3ea4f86d5addd
Thanks! That cured this problem… only to expose the next. Build log attached.
(Reopening and changing title)
Hi Jose, thanks for the changes. I checked out a fresh version from the development trunk, and the build completed successfully. The bad news is that of the three applications I am interested in (simul-beacons, RawLogViewer, and rbpf-slam) the latter two crash with no error messages (i.e. "the application has stopped working" Windows pop up). Are you close to posting the 1.4 binaries for Windows?
Hi,
If you tested it after the commit 23cb56f , then it looks like a problem with wxWidgets DLLs... make sure of building wxWidgets yourself so the mingw versions are compatible, use "dependcy walker" to make sure the .exe's find the correct DLLs, and if it still fails use Windows System Error Logs to identify the exact error cause...
Hi. I did build the wxWidgets myself with the same toolchain. I ran the dependency walker tool, but I have no idea what I am looking at. It seems to be referencing the correct dlls (along with a thousand Microsoft dlls). The zip file contains the .dwi file. Meanwhile, I'll go look in the Windows error logs.
Here are the Windows Event Logs for the two crashes. rbpf-slam crashes when I run it, but rawlogviewer only crashes when I go to "raw map" and click "map from odometry". rawlogviewerEventLog.txt rbpfslamEventLog.txt
I don't know what I grabbed for the rawlogviewer error, but here is the error similar to rbpf-slam: rawlogviewerEventLog2.txt
Thanks! From all your info, it seems that there are actually more MinGW-specific errors...
I can't debug it myself soon, but if you are interested in trying, the next step would be to build, for example, rbpf-slam
in Debug mode (if you use QtCreator, I think it is set under "Project" -> Build -> ...). You don't need to build the entire MRPT, just rbpf-slam. Also, add the -j4
to the mingw-make arguments to speed it up.
When built, hit "Debug" (F5) and let me know where does it find the crash problem. The most interesting part would be the call stack at the instant of the crash (a screenshot will be great!)
Sorry for the inconveniences this is causing you! We haven't tested MinGW in a long time, so it seems some errors have been accumulating for this compiler...
I haven't been using Qt for this so far, as I've been building using cmake/mingw32-make from the command line, but I can set it up to run under Qt (but I'll probably have to rebuild all of mrpt).
I've had an interesting 2 days, as my main development PC crashed yesterday, which forced me to bring up the mrpt dev environment on another machine. Of course, when I got through with all of the installs and builds, the apps of interest to me (simul-beacons, rawlogviewer, and rbpf-slam) now all work just fine. I am not 100% sure what the difference is, but I suspect I did not use the USE_OPENGL=1 flag in the original build of wxWidgets. The build I did today used the following command:
mingw32-make -f makefile.gcc CXXFLAGS="-std=gnu++11" SHARED=1 USE_OPENGL=1 DEBUG_INFO=0 VENDOR=mrpt UNICODE=1 BUILD=release
Once my IT Support guys revive my main PC, I see if I can verify that was the difference.
Good! :+1:
Hi all, I am trying to compile mrpt 1.3.2 under Windows and MinGW32. The CMake configuration has the EIGEN_USE_EMBEDDED_VERSION checked, and my make command is [mingw32-make -f makefile CXXFLAGS="-std=gnu++11" SHARED=1 UNICODE=1 BUILD=release]
The build explodes compiling bayes/CParticleFilter.cpp, and yields the error message "The Eigen/Array header does no longer exist in Eigen3. All that functionality has moved to Eigen/Core."
What am I doing wrong (besides building under Windows ;) )?