-
Notifications
You must be signed in to change notification settings - Fork 26
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
make gool
does not work on Windows
#3549
Comments
@hrzhuang I agree that we want to be as cross platform as possible, but I'm not sure what the solution is. Do you have a proposal on how we could replace the UNIX symlinks? We don't want to do anything too time consuming or complex because linking to the external libraries the way we do is not likely to be a typical use case for Drasil in the long-term. Right now we build all of our cases studies, in all of the relevant languages, together. An actual use of Drasil would want to use the system to generate their own software, or software family. They wouldn't likely care about generating GlassBR, or swhs, etc. Eventually we would want a way to use Drasil that would generate just the software someone wished to generate, without it being fully integrated into the repo. The other issue your issue highlights is how we deal with external libraries. Right now we keep a copy of each external library and link to it. At some point this won't be feasible, since we could be adding many more external libraries. There will also come a point where we might need to keep multiple versions of the same library, since different programs might need different versions. At some point, we will want to do a proper design of how we handle external dependencies. If there is an easy fix for cross-platform capability, we should do it now. If it isn't an easy fix, we should probably postpone the task until we understand better how we wish to manage the generation of end-user programs and external dependencies. |
I actually found this Stack Overflow answer about enabling symlink support on Windows. I'm hoping some of us (i.e. @ManvendraJani, @harmanpreet-sagar, and @samm82) could try this and see if it works. After the configuration, it might be necessary to |
This sounds good @hrzhuang. I hope it works! I won't be able to test, since I don't have a Windows system, but several of our colleagues will be able to test. Fingers crossed. 😄 |
Do either @harmanpreet-sagar or @ManvendraJani work on Windows? The bigger issue is indeed to work with external libraries without having to copy them into Drasil. |
Using WSL will definitely simplify things for Windows users, but otherwise, Git Bash supports symbolic links, from what I've understood. We might need to add that instruction to the New Workspace Setup wiki page to tick off the "Enable Symbolic Links" option when installing Git Bash on Windows. |
@ManvendraJani and @harmanpreet-sagar have tried the instructions on their Windows computers and the symlinks now work. Note that after updating the settings, we need to re-clone the repository in order for them to take effect. It is not enough to just re-checkout the working tree. |
@hrzhuang great to hear that it worked! Can you please update the New Workspace Setup wiki page? |
I have updated the New Workspace Setup wiki page. If it looks good, then I think we can close this issue. |
@ManvendraJani and @harmanpreet-sagar can you please check the new content on the New Workspace Setup wiki page? Since you have Windows systems, and recently tested |
Looks good to me, but maybe we should clarify that this is only for windows as we do for other examples. Correction: at a second look, it is under the windows section |
Looks good to me! |
Since the symlinks now work with the instructions added to New Workspace Setup, I am closing this issue now. |
For examples that use
odelib
,odelib
is located using UNIX symlinks such asdatafiles/nopcm/cpp
(which points todatafiles/odelib/cpp
). However, these symlinks do not work on Windows under Git Bash. I'm not sure if it would work under Cygwin, but in any case I don't think we should be relying on UNIX symlinks in a repository that is supposed to be cross-platform.The text was updated successfully, but these errors were encountered: