You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
After upgrading to conan2, our binaries that link against ncurses are no longer able to properly use the library at runtime. With the old recipe of this package, ncurses was looking for the terminfo at /usr/bin/share/terminfo which has the correct info at least for our hosts. Now, it appears that it tries loading the data from //res/terminfo which is a non-existing path. The code compiles and links properly, this appears to be a runtime configuration issue entirely.
Click to expand log
Logs are on a company box that I can't copy from but this is the error our application prints when trying to init the terminal.
```
Error opening terminal: xterm-256color
```
strace was ran on the binary and I can confirm that it tries to check ~/.terminfo (which on my machine does not exist) then //res/terminfo (which also doesnt exist)
The text was updated successfully, but these errors were encountered:
It appears that this happens because the option --prefix=/ is the default with the AutotoolsToolchain recipe helper. This is then used to expand --datarootdir=${prefix}/res, which results in //res.
It appears that the way this conan package wants to be used is through the conanbuild.env and conanrun.env scripts to set the TERMINFO variable. I think that having to source an environment script before running or building is a fairly brittle solution.
ncurses has an option --with-default-terminfo-dir=DIR which could be used along with a recipe option to optionally enable forcing the standard system path (/usr/share/terminfo) into the list of paths to check.
I incorrectly stated that the old package was looking for the terminfo at /usr/share/terminfo it appears that we were actually improperly pulling the system wide ncurses that was properly configured so this issue would impact both old Conan1 and new Conan 1/Conan 2 recipes.
Description
After upgrading to conan2, our binaries that link against ncurses are no longer able to properly use the library at runtime. With the old recipe of this package, ncurses was looking for the terminfo at
/usr/bin/share/terminfo
which has the correct info at least for our hosts. Now, it appears that it tries loading the data from//res/terminfo
which is a non-existing path. The code compiles and links properly, this appears to be a runtime configuration issue entirely.Package and Environment Details
Conan profile
[settings]
os=Linux
arch=x86_64
compiler=gcc
compiler.version=8
compiler.libcxx=libc++
build_type=Release
[options]
[conf]
[build_requires]
ncurses/6.2
[env]
Steps to reproduce
conan install . -pr:a= -sbuild_type=Release
cmake --preset
cmake --build --preset --target install
./install/bin/
Logs
Click to expand log
Logs are on a company box that I can't copy from but this is the error our application prints when trying to init the terminal. ``` Error opening terminal: xterm-256color ```strace was ran on the binary and I can confirm that it tries to check
~/.terminfo
(which on my machine does not exist) then//res/terminfo
(which also doesnt exist)The text was updated successfully, but these errors were encountered: