Hi there,
It doesn’t seem possible to cleanly build flashrom without installing a TON of dependencies. The build assumes sphinx-build is present, and shits a brick once it can’t find it. This is not user-friendly behavior.
CC: Thomas who knows this part best.
Hey Alex, Thanks for the report! My impression was that if the dependencies are not found documentation should not be built, it should be optional.
Was this via the Makefile or meson and was this Tip of Tree or a release tarball? Could you also provide a log of what happened there?
Cheers, Edward.
On Fri, 7 Apr 2023 at 07:33, Alex Perez via flashrom flashrom@flashrom.org wrote:
Hi there,
It doesn’t seem possible to cleanly build flashrom without installing a TON of dependencies. The build assumes sphinx-build is present, and shits a brick once it can’t find it. This is not user-friendly behavior. _______________________________________________ flashrom mailing list -- flashrom@flashrom.org To unsubscribe send an email to flashrom-leave@flashrom.org
Hi Alex,
This is definitely not intended behaviour: sphinx is optional. If it is not present, flashrom can be built, just without docs. I didn't have sphinx locally for a while, and was building the sources without it. Only installed it very recently, because I started to add docs.
Can you tell exactly how you are building? Logs maybe? I want to help.
Yea, there is a error in the Makefile logic which requires sphix when run 'make [all]'. I'll fix this.
To mitigate this in the meanwhile you can comment out Makefile line 1035 'FLASHROM_VERSION=$(VERSION) $(SPHINXBUILD) -b man doc .'
Please be aware, that we are in the process of switching to the meson build system and the Makefile might be removed in the near feature.
-- Thomas
On April 7, 2023 6:01:59 AM GMT+02:00, Anastasia Klimchuk aklm@chromium.org wrote:
Hi Alex,
This is definitely not intended behaviour: sphinx is optional. If it is not present, flashrom can be built, just without docs. I didn't have sphinx locally for a while, and was building the sources without it. Only installed it very recently, because I started to add docs.
Can you tell exactly how you are building? Logs maybe? I want to help.
-- Anastasia. _______________________________________________ flashrom mailing list -- flashrom@flashrom.org To unsubscribe send an email to flashrom-leave@flashrom.org
You should also be able to just say "make flashrom" instead of just "make" or "make all"
On Thu, Apr 6, 2023 at 10:42 PM Thomas Heijligen src@posteo.de wrote:
Yea, there is a error in the Makefile logic which requires sphix when run 'make [all]'. I'll fix this.
To mitigate this in the meanwhile you can comment out Makefile line 1035 'FLASHROM_VERSION=$(VERSION) $(SPHINXBUILD) -b man doc .'
Please be aware, that we are in the process of switching to the meson build system and the Makefile might be removed in the near feature.
-- Thomas
On April 7, 2023 6:01:59 AM GMT+02:00, Anastasia Klimchuk < aklm@chromium.org> wrote:
Hi Alex,
This is definitely not intended behaviour: sphinx is optional. If it is not present, flashrom can be built, just without docs. I didn't have sphinx locally for a while, and was building the sources without it. Only installed it very recently, because I started to add docs.
Can you tell exactly how you are building? Logs maybe? I want to help.
flashrom mailing list -- flashrom@flashrom.org To unsubscribe send an email to flashrom-leave@flashrom.org
On Fri, 7 Apr 2023 at 15:52, Stefan Reinauer stefan.reinauer@coreboot.org wrote:
You should also be able to just say "make flashrom" instead of just "make" or "make all"
Stefan,
I think the longer term intent is to EOL the Makefile in favour of meson. The last release was about feature parity between the two build systems. Thomas did heaps and heaps of work to knock all that meson stuff into great shape. Thomas can speak in more precise terms about the timelines since he owns this whole area and knows tons about the minutiae.
Alex,
An alternative is to suggest using meson if at all possible? If there are any blocks I suspect Thomas would be keen to know.
Kindest Regards, Edward.
On Thu, Apr 6, 2023 at 10:42 PM Thomas Heijligen src@posteo.de wrote:
Yea, there is a error in the Makefile logic which requires sphix when run 'make [all]'. I'll fix this.
To mitigate this in the meanwhile you can comment out Makefile line 1035 'FLASHROM_VERSION=$(VERSION) $(SPHINXBUILD) -b man doc .'
Please be aware, that we are in the process of switching to the meson build system and the Makefile might be removed in the near feature.
-- Thomas
On April 7, 2023 6:01:59 AM GMT+02:00, Anastasia Klimchuk < aklm@chromium.org> wrote:
Hi Alex,
This is definitely not intended behaviour: sphinx is optional. If it is not present, flashrom can be built, just without docs. I didn't have sphinx locally for a while, and was building the sources without it. Only installed it very recently, because I started to add docs.
Can you tell exactly how you are building? Logs maybe? I want to help.
flashrom mailing list -- flashrom@flashrom.org To unsubscribe send an email to flashrom-leave@flashrom.org
On Fri, Apr 7, 2023, 03:42 Edward O'Callaghan quasisec@google.com wrote:
On Fri, 7 Apr 2023 at 15:52, Stefan Reinauer stefan.reinauer@coreboot.org wrote:
You should also be able to just say "make flashrom" instead of just "make" or "make all"
Stefan,
I think the longer term intent is to EOL the Makefile in favour of meson. The last release was about feature parity between the two build systems. Thomas did heaps and heaps of work to knock all that meson stuff into great shape. Thomas can speak in more precise terms about the timelines since he owns this whole area and knows tons about the minutiae.
That is absolutely great! However, the documentation (README at least) doesn't make any mention of meson but has five + examples of how to run make and since that is what Alex was using I tried to provide a solution for the issue he was seeing rather than migrating him to a new, undocumented build system just yet (that, I have to admit, I have not used myself either)
Is there any documentation on how to tweak all (or the most important) of flashrom's knobs with meson?
Stefan
Alex,
An alternative is to suggest using meson if at all possible? If there are any blocks I suspect Thomas would be keen to know.
Kindest Regards, Edward.
On Thu, Apr 6, 2023 at 10:42 PM Thomas Heijligen src@posteo.de wrote:
Yea, there is a error in the Makefile logic which requires sphix when run 'make [all]'. I'll fix this.
To mitigate this in the meanwhile you can comment out Makefile line 1035 'FLASHROM_VERSION=$(VERSION) $(SPHINXBUILD) -b man doc .'
Please be aware, that we are in the process of switching to the meson build system and the Makefile might be removed in the near feature.
-- Thomas
On April 7, 2023 6:01:59 AM GMT+02:00, Anastasia Klimchuk < aklm@chromium.org> wrote:
Hi Alex,
This is definitely not intended behaviour: sphinx is optional. If it is not present, flashrom can be built, just without docs. I didn't have sphinx locally for a while, and was building the sources without it. Only installed it very recently, because I started to add docs.
Can you tell exactly how you are building? Logs maybe? I want to help.
flashrom mailing list -- flashrom@flashrom.org To unsubscribe send an email to flashrom-leave@flashrom.org
I really like how we collectively debugged the issue and identified the root cause, even without Alex responding. This is so cool, thanks everyone! <3
Alex,
Yes it's true that makefile will be deleted soon, probably later this year. It's a very good time to switch to meson, and please complain if anything doesn't work for you, feedback is very welcome.
The first few paragraphs of README "Build Instructions" introduce meson and redirect to the documentation at /Documentation/building.md.
Also because documentation is active WIP at the moment, after patch https://review.coreboot.org/c/flashrom/+/73359 will be merged, it will be moved to doc/dev_guide/building_from_source.rst
I admit those first few paragraphs of README (which I added in December 2022) have room for improvement. Also the whole README has room for improvement, and we are planning to take care of it soon.
I noticed you complained about
It doesn’t seem possible to cleanly build flashrom without installing a TON of dependencies
Some of the dependencies are optional and only needed if certain programmers are needed. But I feel maybe you got grumpy at sphinx-build and it was the last straw. As I mentioned before, if you build with meson, sphinx-build is optional. All the docs in doc/ directory are in .rst format which is easily readable by the human eye, so fetching the source code will be sufficient to read the docs.
And of course, you are always welcome to send a patch. Good luck and tell us how it goes!
Also if the situation is desperate for someone, Thomas made a patch: https://review.coreboot.org/c/flashrom/+/74519 You can cherry-pick it, or wait for it to get merged.