naoki-mizuno / ds4_driver

DualShock 4 driver for both ROS1 and ROS2
http://wiki.ros.org/ds4_driver
85 stars 53 forks source link

This workspace contains non-catkin packages in it, and catkin cannot build a non-homogeneous workspace without isolation. #22

Closed Mdbirley closed 2 years ago

Mdbirley commented 2 years ago

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 maxwell@maxwell-desktop:~/catkin_ws$ catkin_make 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$

Mdbirley commented 2 years ago

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

naoki-mizuno commented 2 years ago

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)?

Mdbirley commented 2 years ago

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

Mdbirley commented 2 years ago

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 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:~$ cd ds4drv maxwell@maxwell-desktop:~/ds4drv$ mkdir -p ~/.local/lib/python3.8/site-packages maxwell@maxwell-desktop:~/ds4drv$ python3 setup.py install --prefix ~/.local 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$

naoki-mizuno commented 2 years ago

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.

Mdbirley commented 2 years ago

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/ cp: cannot stat 'udev/50-ds4drv.rules': No such file or directory maxwell@maxwell-desktop:~/ds4drv$ cd ..

I also can not Make my code now.

Can you please clarify the install instructions

regards Max

Mdbirley commented 2 years ago

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:~$

Mdbirley commented 2 years ago

its fixed. We pulled the udev rules from one of the other repo's it then built and worked. Thanks for your help Max

naoki-mizuno commented 2 years ago

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.