Closed HannesSommer closed 7 years ago
@HannesSommer Yes, we had this issue lately on Ubuntu 16.04, we had to add something like
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mssse3")
@ntonci is that right?
And thanks for setting up jenkins :)
Hm, in that case this should be a patch for aslam_cv2
somehow, no? @schneith ?
What about using the __SSE3__
macro (http://stackoverflow.com/questions/28939652/how-to-detect-sse-avx-avx2-availability-at-compile-time) to check whether the compiler has SSE enabled and if not yield a meaningful error (#error
) to the user to enable it with the compiler flags.
This way the packages that truly need it can be found easily.
And for them we enable it e.g. with set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mssse3")
.
To make this more transparent we could move this line into an exported CMAKE macro (e.g. enableHummingDistance()), that the user has to call (and this error message refers to). That would nicely document for what this was turned on AND as soon as the package does no longer depend on aslam_cv_common cmake will raise a nice error.
Test this please
Nice! The only problem seems to be that currently some python test require a display : TclError: no display name and no $DISPLAY environment variable
(see http://jenkins.asl.ethz.ch/job/hand_eye_calibration/16/label=ubuntu-xenial/parsed_console/)
I'd suggest disabling all the plots in the tests or condition it on the DISPLAY itself. A quick fix could of course be the Xvfb
iff the plots are not blocking..
The python test "test_time_alignment" seems to run indefinitely. I've just stopped one after it running for more than a day :). I don't know for why. strace
wasn't conclusive. It just does over and over:
futex(0x7f8b76d298e0, FUTEX_WAKE_PRIVATE, 1) = 1 futex(0x3810dcc, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 2231, {1498379625, 125690000}, ffffffff) = -1 ETIMEDOUT (Connection timed out) write(9, "\0", 1) = 1 futex(0x7f8b76d298e0, FUTEX_WAKE_PRIVATE, 1) = 0 recvmsg(6, 0x7ffdd8b69f90, 0) = -1 EAGAIN (Resource temporarily unavailable) recvmsg(6, 0x7ffdd8b69f90, 0) = -1 EAGAIN (Resource temporarily unavailable) write(9, "\0", 1)
This probably means it is waiting for user interaction? (e.g. show(block=True)
??)
If it isn't that. Next time we should try to get a python stack trace.
@HannesSommer thanks, yeah I might have forgotten to disable some blocks :-S, will fix it now
Green! Finally! Awesome :). Thanks to your courageous merge override ;)...
The list of dependencies for the target extractor is massive, though : https://github.com/ethz-asl/hand_eye_calibration/pull/41/files#diff-a9163fc9b457442112d4939786cccebe.
Maybe we can remove some.
Before this can go public we must check all deps that are currently entered with git@..
. (All the https
dpes must already be public (Jenkins can not authenticate via https)).
Hm,
aslam_cv2
seems to cause issues here. E.g.aslam::common::Hamming::SSSE3PopcntofXORed
does not compile because of missing SSE support. Does somebody know about his? (aslam_cv2 master seems to fail on Jenkins for the same reason: http://129.132.38.183:8080/job/aslam_cv2/label=ubuntu-xenial/901/console).