Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Works on M1 Mac, CD/CI added, builds dependent images, linted #13

Open
wants to merge 11 commits into
base: main
Choose a base branch
from

Conversation

richtong
Copy link

This PR adds some things to make this a production system specifically:

  1. It includes a submodule for the image that you are building with on the cpu
    side. It looks like you build completely from an nvidia image on the cuda
    side, but the cpu only build does not work as there is no image to pull from
  2. Moved the pull to a docker hub that has an image. I sent a PR to the
    downstream repo, but it doesn't look like docker-gui is being maintained
    much so forked it.
  3. Also added pre-commit and linting and pinned the Dockerfile per hadolint to
    get more stability.
  4. Also fixed the documentation and added a make file to orchestrate the
    various build scripts. Added flags so build_container_cpu does not always
    destroy all the data and can restart. See make help for details
  5. Finally notes that this is ORB_SLAM3 v0.4 and OpenCV 3.2 and points to containers that seem
    like they might work the v1 and OpenCV 4 respectively
  • fix: git ignore and README for Mac, build_container for M1
  • ci: pre-commit fixes, README.md update, build_image for Mac
  • fix: build_container_rich ORG
  • ci: add pre-commit and ./lib
  • fix: Add Makefile, github action, Add xeyes, linted Dockerfile
  • feat: add ros-docker-gui start pinning, use netdrones
  • feat: build container with rich edits compiles, xeyes works
  • feat: Makefile restarts containers works in Mac M1
  • feat: Move _rich files to base _cpu
  • feat: Pinned dockerfile works for opencv 3.2 python 2.7
  • doc: Explains this works for OpenCV3 and points to 4 work

richtong added 11 commits June 20, 2022 22:26
Fix .gitignore to ignore the whole Dataset and the build artifacts in
./ORB_SLAM3

Linted README.md and add Mac Xhost instructions

Fixes to allow this to run properly on a Mac and updates to the _cpu
shell script in _rich for testing
Install the optional pre-commit you and install with
`pre-commit install` pick up linting for Dockerfiles and README.md

Update to README.md on Mac M1 support in build_image.sh

Shfmt'ing of shell scripts does not pass all lints
now uses the ORG for the pull
Add makefile and github action
Adding xeyes to test X11 connection
Dockerfile.rich is a hadolint clean and optimized build
Makefile gets ORG, IMAGE and DOCKEFILE parameters
Fixes for build_image to build either cuda or gpu
the system depends on a ros-docker-gui and this is not pushed nor built
so add this as a submodule
fix: using netdrone's ros-docker-gui as the other repo does not push any
images
ros-docker-gui builds melodic and pushes to your directory
Dockerfile_rich setup and cpu now builds
Makefile lets you change Dockerfile prefix so you can use experimental
ones and ./build_image.sh is updated to handle this as well
Finished rebuild of cpu container for ros
Finished build of build container
X-11 working
Next: debug ORB_SLAM3
make download checks for directory and zip file and only does a download
if they are not present
lib no longer has a test target
Makefile cuts the build container into pieces works with the modified
_rich_cpu.sh
Moved the test files named _rich to the base ones and verified the whole
things works with make all
Build works on Mac M1 in docker container for opencv 3.2 patched release
Points out the limitations of this build and points out the work by
LMWafers to get it running in another repo
@jahaniam
Copy link
Owner

Thanks for the pull request. I will look into it soon and let you know. I do not have mac though.

@richtong
Copy link
Author

richtong commented Jun 27, 2022

Np. I am getting an Ubuntu machine and will debug that too.

Also have u tried this with v1.0 of orb slam3? And opencv 4.x not to mention python 3.x?

@jahaniam
Copy link
Owner

That's great. I will update it to the latest. I'm quite happy that they updated it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants