<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Michael,<div class=""><br class=""></div><div class="">Thank you for reporting this issue.  I’ll be upfront and warn you that I’m not a Windows developer and MAP-Tk is currently better tested on Linux and Mac.  That said, we are working toward getting things better running on Windows more reliably.</div><div class=""><br class=""></div><div class="">In this case, the issues are related to Eigen byte-alignment issues as explained on the Eigen website linked from your error message:</div><div class=""><br class=""></div><div class=""><a href="http://eigen.tuxfamily.org/dox-devel/group__TopicUnalignedArrayAssert.html" class="">http://eigen.tuxfamily.org/dox-devel/group__TopicUnalignedArrayAssert.html</a></div><div class=""><br class=""></div><div class="">I have read this page before, and expected I would need to make changes at some point to work around these issues, but until now I had not come across a compiler that exhibited these symptoms.  We should probably try to get a VisualStudio 2012 build up on our dashboard so I can work through those issues properly.  I expect that will take some time.  A shorter term solution is to try to disable alignment in your build.  Can you try the solutions described at the bottom of the page at the above URL?  In the "I don't care about vectorization, how do I get rid of that stuff?” section it suggests defining some macros to disable alignment.  Let me know if that works.</div><div class=""><br class=""></div><div class="">In the meantime, I can at least work around that pass-by-value build issue.  That function is pass-by-value because we intentionally want to make a local copy of the camera object to modify.  However, I can explicitly make that copy inside the function instead.  I’ve done this on the release branch of MAP-Tk and made a pull request (<a href="https://github.com/Kitware/maptk/pull/88" class="">https://github.com/Kitware/maptk/pull/88</a>).  Can you try to build this branch and verify that it at least builds for you?</div><div class=""><br class=""></div><div class="">git fetch origin pull/88/head:dev/camera-pass-by-reference</div><div class="">git checkout dev/camera-pass-by-reference</div><div class=""><br class=""></div><div class="">If that works, I’ll merge this change into the release and master branches.  Also let me know if the solution on the Eigen page helps.</div><div class=""><br class=""></div><div class="">—Matt</div><div class=""><br class=""></div><div class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Oct 5, 2015, at 1:24 PM, Michael Rosen <<a href="mailto:michael.rosen@gmail.com" class="">michael.rosen@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class=""><div class="">Hello Kwiver-folk,</div><div class=""><br class=""></div>I'm building MapTK on Windows 7/64 using VStudio 12 and having two immediate difficulties:  a compilation problem and a runtime assert.<div class=""><br class=""></div><div class="">MapTK is version 0.6.0, Eigen is 3.2.6<br class=""><div class=""><br class=""></div><div class=""><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif" class="">I've worked through getting Boost and Eigen built.  When I compile maptk, the first problem is this:</span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif" class="">   [ 98%] Building CXX object tools/CMakeFiles/maptk_pos2krtd.dir/pos2krtd.cxx.obj</span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif" class="">  pos2krtd.cxx</span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif" class="">  C:\dev\maptk\tools\pos2krtd.cxx(220) : error C2719: 'base_camera': formal parameter with __declspec(align('16')) won't</span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif" class="">  be aligned</span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif" class="">  C:\dev\maptk\tools\pos2krtd.cxx(238) : error C2719: 'base_camera': formal parameter with __declspec(align('16')) won't</span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif" class="">  …</span></p><div class=""><span style="font-size:11pt;font-family:Calibri,sans-serif" class=""> </span><br class="webkit-block-placeholder"></div><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif" class="">I fixed these compilation errors by changing the signature of the offending function from pass-by-value to pass-by-reference:</span></p><div class=""><span style="font-size:11pt;font-family:Calibri,sans-serif" class=""> </span><br class="webkit-block-placeholder"></div><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif" class="">    /// Convert a POS file to a KRTD file</span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif" class="">    bool convert_pos2krtd(const maptk::path_t& pos_filename,</span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif" class="">                      const maptk::path_t& krtd_filename,</span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif" class="">                      maptk::local_geo_cs& cs,</span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif" class="">                      maptk::camera_d& base_camera, // msr.  was pass-by-value</span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif" class="">                      maptk::rotation_d const& ins_rot_offset = maptk::rotation_d())</span></p><div class=""><span style="font-size:11pt;font-family:Calibri,sans-serif" class=""> </span><br class="webkit-block-placeholder"></div><div class=""><span style="font-size:11pt;font-family:Calibri,sans-serif" class=""> </span><br class="webkit-block-placeholder"></div><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif" class="">That allows everything to compile and link.  The next problem was that I got an Eigen Assert when I run any of the executables:</span></p><div class=""><span style="font-size:11pt;font-family:Calibri,sans-serif" class=""> </span><br class="webkit-block-placeholder"></div><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif" class="">C:\Program Files (x86)\MAPTK\bin>maptk_analyze_tracks.exe</span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif" class="">...</span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif" class="">Assertion failed: (reinterpret_cast<size_t>(array) & 0xf) == 0 && "this assertion is explained here: " "<a href="http://eigen.tuxfamily.org/d" class=""><span style="color:purple" class="">http://eigen.tuxfamily.org/d</span></a></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif" class="">ox-devel/group__TopicUnalignedArrayAssert.html" " **** READ THIS WEB PAGE !!! ****", file c:\program files (x86)\eigen\include\eigen</span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif" class="">3\eigen\src/Core/DenseStorage.h, line 86</span></p><div class=""><span style="font-size:11pt;font-family:Calibri,sans-serif" class=""> </span><br class="webkit-block-placeholder"></div><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif" class="">The web page says that classes which contain certain Eigen data structures as members need to use the</span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif" class="">     EIGEN_MAKE_ALIGNED_OPERATOR_NEW macro to override the "new" operator so that those members will be 16-byte aligned. I've done that but am still seeing the assert.</span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif" class=""><br class=""></span></p><p class="MsoNormal"><font face="Calibri, sans-serif" class=""><span style="font-size:14.6667px" class="">Can anyone offer insight into any of this?</span></font></p><p class="MsoNormal"><font face="Calibri, sans-serif" class=""><span style="font-size:14.6667px" class=""><br class=""></span></font></p><p class="MsoNormal"><font face="Calibri, sans-serif" class=""><span style="font-size:14.6667px" class="">msr</span></font></p><p class="MsoNormal"><font face="Calibri, sans-serif" class=""><span style="font-size:14.6667px" class=""><br class=""></span></font></p></div></div></div>
_______________________________________________<br class="">Kwiver-users mailing list<br class=""><a href="mailto:Kwiver-users@public.kitware.com" class="">Kwiver-users@public.kitware.com</a><br class="">http://public.kitware.com/mailman/listinfo/kwiver-users<br class=""></div></blockquote></div><br class=""></div></body></html>