Closed CodingCellist closed 3 years ago
I think I see the problem, pathLookup
in Chez.idr
has a list of possible Chez Scheme names and chez-scheme
isn't on it. the SCHEME env variable is only used during the bootstrap. Not taking that into account for the resulting compiler doesn't make a whole lot of sense. But we would have to add that in a generated file in the build process, though. Luckily we already generate IdrisPaths.idr
, and it would be a good fit there.
There is a way to override the path lookup in the meantime. Set the environment variable CHEZ
to the path to the Chez Scheme executable. A bit ugly, but maybe it will do until we can get a patch in.
@melted I encounter the same error. I install chez scheme on /akariDown/ChezScheme
from source and the executable name is scheme, but according to pathLookup
in Chez.idr
, it should be found. Setting CHEZ
also fails. It seems this cause isn't same.
On step 'Installing without an existing Idris 2', I type sudo make bootstrap SCHEME=/akariDown/ChezScheme/bin/scheme
.
The command /usr/bin/env scheme
works well.
Which step I miss?
Environment:
/akariDown/Idris2/.idris2/bin
on PATH
and /akariDown/Idris2/.idris2/lib
on LD_LIBRARY_PATH
/akariDown/ChezScheme/bin
on PATH
and CHEZ
@Mizobrook-kan Just a check, isn't there a subdirectory for machinetype in the path to your scheme? Like akariDown/ChezScheme/bin/ta6le/scheme
@melted Machinetype folder is on source code folder /akariDown/ChezScheme-9.5.4/ta6le/bin/ta6le/scheme
, not on installed path. This path is built by ./configure
.
Change environment variable to this?
@melted I find file /akariDown/ChezScheme-9.5.4/ta6le/bin/scheme
is that file you mention, it links to ta6le/scheme
which type is shared library as same as akariDown/ChezScheme/bin/scheme
, but make also fails when I change environment to /akariDown/ChezScheme-9.5.4/ta6le/bin
.
Should I place the contents in /akariDown/ChezScheme-9.5.4/ta6le/bin
to akariDown/ChezScheme/bin
?
I try to install chezscheme via apt, and now I know why command not found. Thanks. @melted
If you want to open a PR to fix this, cf. #1589 for the modifications
that need to be made. Ideally you'd also modify libs/test/Test/Golden.idr
so that the change is also used there.
I wonder whether we could be a bit sneaky and use a little bit of
magic to add the SCHEME
that was used to make bootstrap
to the
list of blessed names.
Either by patching the code before compilation, or by recording the
value somewhere (e.g. in an ~/.idris2/conf
) so that we may look
it up later when we fail to find the chez we're looking for.
On my system, Chez Scheme gets installed as the binary
chez-scheme
. When trying to runmake bootstrap SCHEME=chez-scheme
the build initially seems to proceed without issues, but then errors with the following messages:It seems that despite specifying
SCHEME=chez-scheme
, some internals in the bootstrap tests have Chez Scheme hardcoded toscheme
?Setup:
$HOME/.idris2/bin
was on myPATH
and$HOME/.idris2/lib
was onLD_LIBRARY_PATH
as per the instructions in INSTALL.md