这是indexloc提供的服务,不要输入任何密码
Skip to content

Conversation

@robertkirkman
Copy link
Member

PACKAGES+=" bison"

  • Many Termux packages, for one example mesa, cannot be built without having bison installed, rather than byacc

- Partial fix (one part of the fix for) termux#21658

- Partially reverts termux@cd151f2

- The Ubuntu termux-package-builder docker container contains `bison`, **not** `byacc`

https://github.com/termux/termux-packages/blob/dfb980969307f853d1ce6f3eab4b49358623526d/scripts/setup-ubuntu.sh#L33

- Many Termux packages, for one example `mesa`, cannot be built without having `bison` installed, rather than `byacc`
@robertkirkman
Copy link
Member Author

Thank you! I will merge it in 24 hours from now, and after this, if the package that requires byacc is found once more, please ping me and I will try to fix it. I believe that whatever method the termux-package-builder image uses to build such a hypothetical byacc-depending package should be adapted to on-device builds as well, for more consistency.

Copy link
Member

@thunder-coding thunder-coding left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good, I don't do ondevice builds anymore at all now so can't test

- Fixes this error when building `nethack` on-device: `make: lex: No such file or directory`

[no ci]
@robertkirkman robertkirkman requested a review from TomJo2000 as a code owner June 6, 2025 08:27
@robertkirkman
Copy link
Member Author

robertkirkman commented Jun 6, 2025

There are basically also some other mismatches between setup-termux.sh and setup-ubuntu.sh other than bison/byacc that need to be fixed separately, but because it's hard to precisely identify and create solutions for all of them at once, I would like to do them one at a time, so I am keeping this specific PR focused on bison/byacc.

In the repository, there are only two packages that reference byacc, zmap and nethack. zmap builds on-device pretty much fine after this change (with relation to byacc/bison), but nethack does actually get an error when building on-device that has a cause in the vicinity of its bison patch: make: lex: No such file or directory. The root cause of the problem is actually that two of nethack's patches should be .beforehostbuild patches so that they are applied during the on-device host-build to solve compilation errors, which does technically include making sure it always calls bison -y as intended instead of yacc (which is otherwise, after this change, a wrapper around bison -y). Therefore, for completeness, I will add a commit fixing on-device building of nethack into this PR.

@robertkirkman robertkirkman merged commit b3db4a3 into termux:master Jun 7, 2025
robertkirkman added a commit that referenced this pull request Nov 6, 2025
…hronize `setup-termux.sh` closer to `setup-ubuntu.sh`

- Follow-up to #24977

- Fixes #26373

- Split from #23652 because it does not really depend on the other things in that PR and it is now needed separately
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants