Comments (5)
sid is part of tendra, but you shouldn't need this to build from a clean checkout. You might try touching the .c and .h output files (they're intended to be checked in) to get further now. If that still fails, it's possible recent libre changes forgot to regenerate these files.
Edit: Either way, should look into this. Will try to repro later this morning if someone else doesn't.
from libfsm.
I god it to build! Thanks @dhobsd for giving the hint to touch .c and .h files. I restored src/libre/dialect/glob/parser{.c|.h}
4 times from HEAD.
Now I am curious if the binary works :)
from libfsm.
This is a common problem with Git, especially on systems where both the file system and make support sub-second resolution for file modification time. When cloning a repository, Git will not do anything special with the file mtimes, they correspond to the time the file was written, and files are not guaranteed to be written in any particular order. Generated files may be written before their sources, triggering spurious regenerations if make detects this as an outdated generated file.
There are generally two ways around this in a Git repo:
- Provide a way to set all repository file modification times to the same value. On a git checkout, this can be done with
git ls-files | xargs touch -r <file>
, where<file>
is any file you like, to set all files to the same mtime. This is not generally safe, as file names may contain characters that need special handling, but is safe for libfsm, as it does not contain any such file. A safer alternative isgit ls-files -z | xargs -0 touch -r <file> --
, butxargs -0
is not universally supported. - Provide a way to disable the make rules for regenerating files. This is something seen in autoconf/automake, where you can specify --enable-maintainer-mode to enable such rules, or --disable-maintainer-mode to disable them, see https://autotools.io/automake/maintainer.html. In make, this could be achieved by adding logic to respond to a
MAINTAINER_MODE=0
variable. Any other name would work equally well.
Alternatively, this can be done by not cloning from Git, but instead using Github's functionality to download a tarball or zip file, and extracting that. This works because the tarball/zip file will mark every file with the same modification time.
from libfsm.
from libfsm.
equivalent issue for tendra: tendra/tendra#44
from libfsm.
Related Issues (20)
- Unhandled `TOK_ERROR` for incompletely parsed unsupported backtracking control flags HOT 1
- Completion of error handling HOT 4
- The IR tests are currently disabled
- Attempt to build for Windows HOT 7
- bug: non-minimal DFA produced by fsm_minimise HOT 3
- CI fails for documentation build HOT 2
- lexing for pcre comments is slightly incorrect HOT 2
- retest: goasm backend is bizarrely flaky HOT 1
- Seg Fault when Using libre as Shared Library due to reg_comp Name Conflict HOT 5
- re_is_literal() is ambigious for \Z, \z, $
- We accidentally lost the ability to detect ambiguities HOT 4
- Allow escaped closing square bracket in character range
- CI fuzzing corpus "resource not accessible by integration" for PRs from external clones
- Case-insensitive regexps erroneously identified as literals
- lx: Bus error/Segmentation Fault on malformed input HOT 2
- libfsm fails to build with newer versions of bmake (versions after 2022) HOT 2
- Grammar railroad diagram HOT 1
- Add function for which characters an FSM's input must contain to match
- Feature request: Add support for embedded NUL bytes in PCRE patterns HOT 1
- RE_SINGLE (and other flags) break re_is_literal
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 libfsm.