Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

init: add terminfo dirs when installing GAPs browse #1891

Merged
merged 1 commit into from
Feb 2, 2023
Merged

Conversation

benlorenz
Copy link
Member

@benlorenz benlorenz commented Jan 30, 2023

I got hit by this error in the CI for libpolymake_julia here with the following error:

     Testing Running tests...
Error opening terminal: dumb.
ERROR: Package Oscar errored during testing

After various experiments I was able to reproduce this locally, but only when the Browse package does not already exist in ~/.julia/gaproot/v4.12/pkg/Browse-1.8.20 (either running make clean in the folder or removing it might help). The first try to start Oscar then fails with the above error, retrying it a second time works fine, the reason is probably that once it is installed the Browse package is loaded during initialize via GAP.jl which does use the same withenv that I am adding here, see here.

I still don't understand why this only appeared now when trying to update polymake_jll as this should always be required when loading Browse (i.e. Ncurses_jll).

On a different machine I was unable to reproduce this because Browse failed to install because it couldn't find panel.h, it does seem to only search in the system include and library directories when building it according, e.g.:

cc -g -O2 -fPIC -o /tmp/gac5PlmKrk/1327_ncurses.o -I/home/datastore/lorenz/software/julia/depot/artifacts/a7a51f050ae9f280687f459aa628ab00b6907075/include/gap -I/home/datastore/lorenz/software/julia/depot/scratchspaces/c863536a-3901-11e9-33e7-d5cd0df7b904/gap_11666353854719087970_1.8 -DUSE_JULIA_GC=1 -c src/ncurses.c
src/ncurses.c:27:17: fatal error: panel.h: No such file or directory
#include        <panel.h>
^~~~~~~~~
compilation terminated.
gmake: *** [Makefile:16: bin/x86_64-pc-linux-gnu-julia1.8-64-kv8/ncurses.so] Error 1

WARNING: Failed to build Browse-1.8.20

Once Oscar is running one can see that the system-ncurses library seems to get pulled in addition to the jll version:

julia> showall(dllist())
...
"/home/lorenz/.julia/artifacts/d56f6bc8675ad021bf8070a7bce573e3fbe2e737/lib/libncursesw.so.6"
"/home/lorenz/.julia/artifacts/d56f6bc8675ad021bf8070a7bce573e3fbe2e737/lib/libmenu.so"
"/home/lorenz/.julia/artifacts/d56f6bc8675ad021bf8070a7bce573e3fbe2e737/lib/libpanel.so"
...
...
"/home/lorenz/.julia/artifacts/a7a51f050ae9f280687f459aa628ab00b6907075/lib/libgap.so"
 "/lib64/libutil.so.1"
"/home/lorenz/.julia/artifacts/3178f2673dfbca96a1b950d66be9d4b60f1268f6/lib/gap/JuliaInterface.so"
 "/home/lorenz/.julia/gaproot/v4.12/pkg/Browse-1.8.20/bin/x86_64-pc-linux-gnu-julia1.8-64-kv8/ncurses.so"
 "/usr/lib64/libpanel.so.6"
 "/lib64/libncurses.so.6"
 "/lib64/libtinfo.so.6"
...

This probably contributes to this not being a more widespread problem.

And I guess all this will be irrelevant once we finally get a jll for Browse.

cc: @fingolfin

PS: I also need this branch (with this name) to check whether this change fixes the CI mentioned at the beginning. Tests done.

Edit: Tests are successful now for libpolymake_julia when using this downstream branch.

@benlorenz benlorenz marked this pull request as ready for review January 31, 2023 07:29
@benlorenz benlorenz requested a review from fingolfin February 1, 2023 09:04
@benlorenz benlorenz merged commit 80b53b3 into master Feb 2, 2023
@benlorenz benlorenz deleted the bl/pm49 branch February 2, 2023 17:21
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants