-
-
Notifications
You must be signed in to change notification settings - Fork 11
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
wrong version of ncurses #24
Comments
Yikes! It looks like there is a problem because in conda-build 3, the "build environment" installs ncurses version 5, but the "host environment" installs version 6. During the configuration process, cmake decides to link to the host environment's This all worked on my machine (and possibly others) because my Linux OS still provides version 5 of If I can get cmake to not search the "build environment" for shared library paths, that should fix things. Time to do some digging ... |
@conda-forge/staged-recipes Tagging since this problem could pop up and cause subtle problems for other cmake-using packages, I think. |
Ping @conda-forge/core |
You should be able to rerender the recipe to get the latest ncurses pinning. |
@scopatz I think the proximate problem here is that the recipe's pinning was newer than that used by some of the build-environment packages; although my local testing is suggesting that the build-env packages have caught up by now. Regardless, I'm pretty sure that nothing about this issue is specific to this particular package beyond its use of cmake, so I worry that comparable hard-to-detect issues will occur in the future. |
Does this mean we need to be faster getting packages onto the new pinnings? |
@CJ-Wright That would be nice and would help, I think, but there's always going to be some lag time given how the project operates. I think I have identified a pretty straightforward way to avoid the problem going forward, though. Testing is ongoing. |
Ah ok. The bot has some pin-shift-rebuild capabilities but they haven't been put into production yet. I'm trying to gauge need and such so I can do some prioritization. Attn: |
In [conda-forge GitHub issue conda-forge#24](conda-forge#24) there was a problem because CMake decided to link with a version of the ncurses library found in the "build environment" prefix, rather than the "host environment" -- the major versions were different and so the resulting binaries did not link against the major version intended in the recipe specification. As far as I can tell, the problem is that CMake decides that the "build environment" library directory should be searched for shared libraries, which is in turn because the build-env prefix shows up in the variable `CMAKE_SYSTEM_PREFIX_PATH`. We hack the CMakeLists.txt file to remove the relevant directory, which fixes the problem. As a bonus, a bunch of messages about libraries like `libz` being shadoweded between the build and host prefixes now go away. The [CMake docs](https://cmake.org/cmake/help/latest/variable/CMAKE_SYSTEM_PREFIX_PATH.html) say that you're not supposed to futz with this variable, but I couldn't find an alternative solution. It may be fixable by patching our cmake package -- although I don't have a good sense as to whether we might sometimes want the build-env prefix to be in `CMAKE_SYSTEM_PREFIX_PATH`.
OK @marxide, a build should be coming along that fixes this. BTW, in the CI output for the build behind the most recent deployed version, |
Many thanks! Latest build seems to fix this. |
A fresh install of casacore (currently 2.4.1) and python-casacore for python2.7 seems to point to the wrong version of ncurses. The casacore dependency is ncurses>=6.1,<6.2.0a0 but when attempting to import most casacore modules (e.g. casacore.tables), it seems to expect libncursesw.5 and I get the following error:
This was in a fresh environment created with
conda create -n casacore -c conda-forge python=2.7 casacore python-casacore
.Environment (
conda list
):Details about
conda
and system (conda info
):The text was updated successfully, but these errors were encountered: