Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

impl.containerfile tasks #1

Open
Unike267 opened this issue Dec 26, 2024 · 0 comments
Open

impl.containerfile tasks #1

Unike267 opened this issue Dec 26, 2024 · 0 comments
Assignees
Labels

Comments

@Unike267
Copy link
Owner

Intro:

Since f4pga/prjxray#2469, the build of the ghcr.io/Unike267/Containers/impl-arty container has been failing due to the version of Clang installed in the ghcr.io/hdl/impl/icestorm container. The Clang version does not support several features used in a recently added library in the yaml-cpp project (see f4pga/prjxray#2472).

Thanks to the information provided by @SGSSGene, it was discovered that the Clang version in this container is 11, while the newly added dragonbox.h library is only supported starting from Clang version 12 (see jbeder/yaml-cpp#1334).
To address this issue, I added the following code block to the impl.containerfile:

&& apt-get purge -y clang-11 \
&& curl -L -o llvm.sh https://apt.llvm.org/llvm.sh \
&& chmod +x llvm.sh \
&& ./llvm.sh 14 \
&& cd /usr/lib/llvm-14/bin \
&& for f in *; do rm -f /usr/bin/$f; ln -s ../lib/llvm-14/bin/$f /usr/bin/$f; done \
&& clang --version \

However, as discussed this morning with @umarcor, this solution is not elegant and might not work in all cases.

In addition to this, I am starting the container from impl/icestorm, which includes tools that I do not use for synthesizing Xilinx FPGAs. A more logical approach would be to start this container from an image that only has GHDL and Yosys installed.

We also discussed the possibility of generating a new image in https://github.com/hdl/containers, called something like ghcr.io/hdl/nextpnr/xilinx, with an updated version of Clang.

To-Do:

  • Regenerate the ghcr.io/Unike267/Containers/impl-arty container starting from an image with an updated GHDL+Yosys version.

OR

  • Create a new impl.containerfile starting from ubuntu:latest and install all required tools, including:
    • GHDL
    • GHDL Yosys plugin
    • Yosys
    • nextpnr-xilinx
    • prjxray

I will have to make one of two choices in the next few days.

Cheers!

@Unike267 Unike267 added the to-do label Dec 26, 2024
@Unike267 Unike267 self-assigned this Dec 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant