OSVR / OSVR-General

Catch-all project for issues and information not specific to a single repo
10 stars 7 forks source link

Boxstarter considered harmful #2

Closed jherico closed 6 years ago

jherico commented 9 years ago

Boxstarter appears to be a great tool for automated setup of a fresh box with a bunch of dependencies needed for development or for CI. For experienced developers, not so much. When i started running the recommended executable, I ended up killing it when I realized it was attempting to uninstall my existing Git installation.

On this page I would much rather see a comprehensive list of dependencies and minimum versions than a suggestion that I go and start a Boxstarter install which could easily start downloading things I already have, or worse, mess up my configuration. In particular the installation of Git in some of the boxstarter scripts seems to want to install the tool with a specific set of setup parameters about what gets injected into the system path and how it deals with line endings. I already have Git installed and I'd rather not having it invisibly changed underneath me. I also already have installations of Boost and OpenCV, so I'd rather not be re-downloading them to some location other than the one I've put them at.

For upstream dependencies where you feel you need a specific or custom version, I might suggest looking to the CMake ExternalProject functionality. For anything else, just a list of libraries / versions required would be preferable.

VRguy commented 9 years ago

Makes sense. We should have 2a. install with Boxstarter as we have today or 2b. install the following dependencies: (and then list them)

rpavlik commented 9 years ago

Thanks for the feedback - happy that experienced developers are working with the library, sorry you hit this. You're right that Boxstarter's actions are a bit unexpected for an experienced dev, and I need to revise the wiki page that probably told you to run boxstarter (on wiki.osvr.com), since it's out of date.

We actually already have a page with a simpler list of dependencies and steps: https://github.com/OSVR/OSVR-Core/wiki/Windows-Build-Environment - it basically breaks down the steps that Boxstarter did so you can do them yourself, if you like. Unfortunately finding dependencies on Windows tends to be much harder than on Linux or Mac, which is another advantage of using at least Chocolatey, if not boxstarter+chocolatey, to install some of the deps: it puts them in a reliable location that we can find easily. However, you should be able to even follow the https://github.com/OSVR/OSVR-Core/blob/master/doc/Building.md page and get it to work, as long as you're comfortable configuring and building a CMake project. (When I wrote that Boxstarter script, an important portion of the audience wasn't and was thus getting hung up on dependencies.)

We actually use the CMake ExternalProject script to do the Android build: https://github.com/OSVR/OSVR-Android-Build and have some (but not all - probably should pull in at least libfunctionality) of the OSVR-Core dependencies being built simply as nested projects in submodules on all platforms.

jherico commented 9 years ago

Thanks for the update. Currently my HDK is sitting in it's box until I can get more information on the sensics render manager and direct mode support.

VRguy commented 9 years ago

For RenderManager examples (including source code), please take a look at resource.osvr.com/public_downloads/osvrRenderManager_0_6_5.msi

This is being updated every couple of days, but it includes some DirectX and OpenGL demos

jherico commented 9 years ago

That link is just returning a 403 (access denied) to me.

On Mon, Oct 12, 2015 at 7:55 PM Yuval Boger notifications@github.com wrote:

For RenderManager examples (including source code), please take a look at resource.osvr.com/public_downloads/osvrRenderManager_0_6_5.msi

This is being updated every couple of days, but it includes some DirectX and OpenGL demos

— Reply to this email directly or view it on GitHub https://github.com/OSVR/OSVR-General/issues/2#issuecomment-147580784.

VRguy commented 9 years ago

Sorry for the incorrect URL. This should work: http://resource.osvr.com/public_download/RenderManager/osvrRenderManager_0_6_5.msi

jherico commented 9 years ago

The readme for the rendermanager suggests I need a custom nVidia display driver (or possibly that I need to customize a white list of direct mode supported displays). Where is this driver, or information on how to customize the white list? How was I supposed to find this render manager download in the first place?

rpavlik commented 6 years ago

Think we've de-emphasized boxstarter now.

Don't need a custom display driver anymore because the drivers have been updated, and NVIDIA wouldn't let us share the info on how to add things without a new driver in any case. If anybody finds docs that imply you need to follow such a procedure, they're out of date and should be corrected. Will try to approve pull requests quickly.