Comments (9)
Character 2646 on master is 0x1a
, "substitute". Why this is a syntax error on Windows is beyond me.
More generally, that file is indeed burdensome because it contains all 256 bytes, verbatim, as notations for the corresponding bytes in coq.
from bedrock2.
It might be a git issue. On Windows with default git settings of most Windows git distributions I came across a checkout will do LF -> CRLF replacement. So unless you (or someone else) did something to avoid this, you wont get the same file as on Linux. You can try on Linux with the file run through linux to dos conversion. In CI you might want to compute a hash of the file to see if it is unmodified.
from bedrock2.
https://github.com/mit-plv/bedrock2/runs/8252014741?check_suite_focus=true#step:6:191 2646 == 0xa50 + 6
-- looks like it's 0x1a
on Windows as well, with just a LF at the end of that line as far as cygwin hexdump
is concerned.
Edit: sha256 computed by windows tools on CI and linux tools on my computer also matches https://github.com/mit-plv/bedrock2/runs/8252328897?check_suite_focus=true#step:3:14
from bedrock2.
@andres-erbsen : Looks indeed good. Github has reasonable defaults then and we can exclude this as root cause (which is important since it can also lead to local / CI deviations).
Another thought: it might be that coq reads files on Windows in text mode (which is the default for all character based I/O on WIndows - one has to give special, from Unix deviating options, to avoid this). I always though that this replaces CR/LF with LF, which would not hurt since this file has no CR/LF combinations (only a single CR). But it might be that it just strips CR characters altogether. Can you see if you get the same error on Linux if you strip the CR character in the file?
If this is the root cause, one could either escape the CR somehow or one would have to disable text mode in Coq.
from bedrock2.
Removing \r
does not produce an error on Linux.
from bedrock2.
OK, I will do some tests on Windows over the weekend.
from bedrock2.
Fixed in 7c6a089
from bedrock2.
@andres-erbsen : out of curiosity of a multi platform Coq maintainer: what was the root cause? It is not obvious from the fix.
from bedrock2.
There are two issues:
- coq/coq#16470 It seems like Coq isn't capable of parsing files containing ASCII substitute, IIRC (charcter 26 / 0x1A), or ends the file at Escape (27 / 0x1B) on Windows
- coq/coq#16576
from bedrock2.
Related Issues (20)
- Using multiple return values HOT 2
- Why does bedrock2 use `Load`? HOT 2
- Please create a tag for Coq 8.16 in Coq Platform 2022.09 HOT 6
- bedrock2 lightbulb example is incompatible with native_compute HOT 5
- Less Memory-Hungry, More Principled Solution for Decidable Side-Conditions HOT 2
- Failing in coq CI HOT 1
- `make` should not run `coq` and `cc` when there's nothing to be done
- Update tested is failing with rate limits HOT 2
- Bedrock2 is broken on Coq's CI HOT 1
- Please pick the version you prefer for Coq 8.17 in Coq Platform 2023.03 HOT 2
- Please pick the version you prefer for Coq 8.17 in Coq Platform 2023.03 HOT 2
- design: outputting bitwidth-generic code? HOT 7
- design: core functionality of RecordPredicates? HOT 4
- Unbound value Int.land HOT 2
- Please pick the version you prefer for Coq 8.18 in Coq Platform 2023.10 [coq-bedrock2] HOT 2
- Please pick the version you prefer for Coq 8.18 in Coq Platform 2023.10 [coq-bedrock2-compiler] HOT 2
- install target is unusable when sudo doesn't have access to coqc HOT 4
- [coq-bedrock2] Please create a tag for Coq 8.19 in Coq Platform 2024.01
- [coq-bedrock2-compiler] Please create a tag for Coq 8.19 in Coq Platform 2024.01
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bedrock2.