AI-Toolbox icon indicating copy to clipboard operation
AI-Toolbox copied to clipboard

Add Dockerfile for AI-Toolbox with required dependencies

Open omniscientoctopus opened this issue 1 year ago • 3 comments

I was unable to install it on my Mac due to the dependencies and complier conflicts, so I created a simple Docker image to install this toolbox. I hope this helps others save time :)

output of cmake

-- The CXX compiler identification is GNU 10.5.0 -- Check for working CXX compiler: /usr/bin/g++-10
-- Check for working CXX compiler: /usr/bin/g++-10 -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Found Boost: /usr/lib/aarch64-linux-gnu/cmake/Boost-1.71.0/BoostConfig.cmake (found suitable version "1.71.0", minimum required is "1.67")
-- Found Eigen3: /usr/include/eigen3 (Required is at least version "3.2.92") -- Performing Test LPSOLVE_LINKS_ALONE -- Performing Test LPSOLVE_LINKS_ALONE - Success -- Found LpSolve: /usr/lib/lp_solve/liblpsolve55.so
-- Found Python: /usr/bin/python3.8 (found version "3.8.10") found components: Interpreter Development -- Found Boost: /usr/lib/aarch64-linux-gnu/cmake/Boost-1.71.0/BoostConfig.cmake (found suitable version "1.71.0", minimum required is "1.67") found components: python38

AI_TOOLBOX SETTINGS

-- CMAKE_BUILD_TYPE: Release -- IPO / LTO enabled ✗ NOT Building everything (-DMAKE_ALL=0) ✗ NOT Building entire library (-DMAKE_LIB=0) ✓ Building MDP (-DMAKE_MDP=1) ✗ NOT Building Factored MDP (-DMAKE_FMDP=0) ✓ Building POMDP (-DMAKE_POMDP=1) ✗ NOT Building Tests (-DMAKE_TESTS=0) ✓ Building Examples (-DMAKE_EXAMPLES=1) ✓ Building Python bindings (-DMAKE_PYTHON=1) - Selected Python 3.8 (-DAI_PYTHON_VERSION=3) ✗ NOT Enabled runtime logging (-DAI_LOGGING_ENABLED=0)

-- Configuring done -- Generating done -- Build files have been written to: /usr/src/AI-Toolbox/build

omniscientoctopus avatar Dec 27 '23 14:12 omniscientoctopus

Cool, thanks! Could the file be modified as to actually compile the entire project (seems this actually skips a couple of things)?

Do you know also if it might be possible to test the file using GitHub Actions? If so, it'd be cool to add an additional test to the actions file together with this.

Svalorzen avatar Jan 05 '24 17:01 Svalorzen

Thanks again @Svalorzen for building this toolbox.

With the lastest commit, the docker image builds the full package and I have also added a test in the GitHub workflows to test the docker-image build.

When I was using the package, I noticed that Python modules for some POMDP solvers, such as SARSOP, Fast Informed Bound, are missing (see line 7239-7265 in docker/build_log.txt). Are they currently only available in C++?

omniscientoctopus avatar Jan 06 '24 00:01 omniscientoctopus

Ah, it's possible some things are missing in the Python bindings. I may have forgot to add them; the bindings are fairly simple to add at least. At the moment I'm fairly busy but I'll make a note to add them ASAP, as well as reviewing and merging your PR. Hopefully next week I'll have a bit of time for this :)

Thanks a lot for the effort!

Svalorzen avatar Jan 07 '24 17:01 Svalorzen