Open kalwalt opened 3 years ago
Maybe we could create a standard setup(hardware-independent?) with Docker? One of the issues might be including different versions of the libraries. We will always get a new file error, at least I always got when trying to build ORB, then you get to a system file that should be there, but it isn't. If we can find a way to do that maybe we can compile it nicely. @thorsten @kalwalt did you compile it without emscripten?
Yes a Docker set up would be nice, haven't yet tested the standard compilation.
On one Mac I can compile it (the normal compile with make) on the other I get ioStream file not found.
Hm, now I can actually build it with EM successfully too. But only on that isolated case.
I can compile the static lib with gcc without problems, i will try to build also the apps.
I'm almost compiling it with emscripten, I solved the cvd issues @kalwalt was having, also needed to update the libcvd, use this repo, only copy the cvd and cvd_src folders, maintain the make instructions.
To use the new libcvd:
Now I'm getting:
[100%] Building CXX object ptam/CMakeFiles/PTAM.dir/construct/small_blurry_image.cc.o
clang-13: warning: argument unused during compilation: '-stdlib=libstdc++' [-Wunused-command-line-argument]
/home/daniel/Desktop/emscriptenProjects/emsdk/ptam-projects/ptam_plus/thorsten/ptam_plus/ptam/construct/small_blurry_image.cc:122:10: error: no member named 'transform' in namespace 'CVD'
CVD::transform(mimTemplate, imWarped, se2XForm.get_rotation().get_matrix(),
~~~~~^
1 error generated.
Also I'm using ptam_plus as base.
In case you want to use my changes I created this repo
@Carnaux i found this transform https://github.com/edrosten/libcvd/blob/b30062150f6a5f105df7d1d8a3899ef96170820e/cvd/distance_transform.h#L196-L200 but not seems to match the args.
no it is defined here https://github.com/edrosten/libcvd/blob/b30062150f6a5f105df7d1d8a3899ef96170820e/cvd/vision.h#L412 but why it fails? And: which libcvd branch did you used? the say master branch requires C++14.
Testing your ptam_plus.js, it is required to add a define
#if defined(CVD_HAVE_TOON)
https://github.com/edrosten/libcvd/blob/b30062150f6a5f105df7d1d8a3899ef96170820e/cvd/vision.h#L399
but not sure how is best to add.
running emcmake cmake -D=CVD_HAVE_TOON .
doesn't change anything.
I was using the master, didn't notice it was c++14. I tried to add it too, but no luck
I was using the master, didn't notice it was c++14. I tried to add it too, but no luck
I think we are very close to a full build!
I was using the master, didn't notice it was c++14. I tried to add it too, but no luck
I think we are very close to a full build!
Yeah, it's already building the ptam files, if I find time I will work on it today.
@ThorstenBux did manage to get the build working on both Mac setups?
@ThorstenBux did manage to get the build working on both Mac setups?
No unfortunately only on one.
Hi Daniel @Carnaux have you made some progresses on this side?
Not yet :/
Compile PTAM with Emscripten
@Carnaux @ThorstenBux i created this issue to share our results. I'm testing under Ubuntu 20.04. Emscripten 1.38.15 (need to update to a newest version) Followed the instructions by @ThorstenBux in the Readme:
First issue i need to copy the file
arith.h
included inexternal/clapack-3.2.1/build-x86-vc12/F2CLIBS/libf2c"
insideexternal/clapack-3.2.1/F2CLIBS/libf2c
then the cmake config is build and i can run
emmake make
but it fails with this error:i solved this issue adding inside /external/clapack-3.2.1/BLAS/SRC/xerbla.c a
stdio.h
include:After that the build process continue and it fails at external/libcvd/cvd_src/get_time_of_day_ns.cc :
i excluded for now that line of code;
the build process continue but fails at external/libcvd/CMakeFiles/libcvd.dir/cvd_src/i686/convolve_gaussian.cc :
This last issue i haven't solved...