diff --git a/.travis.yml b/.travis.yml index 36b819d5..7033cfd4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,20 +9,36 @@ notifications: on_failure: always jobs: include: - - stage: build-shadow-fixed + - stage: build env: ROS_DISTRO="kinetic" ROS_REPOSITORY_PATH=http://packages.ros.org/ros-shadow-fixed/ubuntu + arch: amd64 + - env: ROS_DISTRO="kinetic" ROS_REPOSITORY_PATH=http://packages.ros.org/ros-shadow-fixed/ubuntu + arch: arm64 - env: ROS_DISTRO="melodic" ROS_REPOSITORY_PATH=http://packages.ros.org/ros-shadow-fixed/ubuntu - - stage: build-released - env: ROS_DISTRO="kinetic" ROS_REPOSITORY_PATH=http://packages.ros.org/ros/ubuntu + arch: amd64 + - env: ROS_DISTRO="melodic" ROS_REPOSITORY_PATH=http://packages.ros.org/ros-shadow-fixed/ubuntu + arch: arm64 + - env: ROS_DISTRO="kinetic" ROS_REPOSITORY_PATH=http://packages.ros.org/ros/ubuntu + arch: amd64 + - env: ROS_DISTRO="kinetic" ROS_REPOSITORY_PATH=http://packages.ros.org/ros/ubuntu + arch: arm64 + - env: ROS_DISTRO="melodic" ROS_REPOSITORY_PATH=http://packages.ros.org/ros/ubuntu + arch: amd64 - env: ROS_DISTRO="melodic" ROS_REPOSITORY_PATH=http://packages.ros.org/ros/ubuntu - - stage: lint + arch: arm64 + - env: JOB="catkin_lint" sudo: false install: pip install --user -q catkin-lint script: catkin_lint -W2 --explain . - env: JOB="catkin_lint" allow_failures: - env: ROS_DISTRO="kinetic" ROS_REPOSITORY_PATH=http://packages.ros.org/ros/ubuntu + arch: amd64 + - env: ROS_DISTRO="kinetic" ROS_REPOSITORY_PATH=http://packages.ros.org/ros/ubuntu + arch: arm64 + - env: ROS_DISTRO="melodic" ROS_REPOSITORY_PATH=http://packages.ros.org/ros/ubuntu + arch: amd64 - env: ROS_DISTRO="melodic" ROS_REPOSITORY_PATH=http://packages.ros.org/ros/ubuntu + arch: arm64 - env: JOB="catkin_lint" matrix: allow_failures: @@ -31,4 +47,4 @@ install: - git clone https://github.com/ros-industrial/industrial_ci.git .ci_config script: - source .ci_config/travis.sh -# - source ./travis.sh # Enable this when you have a package-local script + diff --git a/mapviz/include/mapviz/map_canvas.h b/mapviz/include/mapviz/map_canvas.h index e209d9aa..c0d5d425 100644 --- a/mapviz/include/mapviz/map_canvas.h +++ b/mapviz/include/mapviz/map_canvas.h @@ -52,9 +52,18 @@ #include +#ifdef __aarch64__ +#include +#include +#endif + namespace mapviz { +#ifdef __aarch64__ + class MapCanvas : public QGLWidget, protected QGLFunctions +#else class MapCanvas : public QGLWidget +#endif { Q_OBJECT diff --git a/mapviz/include/mapviz/mapviz_plugin.h b/mapviz/include/mapviz/mapviz_plugin.h index 92ce2cce..5fb2d0c1 100644 --- a/mapviz/include/mapviz/mapviz_plugin.h +++ b/mapviz/include/mapviz/mapviz_plugin.h @@ -52,6 +52,10 @@ #include "stopwatch.h" +#ifdef __aarch64__ +#include +#endif + namespace mapviz { class MapvizPlugin : public QObject diff --git a/mapviz/src/map_canvas.cpp b/mapviz/src/map_canvas.cpp index 651d5676..ef9964f7 100644 --- a/mapviz/src/map_canvas.cpp +++ b/mapviz/src/map_canvas.cpp @@ -27,10 +27,11 @@ // // ***************************************************************************** - +#ifndef __aarch64__ #include #include #include +#endif #include @@ -94,10 +95,12 @@ MapCanvas::MapCanvas(QWidget* parent) : MapCanvas::~MapCanvas() { +#ifndef __aarch64__ if(pixel_buffer_size_ != 0) { glDeleteBuffersARB(2, pixel_buffer_ids_); } +#endif } void MapCanvas::InitializeTf(boost::shared_ptr tf) @@ -107,6 +110,7 @@ void MapCanvas::InitializeTf(boost::shared_ptr tf) void MapCanvas::InitializePixelBuffers() { +#ifndef __aarch64__ if(has_pixel_buffers_) { int32_t buffer_size = width() * height() * 4; @@ -128,10 +132,12 @@ void MapCanvas::InitializePixelBuffers() pixel_buffer_size_ = buffer_size; } } +#endif } void MapCanvas::initializeGL() { +#ifndef __aarch64__ GLenum err = glewInit(); if (GLEW_OK != err) { @@ -143,6 +149,9 @@ void MapCanvas::initializeGL() std::string extensions = (const char*)glGetString(GL_EXTENSIONS); has_pixel_buffers_ = extensions.find("GL_ARB_pixel_buffer_object") != std::string::npos; } +#else + has_pixel_buffers_ = false; +#endif glClearColor(0.58f, 0.56f, 0.5f, 1); if (enable_antialiasing_) @@ -185,6 +194,7 @@ void MapCanvas::CaptureFrame(bool force) // Ensure the pixel size is actually 4 glPixelStorei(GL_PACK_ALIGNMENT, 4); +#ifndef __aarch64__ if (has_pixel_buffers_ && !force) { InitializePixelBuffers(); @@ -207,6 +217,7 @@ void MapCanvas::CaptureFrame(bool force) glBindBufferARB(GL_PIXEL_PACK_BUFFER_ARB, 0); } else +#endif { int32_t buffer_size = width() * height() * 4; capture_buffer_.clear(); diff --git a/mapviz_plugins/include/mapviz_plugins/pointcloud2_plugin.h b/mapviz_plugins/include/mapviz_plugins/pointcloud2_plugin.h index 6d68a34f..cc471884 100644 --- a/mapviz_plugins/include/mapviz_plugins/pointcloud2_plugin.h +++ b/mapviz_plugins/include/mapviz_plugins/pointcloud2_plugin.h @@ -39,6 +39,7 @@ #include // QT libraries +#include #include #include #include @@ -51,7 +52,7 @@ namespace mapviz_plugins { - class PointCloud2Plugin : public mapviz::MapvizPlugin + class PointCloud2Plugin : public mapviz::MapvizPlugin, protected QGLFunctions { Q_OBJECT diff --git a/mapviz_plugins/src/occupancy_grid_plugin.cpp b/mapviz_plugins/src/occupancy_grid_plugin.cpp index 906d03d7..e7f42aef 100644 --- a/mapviz_plugins/src/occupancy_grid_plugin.cpp +++ b/mapviz_plugins/src/occupancy_grid_plugin.cpp @@ -27,8 +27,6 @@ // // ***************************************************************************** -#include - #include #include diff --git a/mapviz_plugins/src/pointcloud2_plugin.cpp b/mapviz_plugins/src/pointcloud2_plugin.cpp index c200abd7..3ef7caf7 100644 --- a/mapviz_plugins/src/pointcloud2_plugin.cpp +++ b/mapviz_plugins/src/pointcloud2_plugin.cpp @@ -27,7 +27,6 @@ // // ***************************************************************************** -#include #include // C++ standard libraries diff --git a/multires_image/CMakeLists.txt b/multires_image/CMakeLists.txt index e1b5fc25..b700d1f2 100644 --- a/multires_image/CMakeLists.txt +++ b/multires_image/CMakeLists.txt @@ -95,6 +95,7 @@ target_link_libraries(${PROJECT_NAME} ${catkin_LIBRARIES} ${Boost_LIBRARIES} ${Qt_LIBRARIES} + ${OPENGL_gl_LIBRARY} ${GLU_LIBRARY} ) diff --git a/multires_image/src/QGLMap.cpp b/multires_image/src/QGLMap.cpp index 065c0568..331f19b6 100644 --- a/multires_image/src/QGLMap.cpp +++ b/multires_image/src/QGLMap.cpp @@ -29,6 +29,8 @@ #include +#include + // C++ standard libraries #include diff --git a/multires_image/src/multires_view.cpp b/multires_image/src/multires_view.cpp index 6ea9cd15..512f2d84 100644 --- a/multires_image/src/multires_view.cpp +++ b/multires_image/src/multires_view.cpp @@ -33,6 +33,8 @@ #include #include +#include + #include #include diff --git a/multires_image/src/tile.cpp b/multires_image/src/tile.cpp index ac736996..a0c3c4f5 100644 --- a/multires_image/src/tile.cpp +++ b/multires_image/src/tile.cpp @@ -36,6 +36,7 @@ #include // QT libraries +#include #include #include diff --git a/multires_image/src/tile_view.cpp b/multires_image/src/tile_view.cpp index d566961b..7a5110bf 100644 --- a/multires_image/src/tile_view.cpp +++ b/multires_image/src/tile_view.cpp @@ -29,6 +29,8 @@ #include +#include + // C++ standard libraries #include #include diff --git a/tile_map/include/tile_map/tile_map_view.h b/tile_map/include/tile_map/tile_map_view.h index bb23cad9..9fa16a4e 100644 --- a/tile_map/include/tile_map/tile_map_view.h +++ b/tile_map/include/tile_map/tile_map_view.h @@ -39,6 +39,8 @@ #include +#include + namespace tile_map { class TileSource; @@ -58,7 +60,7 @@ namespace tile_map std::vector points_t; }; - class TileMapView + class TileMapView: protected QGLFunctions { public: TileMapView(); diff --git a/tile_map/src/texture_cache.cpp b/tile_map/src/texture_cache.cpp index 38b13b3c..8abd777b 100644 --- a/tile_map/src/texture_cache.cpp +++ b/tile_map/src/texture_cache.cpp @@ -33,12 +33,9 @@ #include -#include -#include -#include - #include +#include #include #include @@ -109,8 +106,7 @@ namespace tile_map ROS_ERROR("FAILED TO CREATE TEXTURE"); GLenum err = glGetError(); - const GLubyte *errString = gluErrorString(err); - ROS_ERROR("GL ERROR(%u): %s", err, errString); + ROS_ERROR("GL ERROR(%u)", err); return texture; } diff --git a/tile_map/src/tile_map_view.cpp b/tile_map/src/tile_map_view.cpp index 8356a7ca..0ea85741 100644 --- a/tile_map/src/tile_map_view.cpp +++ b/tile_map/src/tile_map_view.cpp @@ -33,9 +33,7 @@ #include -#include #include -#include #include