-
Notifications
You must be signed in to change notification settings - Fork 18
297 Relocate qt.conf after conda-unpack for Windows #300
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
Conversation
This is needed especially for qt.conf patching
Nice, thanks. Did you ever check if linux has this conf file? I wonder if this is a bug in conda-pack that should be fixed where it isn't detecting the paths in the qt.conf file on Windows. |
So I just downloaded the 1.1.3 tarball, unpacked it, and looked at
|
Side question: Where did |
Ok best I can see this is a problem because on Windows
So it probably detects a text file that isn't in the bin dir and skips over it. Edit: Top of the module:
|
So found some new evidence that this may be an unfortunate configuration choice of conda-forge. They seem to create the qt.conf file in https://github.com/conda-forge/qt-feedstock/blob/master/recipe/write_qtconf.bat Here is the qt.conf they use for linux but not sure this is the same one that is used on Windows: https://github.com/conda-forge/qt-feedstock/blob/master/recipe/qt.conf |
297 comes from the ticket number. Do we know if there's a deliberate reason these files are getting splashed into the base directory when unpacking, e.g. softlinks that are being added, which are getting turned into copies during archival? And if that's the case, is the better solution to ensure that the right binaries, scripts, config files, and DLLs are being used (from Library/bin rather than base)? |
Closes #297. There now it is linked. I have a feeling it is softlinks or something of the sort. In what I'm seeing |
It would seem this PR, with the custom solution for updating qt.conf, is not needed and instead we could run:
which is the conda-forge activation script for the Qt library. Why it isn't run in the conda-pack environment I'm not sure yet. |
They are apparently supposed to be run as part of conda's activation: https://docs.conda.io/projects/conda-build/en/latest/resources/link-scripts.html |
Ok I have finally figured this out. I couldn't let this problem go. This is not necessary a bug in conda-forge's decisions or in conda-pack but rather in a limitation of conda-pack for handling certain paths on Windows. The paths in qt.conf as-is are:
conda-pack searches for an old prefix with
with these lines:
In
|
Or...since we have control of the environment before conda-packing it, we could find/replace these exact paths in qt.conf to use |
Supersceded by #302 |
This fixes inability to start the bundled form of SIFT on Windows. Tested in a VM by manually adding to SIFT 1.1.3 test bundle, so it may yet need addition to any manifest for the bundle build (have not found one so far).