From c43673950c12e715febb114a80471f220b0a5819 Mon Sep 17 00:00:00 2001 From: Shane Smiskol Date: Thu, 1 Aug 2024 14:09:36 -0700 Subject: [PATCH 1/8] fix build --- Dockerfile | 9 +++++++++ build.sh | 3 ++- cmake/FindCereal.cmake | 2 +- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 52e036764..5453840e2 100644 --- a/Dockerfile +++ b/Dockerfile @@ -37,9 +37,18 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ ocl-icd-opencl-dev \ opencl-headers +RUN curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash +ENV PATH="/root/.pyenv/bin:/root/.pyenv/shims:${PATH}" +RUN pyenv install 3.11.4 && \ + pyenv global 3.11.4 && \ + pyenv rehash && \ + pip3 install --no-cache-dir pyyaml Cython scons pycapnp pre-commit ruff parameterized coverage numpy + RUN pip3 install pkgconfig jinja2 # installs scons, pycapnp, cython, etc. ENV PYTHONPATH /tmp/plotjuggler/3rdparty COPY 3rdparty/opendbc/requirements.txt /tmp/ RUN pip3 install Cython && pip3 install --no-cache-dir -r /tmp/requirements.txt +#RUN apt install python3.9 -y --no-install-recommends +#RUN alias python3=python3.9 diff --git a/build.sh b/build.sh index 30a41c49a..b2218a259 100755 --- a/build.sh +++ b/build.sh @@ -1,9 +1,10 @@ #!/bin/bash -e docker build -f Dockerfile -t plotjuggler:latest . +# docker build -f 3rdparty/cereal -t cereal:latest . docker run \ --rm \ --volume $PWD:/tmp/plotjuggler \ --workdir /tmp/plotjuggler plotjuggler:latest \ - /bin/bash -c "mkdir -p build && cd build && cmake .. && make -j8" + /bin/bash -c "mkdir -p build && cd build && cmake .. && make -j$(nproc)" diff --git a/cmake/FindCereal.cmake b/cmake/FindCereal.cmake index 3d9dd1579..66c1a2124 100644 --- a/cmake/FindCereal.cmake +++ b/cmake/FindCereal.cmake @@ -5,7 +5,7 @@ else (Cereal_LIBRARIES AND Cereal_INCLUDE_DIRS) # build cereal before we search for required Cereal plugin libs below execute_process( - COMMAND scons -j8 --minimal + COMMAND scons -j$(nproc) --minimal WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/3rdparty/cereal ) From a6ae2eda7ce187d2f15faf8a3cd81e7912079601 Mon Sep 17 00:00:00 2001 From: Shane Smiskol Date: Thu, 1 Aug 2024 14:13:15 -0700 Subject: [PATCH 2/8] clean up --- Dockerfile | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index 5453840e2..d984c994d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -41,8 +41,7 @@ RUN curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-instal ENV PATH="/root/.pyenv/bin:/root/.pyenv/shims:${PATH}" RUN pyenv install 3.11.4 && \ pyenv global 3.11.4 && \ - pyenv rehash && \ - pip3 install --no-cache-dir pyyaml Cython scons pycapnp pre-commit ruff parameterized coverage numpy + pyenv rehash RUN pip3 install pkgconfig jinja2 @@ -50,5 +49,3 @@ RUN pip3 install pkgconfig jinja2 ENV PYTHONPATH /tmp/plotjuggler/3rdparty COPY 3rdparty/opendbc/requirements.txt /tmp/ RUN pip3 install Cython && pip3 install --no-cache-dir -r /tmp/requirements.txt -#RUN apt install python3.9 -y --no-install-recommends -#RUN alias python3=python3.9 From fb31279ea4fac513a4e0a2442b2ca98784697bf5 Mon Sep 17 00:00:00 2001 From: Shane Smiskol Date: Thu, 1 Aug 2024 14:28:22 -0700 Subject: [PATCH 3/8] more --- 3rdparty/opendbc | 2 +- CMakeLists.txt | 4 +++- cmake/FindCereal.cmake | 2 +- cmake/FindRlog.cmake | 2 +- plotjuggler_plugins/DataLoadRlog/CMakeLists.txt | 12 ++++++------ plotjuggler_plugins/DataStreamCereal/CMakeLists.txt | 12 ++++++------ 6 files changed, 18 insertions(+), 16 deletions(-) diff --git a/3rdparty/opendbc b/3rdparty/opendbc index 93b983d49..a40652d34 160000 --- a/3rdparty/opendbc +++ b/3rdparty/opendbc @@ -1 +1 @@ -Subproject commit 93b983d49a2d6d5c67e15ce7650f55e4f121485d +Subproject commit a40652d341ea3161a6a10001fa74284d9d650f8c diff --git a/CMakeLists.txt b/CMakeLists.txt index c66d5a1d1..1d2b2e569 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -162,7 +162,9 @@ include_directories( ./3rdparty/lua-5.4.3/src ./3rdparty/QCodeEditor/include ./3rdparty/lz4 - ./3rdparty/opendbc/can + ./3rdparty/opendbc + ./3rdparty/opendbc/opendbc + ./3rdparty/opendbc/opendbc/can ./3rdparty/cereal/messaging ./3rdparty/cereal ) diff --git a/cmake/FindCereal.cmake b/cmake/FindCereal.cmake index 66c1a2124..3d9dd1579 100644 --- a/cmake/FindCereal.cmake +++ b/cmake/FindCereal.cmake @@ -5,7 +5,7 @@ else (Cereal_LIBRARIES AND Cereal_INCLUDE_DIRS) # build cereal before we search for required Cereal plugin libs below execute_process( - COMMAND scons -j$(nproc) --minimal + COMMAND scons -j8 --minimal WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/3rdparty/cereal ) diff --git a/cmake/FindRlog.cmake b/cmake/FindRlog.cmake index 69cfaa90d..3fce4ede1 100644 --- a/cmake/FindRlog.cmake +++ b/cmake/FindRlog.cmake @@ -75,7 +75,7 @@ else (Rlog_INCLUDE_DIRS AND Rlog_LIBRARIES) #### find opendbc common find_path(Rlog_opendbc_INCLUDE_DIR NAMES common.h - PATHS ${CMAKE_SOURCE_DIR}/3rdparty/opendbc/can + PATHS ${CMAKE_SOURCE_DIR}/3rdparty/opendbc/opendbc/can /usr/include /usr/local/include /opt/local/include diff --git a/plotjuggler_plugins/DataLoadRlog/CMakeLists.txt b/plotjuggler_plugins/DataLoadRlog/CMakeLists.txt index 90b856005..05b7dadd0 100644 --- a/plotjuggler_plugins/DataLoadRlog/CMakeLists.txt +++ b/plotjuggler_plugins/DataLoadRlog/CMakeLists.txt @@ -8,15 +8,15 @@ if(Rlog_FOUND) add_definitions(${QT_DEFINITIONS}) add_definitions(-DQT_PLUGIN) add_definitions(-DDYNAMIC_CAPNP) - add_definitions(-DDBC_FILE_PATH="${CMAKE_CURRENT_SOURCE_DIR}/../../3rdparty/opendbc") + add_definitions(-DDBC_FILE_PATH="${CMAKE_CURRENT_SOURCE_DIR}/../../3rdparty/opendbc/opendbc/dbc") SET(SRC rlog_parser.cpp dataload_rlog.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/../../3rdparty/opendbc/can/common.cc - ${CMAKE_CURRENT_SOURCE_DIR}/../../3rdparty/opendbc/can/dbc.cc - ${CMAKE_CURRENT_SOURCE_DIR}/../../3rdparty/opendbc/can/packer.cc - ${CMAKE_CURRENT_SOURCE_DIR}/../../3rdparty/opendbc/can/parser.cc + ${CMAKE_CURRENT_SOURCE_DIR}/../../3rdparty/opendbc/opendbc/can/common.cc + ${CMAKE_CURRENT_SOURCE_DIR}/../../3rdparty/opendbc/opendbc/can/dbc.cc + ${CMAKE_CURRENT_SOURCE_DIR}/../../3rdparty/opendbc/opendbc/can/packer.cc + ${CMAKE_CURRENT_SOURCE_DIR}/../../3rdparty/opendbc/opendbc/can/parser.cc ) add_definitions(-L /usr/local/lib) @@ -33,4 +33,4 @@ if(Rlog_FOUND) else() message("[Rlog] not found. Skipping plugin DataStreamRlog.") -endif() \ No newline at end of file +endif() diff --git a/plotjuggler_plugins/DataStreamCereal/CMakeLists.txt b/plotjuggler_plugins/DataStreamCereal/CMakeLists.txt index f87bc5ee0..ee0f7e2da 100644 --- a/plotjuggler_plugins/DataStreamCereal/CMakeLists.txt +++ b/plotjuggler_plugins/DataStreamCereal/CMakeLists.txt @@ -7,17 +7,17 @@ if(Cereal_FOUND AND Rlog_FOUND) add_definitions(${QT_DEFINITIONS}) add_definitions(-DQT_PLUGIN) add_definitions(-DDYNAMIC_CAPNP) - add_definitions(-DDBC_FILE_PATH="${CMAKE_CURRENT_SOURCE_DIR}/../../3rdparty/opendbc") + add_definitions(-DDBC_FILE_PATH="${CMAKE_CURRENT_SOURCE_DIR}/../../3rdparty/opendbc/opendbc/dbc") QT5_WRAP_UI ( UI_SRC datastream_cereal.ui ) SET(SRC datastream_cereal.cpp ../DataLoadRlog/rlog_parser.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/../../3rdparty/opendbc/can/common.cc - ${CMAKE_CURRENT_SOURCE_DIR}/../../3rdparty/opendbc/can/dbc.cc - ${CMAKE_CURRENT_SOURCE_DIR}/../../3rdparty/opendbc/can/packer.cc - ${CMAKE_CURRENT_SOURCE_DIR}/../../3rdparty/opendbc/can/parser.cc + ${CMAKE_CURRENT_SOURCE_DIR}/../../3rdparty/opendbc/opendbc/can/common.cc + ${CMAKE_CURRENT_SOURCE_DIR}/../../3rdparty/opendbc/opendbc/can/dbc.cc + ${CMAKE_CURRENT_SOURCE_DIR}/../../3rdparty/opendbc/opendbc/can/packer.cc + ${CMAKE_CURRENT_SOURCE_DIR}/../../3rdparty/opendbc/opendbc/can/parser.cc ) add_library(DataStreamCereal SHARED ${SRC} ${UI_SRC} ) @@ -31,4 +31,4 @@ if(Cereal_FOUND AND Rlog_FOUND) else() message("[Cereal] not found. Skipping plugin DataStreamCereal.") -endif() \ No newline at end of file +endif() From b3bae11ad4d5139fd936aba9c288cd2e07d99077 Mon Sep 17 00:00:00 2001 From: Shane Smiskol Date: Thu, 1 Aug 2024 14:30:08 -0700 Subject: [PATCH 4/8] Revert "more" This reverts commit fb31279ea4fac513a4e0a2442b2ca98784697bf5. --- 3rdparty/opendbc | 2 +- CMakeLists.txt | 4 +--- cmake/FindCereal.cmake | 2 +- cmake/FindRlog.cmake | 2 +- plotjuggler_plugins/DataLoadRlog/CMakeLists.txt | 12 ++++++------ plotjuggler_plugins/DataStreamCereal/CMakeLists.txt | 12 ++++++------ 6 files changed, 16 insertions(+), 18 deletions(-) diff --git a/3rdparty/opendbc b/3rdparty/opendbc index a40652d34..93b983d49 160000 --- a/3rdparty/opendbc +++ b/3rdparty/opendbc @@ -1 +1 @@ -Subproject commit a40652d341ea3161a6a10001fa74284d9d650f8c +Subproject commit 93b983d49a2d6d5c67e15ce7650f55e4f121485d diff --git a/CMakeLists.txt b/CMakeLists.txt index 1d2b2e569..c66d5a1d1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -162,9 +162,7 @@ include_directories( ./3rdparty/lua-5.4.3/src ./3rdparty/QCodeEditor/include ./3rdparty/lz4 - ./3rdparty/opendbc - ./3rdparty/opendbc/opendbc - ./3rdparty/opendbc/opendbc/can + ./3rdparty/opendbc/can ./3rdparty/cereal/messaging ./3rdparty/cereal ) diff --git a/cmake/FindCereal.cmake b/cmake/FindCereal.cmake index 3d9dd1579..66c1a2124 100644 --- a/cmake/FindCereal.cmake +++ b/cmake/FindCereal.cmake @@ -5,7 +5,7 @@ else (Cereal_LIBRARIES AND Cereal_INCLUDE_DIRS) # build cereal before we search for required Cereal plugin libs below execute_process( - COMMAND scons -j8 --minimal + COMMAND scons -j$(nproc) --minimal WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/3rdparty/cereal ) diff --git a/cmake/FindRlog.cmake b/cmake/FindRlog.cmake index 3fce4ede1..69cfaa90d 100644 --- a/cmake/FindRlog.cmake +++ b/cmake/FindRlog.cmake @@ -75,7 +75,7 @@ else (Rlog_INCLUDE_DIRS AND Rlog_LIBRARIES) #### find opendbc common find_path(Rlog_opendbc_INCLUDE_DIR NAMES common.h - PATHS ${CMAKE_SOURCE_DIR}/3rdparty/opendbc/opendbc/can + PATHS ${CMAKE_SOURCE_DIR}/3rdparty/opendbc/can /usr/include /usr/local/include /opt/local/include diff --git a/plotjuggler_plugins/DataLoadRlog/CMakeLists.txt b/plotjuggler_plugins/DataLoadRlog/CMakeLists.txt index 05b7dadd0..90b856005 100644 --- a/plotjuggler_plugins/DataLoadRlog/CMakeLists.txt +++ b/plotjuggler_plugins/DataLoadRlog/CMakeLists.txt @@ -8,15 +8,15 @@ if(Rlog_FOUND) add_definitions(${QT_DEFINITIONS}) add_definitions(-DQT_PLUGIN) add_definitions(-DDYNAMIC_CAPNP) - add_definitions(-DDBC_FILE_PATH="${CMAKE_CURRENT_SOURCE_DIR}/../../3rdparty/opendbc/opendbc/dbc") + add_definitions(-DDBC_FILE_PATH="${CMAKE_CURRENT_SOURCE_DIR}/../../3rdparty/opendbc") SET(SRC rlog_parser.cpp dataload_rlog.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/../../3rdparty/opendbc/opendbc/can/common.cc - ${CMAKE_CURRENT_SOURCE_DIR}/../../3rdparty/opendbc/opendbc/can/dbc.cc - ${CMAKE_CURRENT_SOURCE_DIR}/../../3rdparty/opendbc/opendbc/can/packer.cc - ${CMAKE_CURRENT_SOURCE_DIR}/../../3rdparty/opendbc/opendbc/can/parser.cc + ${CMAKE_CURRENT_SOURCE_DIR}/../../3rdparty/opendbc/can/common.cc + ${CMAKE_CURRENT_SOURCE_DIR}/../../3rdparty/opendbc/can/dbc.cc + ${CMAKE_CURRENT_SOURCE_DIR}/../../3rdparty/opendbc/can/packer.cc + ${CMAKE_CURRENT_SOURCE_DIR}/../../3rdparty/opendbc/can/parser.cc ) add_definitions(-L /usr/local/lib) @@ -33,4 +33,4 @@ if(Rlog_FOUND) else() message("[Rlog] not found. Skipping plugin DataStreamRlog.") -endif() +endif() \ No newline at end of file diff --git a/plotjuggler_plugins/DataStreamCereal/CMakeLists.txt b/plotjuggler_plugins/DataStreamCereal/CMakeLists.txt index ee0f7e2da..f87bc5ee0 100644 --- a/plotjuggler_plugins/DataStreamCereal/CMakeLists.txt +++ b/plotjuggler_plugins/DataStreamCereal/CMakeLists.txt @@ -7,17 +7,17 @@ if(Cereal_FOUND AND Rlog_FOUND) add_definitions(${QT_DEFINITIONS}) add_definitions(-DQT_PLUGIN) add_definitions(-DDYNAMIC_CAPNP) - add_definitions(-DDBC_FILE_PATH="${CMAKE_CURRENT_SOURCE_DIR}/../../3rdparty/opendbc/opendbc/dbc") + add_definitions(-DDBC_FILE_PATH="${CMAKE_CURRENT_SOURCE_DIR}/../../3rdparty/opendbc") QT5_WRAP_UI ( UI_SRC datastream_cereal.ui ) SET(SRC datastream_cereal.cpp ../DataLoadRlog/rlog_parser.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/../../3rdparty/opendbc/opendbc/can/common.cc - ${CMAKE_CURRENT_SOURCE_DIR}/../../3rdparty/opendbc/opendbc/can/dbc.cc - ${CMAKE_CURRENT_SOURCE_DIR}/../../3rdparty/opendbc/opendbc/can/packer.cc - ${CMAKE_CURRENT_SOURCE_DIR}/../../3rdparty/opendbc/opendbc/can/parser.cc + ${CMAKE_CURRENT_SOURCE_DIR}/../../3rdparty/opendbc/can/common.cc + ${CMAKE_CURRENT_SOURCE_DIR}/../../3rdparty/opendbc/can/dbc.cc + ${CMAKE_CURRENT_SOURCE_DIR}/../../3rdparty/opendbc/can/packer.cc + ${CMAKE_CURRENT_SOURCE_DIR}/../../3rdparty/opendbc/can/parser.cc ) add_library(DataStreamCereal SHARED ${SRC} ${UI_SRC} ) @@ -31,4 +31,4 @@ if(Cereal_FOUND AND Rlog_FOUND) else() message("[Cereal] not found. Skipping plugin DataStreamCereal.") -endif() +endif() \ No newline at end of file From 870abeefc239133cd97cd6e9a36db4dff1153f35 Mon Sep 17 00:00:00 2001 From: Shane Smiskol Date: Thu, 1 Aug 2024 14:31:35 -0700 Subject: [PATCH 5/8] revert --- cmake/FindCereal.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/FindCereal.cmake b/cmake/FindCereal.cmake index 66c1a2124..3d9dd1579 100644 --- a/cmake/FindCereal.cmake +++ b/cmake/FindCereal.cmake @@ -5,7 +5,7 @@ else (Cereal_LIBRARIES AND Cereal_INCLUDE_DIRS) # build cereal before we search for required Cereal plugin libs below execute_process( - COMMAND scons -j$(nproc) --minimal + COMMAND scons -j8 --minimal WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/3rdparty/cereal ) From d7991e374f99bfc5db1d7d61d87085313ac2f34f Mon Sep 17 00:00:00 2001 From: Shane Smiskol Date: Thu, 1 Aug 2024 14:41:31 -0700 Subject: [PATCH 6/8] hopefully fix mac --- .github/workflows/openpilot.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/openpilot.yaml b/.github/workflows/openpilot.yaml index 1199585ff..f60b97fc4 100644 --- a/.github/workflows/openpilot.yaml +++ b/.github/workflows/openpilot.yaml @@ -45,7 +45,7 @@ jobs: submodules: true - uses: actions/setup-python@v2 with: - python-version: '3.8.x' + python-version: '3.9.x' - name: setup dependencies run: | brew install cmake bzip2 capnp qt@5 zeromq protobuf@3 gnu-tar From 5dd3db366c885de51eb58a3395e3318fb870de68 Mon Sep 17 00:00:00 2001 From: Shane Smiskol Date: Thu, 1 Aug 2024 14:41:56 -0700 Subject: [PATCH 7/8] ideally 3.11 --- .github/workflows/openpilot.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/openpilot.yaml b/.github/workflows/openpilot.yaml index f60b97fc4..c747d1aab 100644 --- a/.github/workflows/openpilot.yaml +++ b/.github/workflows/openpilot.yaml @@ -45,7 +45,7 @@ jobs: submodules: true - uses: actions/setup-python@v2 with: - python-version: '3.9.x' + python-version: '3.11.x' - name: setup dependencies run: | brew install cmake bzip2 capnp qt@5 zeromq protobuf@3 gnu-tar From 14559a13ca50ecee98da907c43d30eaa839e4ed5 Mon Sep 17 00:00:00 2001 From: Shane Smiskol Date: Thu, 1 Aug 2024 14:46:22 -0700 Subject: [PATCH 8/8] clean up --- build.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/build.sh b/build.sh index b2218a259..81dc6e6b0 100755 --- a/build.sh +++ b/build.sh @@ -1,7 +1,6 @@ #!/bin/bash -e docker build -f Dockerfile -t plotjuggler:latest . -# docker build -f 3rdparty/cereal -t cereal:latest . docker run \ --rm \