This workspace contains non-catkin packages in it, and catkin cannot build a non-homogeneous workspace without isolation.
Mdbirley opened this issue · 9 comments
Hi
I am trying to install your driver so I can control my diff drive robot with a ps4 dual Shock 4 v2 controller.
I followed your instructions and when I cam to compile I get the following. I am new to ROS so excuse me if I am making some newbie mistakes
also I we can not get this working how do I reverse your commands so that I can make my original version?
regards
maxwell@maxwell-desktop:$ cd catkin_ws/catkin_ws$ catkin_make
maxwell@maxwell-desktop:
Base path: /home/maxwell/catkin_ws
Source space: /home/maxwell/catkin_ws/src
Build space: /home/maxwell/catkin_ws/build
Devel space: /home/maxwell/catkin_ws/devel
Install space: /home/maxwell/catkin_ws/install
Running command: "make cmake_check_build_system" in "/home/maxwell/catkin_ws/build"
-- Using CATKIN_DEVEL_PREFIX: /home/maxwell/catkin_ws/devel
-- Using CMAKE_PREFIX_PATH: /home/maxwell/catkin_ws/devel;/opt/ros/kinetic
-- This workspace overlays: /home/maxwell/catkin_ws/devel;/opt/ros/kinetic
-- Using PYTHON_EXECUTABLE: /usr/bin/python
-- Using Debian Python package layout
-- Using empy: /usr/bin/empy
-- Using CATKIN_ENABLE_TESTING: ON
-- Call enable_testing()
-- Using CATKIN_TEST_RESULTS_DIR: /home/maxwell/catkin_ws/build/test_results
-- Found gtest sources under '/usr/src/gmock': gtests will be built
-- Found gmock sources under '/usr/src/gmock': gmock will be built
-- Using Python nosetests: /usr/bin/nosetests-2.7
-- catkin 0.7.29
-- BUILD_SHARED_LIBS is on
-- BUILD_SHARED_LIBS is on
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- ~~ traversing 7 packages in topological order:
-- ~~ - teleop_twist_keyboard
-- ~~ - beginner_tutorials
-- ~~ - ds4_driver (plain cmake)
-- ~~ - practical_sensors
-- ~~ - rplidar_ros
-- ~~ - practical_localization
-- ~~ - practical_nav
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CMake Error at /opt/ros/kinetic/share/catkin/cmake/catkin_workspace.cmake:100 (message):
This workspace contains non-catkin packages in it, and catkin cannot build
a non-homogeneous workspace without isolation. Try the
'catkin_make_isolated' command instead.
Call Stack (most recent call first):
CMakeLists.txt:69 (catkin_workspace)
-- Configuring incomplete, errors occurred!
See also "/home/maxwell/catkin_ws/build/CMakeFiles/CMakeOutput.log".
See also "/home/maxwell/catkin_ws/build/CMakeFiles/CMakeError.log".
Makefile:1186: recipe for target 'cmake_check_build_system' failed
make: *** [cmake_check_build_system] Error 1
Invoking "make cmake_check_build_system" failed
maxwell@maxwell-desktop:~/catkin_ws$
this evening I deleted all of the PS4 gamepad package from my folders and I can compile again the remaining packages.
so tomorrow I will look for a way ahead on this issue
Looking at your output log, there's:
-- ~~ - ds4_driver (plain cmake)
which doesn't look right. What ROS version are you using? Could you describe step-by-step the commands that you entered (including cloning the package)?
I am using ros kinetic on a raspberry pi 3b+ with Ubuntu mate
I will now re install the software and let you know what happens
I am following your installation instructions and have come across this issue
maxwell@maxwell-desktop:$ git clone https://github.com/naoki-mizuno/ds4drv --branch devel$ cd ds4drv
Cloning into 'ds4drv'...
remote: Enumerating objects: 813, done.
remote: Total 813 (delta 0), reused 0 (delta 0), pack-reused 813
Receiving objects: 100% (813/813), 206.96 KiB | 0 bytes/s, done.
Resolving deltas: 100% (502/502), done.
Checking connectivity... done.
maxwell@maxwell-desktop:
maxwell@maxwell-desktop:~/ds4drv$ mkdir -p /.local/lib/python3.8/site-packages/ds4drv$ python3 setup.py install --prefix ~/.local
maxwell@maxwell-desktop:
running install
error: can't create or remove files in install directory
The following error occurred while trying to add or remove files in the
installation directory:
[Errno 2] No such file or directory: '/home/maxwell/.local/lib/python3.5/site-packages/test-easy-install-1882.write-test'
The installation directory you specified (via --install-dir, --prefix, or
the distutils default setting) was:
/home/maxwell/.local/lib/python3.5/site-packages/
This directory does not currently exist. Please create it and try again, or
choose a different installation directory (using the -d or --install-dir
option).
maxwell@maxwell-desktop:~/ds4drv$
If you're running ROS Kinetic, you should use the melodic-devel
branch. For Kinetic (and Melodic), you should use Python 2 not 3 to install ds4drv.
Ok I downloaded from github the melodic branch of your repo. I renamed it to be ds4drv
I then ran the remainder of the install instructions
$ cd ds4drv
$ python2 setup.py install --prefix ~/.local
when I tried to run this
sudo cp udev/50-ds4drv.rules /etc/udev/rules.d/
i got this error
maxwell@maxwell-desktop:/ds4drv$ sudo cp udev/50-ds4drv.rules /etc/udev/rules.d//ds4drv$ cd ..
cp: cannot stat 'udev/50-ds4drv.rules': No such file or directory
maxwell@maxwell-desktop:
I also can not Make my code now.
Can you please clarify the install instructions
regards
Max
I think there may be an issue with the path to melodic
when I ran the command I got this
maxwell@maxwell-desktop:~$ git clone https://github.com/naoki-mizuno/ds4drv --branch melodic-devel
Cloning into 'ds4drv'...
fatal: Remote branch melodic-devel not found in upstream origin
but when I changed the name of the folder to ds4_driver I di not get an error
I will continur to see if this works
maxwell@maxwell-desktop:$ git clone https://github.com/naoki-mizuno/ds4_driver --branch melodic-devel$
Cloning into 'ds4_driver'...
remote: Enumerating objects: 324, done.
remote: Counting objects: 100% (83/83), done.
remote: Compressing objects: 100% (61/61), done.
remote: Total 324 (delta 41), reused 55 (delta 21), pack-reused 241
Receiving objects: 100% (324/324), 67.95 KiB | 0 bytes/s, done.
Resolving deltas: 100% (161/161), done.
Checking connectivity... done.
maxwell@maxwell-desktop:
its fixed. We pulled the udev rules from one of the other repo's it then built and worked. Thanks for your help
Max
ds4drv is a Python module, not a ROS package. ds4_driver is a ROS package. ds4_driver uses ds4drv to communicate with the device. I don't quite understand what you did, but glad you got it working. Closing.