-
Notifications
You must be signed in to change notification settings - Fork 20
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
symlinks and paths on windows #11
Comments
PS. After changing all four locations using Without admin privileges liblilv falls back to use hardlinks. That works only for the first step: The link to externals is created correctly if the file is on the same drive. However the 2nd hardlink from the plugin's state-folder to |
Should be properly fixed as of 1ca6608 (actual fixes in various bits throughout the preceding 8 commits or so). In the process I removed the symlink thing entirely and just use hard links there. |
tl;dr: two bugs which work around each other. no change required.
liblilv hardcodes foward-slash
'/'
as separator in two places.https://github.com/drobilla/lilv/blob/4b298e4c7fa74836d023726185dfb2325d675c51/src/util.c#L377
https://github.com/drobilla/lilv/blob/4b298e4c7fa74836d023726185dfb2325d675c51/src/state.c#L264
This has the effect that when using abstract_path() on windows
pm->abs
==pm->rel
== full absolute path.So creating sylinks fails
On the upside,
pm->rel
is used in the state.ttl . Currently that is the absolute path and state save/load works (!).This leads to a second issue. When fixing this by using
LILV_DIR_SEP[0]
in the places shown above, the state-file only contains the filenamepm->rel
. This is just like on unix-systems.However creating symlinks usually fails on windows. The referenced file does not exist in the state-dir and the state is not be loaded correctly. The solution here, liblilv should use the absolute path when symlink creation fails.
The text was updated successfully, but these errors were encountered: