jvgomez / fast_methods

N-Dimensional Fast Methods: Fast Marching, Fast Sweeping, Group Marching, Fast Iterative, etc.
http://jvgomez.github.io/fast_methods/
GNU General Public License v3.0
170 stars 58 forks source link

Compilation readjustment #12

Closed ferxxp closed 1 year ago

ferxxp commented 1 year ago

Solved a compiling error due to templates and added a Dockerfile for future-proofing compilations.

ferxxp commented 1 year ago

I have updated the DockerFile to the correct repository. I have done all changes to isinf and isnan with a successfull compilation. I have also added at /examples/test_fm.cpp the library due to the error I commented before. I have laso cleansed the commits name just in case. If there is any other suggestion just let me know

Also saludos de la UC3M y de Luis Moreno.

ferxxp commented 1 year ago

Yes, the compilation for the dockerfile works fine:

docker build . -t fm
[+] Building 150.1s (9/9) FINISHED
 => [internal] load build definition from Dockerfile       0.0s
 => => transferring dockerfile: 483B                       0.0s
 => [internal] load .dockerignore                          0.0s
 => => transferring context: 136B                          0.0s
 => [internal] load metadata for docker.io/library/ubuntu  3.7s
 => [internal] load build context                          0.1s
 => => transferring context: 31.98kB                       0.0s
 => [1/4] FROM docker.io/library/ubuntu:22.10@sha256:a630  0.0s
 => CACHED [2/4] RUN apt update -y && DEBIAN_FRONTEND=non  0.0s
 => [3/4] COPY . /fast_methods                             0.9s
 => [4/4] RUN mkdir /fast_methods/build &&    cmake -S   144.6s
 => exporting to image                                     0.7s
 => => exporting layers                                    0.7s
 => => writing image sha256:d1edd002d6832014e705c6ee6a2f8  0.0s
 => => naming to docker.io/library/fm                      0.0s

Use 'docker scan' to run Snyk tests against images to find vulnerabilities and learn how to fix them

And when used with run and no command we get:

docker run -it --rm fm

0%   10   20   30   40   50   60   70   80   90   100%
|----|----|----|----|----|----|----|----|----|----|
*********************************[WARNING] Setting a goal point in FSM (and LSM) is experimental. It may lead to wrong results.
**[WARNING] Setting a goal point in FSM (and LSM) is experimental. It may lead to wrong results.
**[WARNING] Setting a goal point in FSM (and LSM) is experimental. It may lead to wrong results.
*[WARNING] Setting a goal point in FSM (and LSM) is experimental. It may lead to wrong results.
**[WARNING] Setting a goal point in FSM (and LSM) is experimental. It may lead to wrong results.
**[WARNING] Setting a goal point in FSM (and LSM) is experimental. It may lead to wrong results.
**[WARNING] Setting a goal point in DDQM is experimental. It may lead to wrong results.
**[WARNING] Setting a goal point in DDQM is experimental. It may lead to wrong results.
**[WARNING] Setting a goal point in DDQM is experimental. It may lead to wrong results.
***

I am looking at the best way to add data for custom test ( trying out -v flag so we can find the data in the image). Also working on the explanation fo the read.me that will depend on last decision.

I also was trying a multi-stage file, as suggested, in another branch. However, I'm finding some difficults since some boost .SO are not added to the build directory:

/fast_methods/build/fm_benchmark: error while loading shared libraries: libboost_filesystem.so.1.74.0: cannot open shared object file: No such file or directory

My understanding is that some shared objects are not beeing coppied due to cmake configuration. I am looking into it, but if you have any suggestion or solution I would also try to add that possibility.

I will focuse first on completing the read.me to merge and if i found a solution to that problem, I will add the changes.

jvgomez commented 1 year ago

Ok, I am afraid I can't help much with the docker stuff. While you figure it out, perhaps it is a good idea to split this PR into 2, one for the compilation issue and another one for the Docker. I would be happy to merge the fix already.

ferxxp commented 1 year ago

Ok, I will work on the Docker when I get some free time. For the moment lets just merge the fix as suggested.

jvgomez commented 1 year ago

Thank you very much for fixing the compilation issues and helping maintaining the library in a good state.