Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix Windows Build #90

Merged
merged 2 commits into from
Jun 17, 2022
Merged

Fix Windows Build #90

merged 2 commits into from
Jun 17, 2022

Conversation

marip8
Copy link
Collaborator

@marip8 marip8 commented Apr 19, 2022

No description provided.

@marip8
Copy link
Collaborator Author

marip8 commented Apr 19, 2022

CMake Error: CMake was unable to find a build program corresponding to "Ninja".  CMAKE_MAKE_PROGRAM is not set.  You probably need to select a different build tool.

@Levi-Armstrong is ninja not installed on the Windows image by default? The Github virtual environment documentation for Windows 2022 doesn't explicity mention it, but it isn't mentioned for Windows 2019 either and the build succeeds there. I'm not sure why this used to work (and works with tesseract builds) but not any more

@Levi-Armstrong
Copy link
Collaborator

CMake Error: CMake was unable to find a build program corresponding to "Ninja".  CMAKE_MAKE_PROGRAM is not set.  You probably need to select a different build tool.

@Levi-Armstrong is ninja not installed on the Windows image by default? The Github virtual environment documentation for Windows 2022 doesn't explicity mention it, but it isn't mentioned for Windows 2019 either and the build succeeds there. I'm not sure why this used to work (and works with tesseract builds) but not any more

We had to turn ninja off on tesseract because of an issue with osqp but not sure why it is now an issue.

@marip8
Copy link
Collaborator Author

marip8 commented Apr 19, 2022

We had to turn ninja off on tesseract because of an issue with osqp but not sure why it is now an issue.

What did you use to build instead? nmake? If so, would I just set -DCMAKE_MAKE_PROGRAM=nmake?

Also it appears that Windows 2022 doesn't install the graph module of boost. I can't tell if it's just not provided by the Chocolatey distribution or if I need to install an additional package. It also doesn't seem to be captured by rosdep. Any thoughts there?

@Levi-Armstrong
Copy link
Collaborator

What did you use to build instead? nmake? If so, would I just set -DCMAKE_MAKE_PROGRAM=nmake?

It is using nmake and I think that should be the default.

@marip8
Copy link
Collaborator Author

marip8 commented Apr 19, 2022

@Levi-Armstrong how did you get rosdep update to work with your tesseract build? If I run it here, I get an error AttributeError: module 'os' has no attribute 'geteuid' because that command is only available on Unix systems. There is an open PR to fix it but it hasn't been merged yet

@marip8 marip8 force-pushed the fix/windows-build branch 2 times, most recently from 508110e to d628dc9 Compare April 19, 2022 21:11
@Levi-Armstrong
Copy link
Collaborator

I am not sure what is going on with the windows CI build

@marip8
Copy link
Collaborator Author

marip8 commented Apr 25, 2022

I can get a successful build if I make it install ROS and source the setup.bat file, but I'm trying to eliminate that install to reduce time (and since ROS isn't needed to build this repo any more). But when I install the requisite dependencies "manually" with choco, the build system can't seem to find them. I wonder if there is something I'm missing in the setup.bat file that makes the install location of those packages visible to CMake. I tried manually setting CMAKE_PREFIX_PATH in the last commit, but it also didn't work

@Levi-Armstrong
Copy link
Collaborator

I can get a successful build if I make it install ROS and source the setup.bat file, but I'm trying to eliminate that install to reduce time (and since ROS isn't needed to build this repo any more). But when I install the requisite dependencies "manually" with choco, the build system can't seem to find them. I wonder if there is something I'm missing in the setup.bat file that makes the install location of those packages visible to CMake. I tried manually setting CMAKE_PREFIX_PATH in the last commit, but it also didn't work

Yea I ran into several issues like this. It is very touchy on how you install non ros dependencies and when you source ros, but the order does matter for some reason.

@marip8 marip8 merged commit 88f5c9f into swri-robotics:master Jun 17, 2022
@marip8 marip8 deleted the fix/windows-build branch June 17, 2022 20:56
choco install openblas -y --no-progress
choco install boost -y --no-progress
choco install eigen -y --no-progress
refreshenv
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This needs to be switched to call RefreshEnv.cmd calling refreshenv automatically exits the bash and never builds or runs the test.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good find. Now that you mention it, I do vaguely recall trying that in a prior attempt and seeing the same thing. I just opened #91 to address. I'll check that it actually builds before merging

Levi-Armstrong pushed a commit to Levi-Armstrong/descartes_light that referenced this pull request Jul 3, 2022
* Renamed windows build CI configuration file

* Set windows image to 2019 and use nmake
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants