catkin_make not creating a catkin workspace for ROS through Robostack (conda) environment

asked 2023-01-24 13:43:26 -0500

Mr.Cruz gravatar image

Good Afternoon,

I've recently been encountering an issue when trying to create a working catkin workspace for ROS through RoboStack.

Robostack is utilized to create a working ROS environment installed in Conda (https://github.com/RoboStack/ros-noetic).

When activating the environment in conda, I have been able to successfully very that ROS is working when I run the "set ros" command through the miniconda command prompt:

(robostackenv) C:\.....>set ros

ROS_DISTRO=noetic
ROS_ETC_DIR=C:\Users\user\miniconda3\envs\robostackenv\Library\etc\ros
ROS_IP=127.0.0.1
ROS_MASTER_URI=http://127.0.0.1:11311
ROS_OS_OVERRIDE=conda:win64
ROS_PACKAGE_PATH=C:\Users\user\miniconda3\envs\robostackenv\Library\share
ROS_PYTHON_VERSION=3
ROS_ROOT=C:/Users/user/miniconda3/envs/robostackenv/Library/share/ros
ROS_VERSION=1

I've also installed various extensions to succesfully utilize ROS within VSCode (NOT the full IDE Visual Studio one). These extensions include:

  • ROS
  • C/C++ (VsCode is configured with a GCC compiler, which allows it to run C//C++ files already
  • CMake

However, for some reason I can't create a workspace for ROS. I've already created a catkin_workspace and src folder by:

(robostackenv) C:\.....>robostackenv\mkdir catkin_workspace
(robostackenv) C:\.....>robostackenv\catkin_workspace\mkdir src

But every time I try to utilize catkin_make within the main workspace directory, it ends up failing:

(robostackenv) C:\Users\user\ProgrammingProjects\robostackenv\catkin_workspace>catkin_make
Base path: C:\Users\user\ProgrammingProjects\robostackenv\catkin_workspace
Source space: C:\Users\user\ProgrammingProjects\robostackenv\catkin_workspace\src
Build space: C:\Users\user\ProgrammingProjects\robostackenv\catkin_workspace\build
Devel space: C:\Users\user\ProgrammingProjects\robostackenv\catkin_workspace\devel
Install space: C:\Users\user\ProgrammingProjects\robostackenv\catkin_workspace\install
Copying file from "C:\Users\user\miniconda3\envs\robostackenv\Library\share\catkin\cmake\toplevel.cmake" to "C:\Users\user\ProgrammingProjects\robostackenv\catkin_workspace\src\CMakeLists.txt"
####
#### Running command: "cmake C:\Users\user\ProgrammingProjects\robostackenv\catkin_workspace\src -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCATKIN_DEVEL_PREFIX=C:\Users\user\ProgrammingProjects\robostackenv\catkin_workspace\devel -DCMAKE_INSTALL_PREFIX=C:\Users\user\ProgrammingProjects\robostackenv\catkin_workspace\install -G NMake Makefiles" in "C:\Users\user\ProgrammingProjects\robostackenv\catkin_workspace\build"
####
CMake Error at CMakeLists.txt:6 (project):
  Running

   'nmake' '-?'

  failed with:

   The system cannot find the file specified


CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage
CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage
-- Configuring incomplete, errors occurred!
See also "C:/Users/user/ProgrammingProjects/robostackenv/catkin_workspace/build/CMakeFiles/CMakeOutput.log".
Invoking "cmake" failed

What am I doing that's wrong? ROS is installed properly with RoboStack, set ros shows that it works, my files are named corrently, what gives?

If I run, catkin_init_workspace, it'll generate a CMakeLists.txt file, but that is it..

edit retag flag offensive close merge delete

Comments

1

This is not really about Catkin, or catkin_make, but you appear to not have nmake installed. Or at least, Catkin is unable to find it (it may not be present on the PATH). nmake should be part of Visual Studio (or one of the Windows SDKs).

You may want to reach out to the Robostack people and verify whether you need a Windows development environment (ie: MSVC) or whether GCC is supposed to be installed by Conda.

In any case: the cause is a misconfigured development environment, most likely not a problem on Catkin's side.


Edit: I'm assuming this is related to #q411639?

gvdhoorn gravatar image gvdhoorn  ( 2023-01-25 02:40:45 -0500 )edit

@gvdhoom Yes sir

However, I was lucky enough to have ROS installed in conda (which answered my previous post). However, I never knew about "nmake" being an issue as it was never stated in RoboStack.

I DID install the VS C++ build tools (2022), MSVC, and Mingw_64 (GCC) onto my system. But what I'll do is try to install nmake or see if I can incorporate MSVC or GCC into my build as well.

Thank!

Mr.Cruz gravatar image Mr.Cruz  ( 2023-01-25 06:44:07 -0500 )edit

I would strongly suggest checking the Robostack documentation (if you haven't already, and if there is any on this subject). At the very least, what you describe would be something to clarify in documentation, or create documentation on. It could be you need to be using the VS developer command prompt fi.

If you've already checked the documentation, I'd reach out to the maintainers themselves (on their issue trackers/foras, not directly of course).

gvdhoorn gravatar image gvdhoorn  ( 2023-01-25 06:57:17 -0500 )edit