```FROM debian:sid WORKDIR /root RUN apt-get upd...
# general
m
Copy code
FROM debian:sid

WORKDIR /root

RUN apt-get update

RUN apt-get -y install git python3 make wget
RUN apt-get -y install build-essential m4 tcsh csh libx11-dev tcl-dev tk-dev libcairo2-dev mesa-common-dev libglu1-mesa-dev libncurses-dev
RUN git clone <https://github.com/RTimothyEdwards/magic>
RUN cd ./magic && ./configure && make -j"$(nproc)" && make install
RUN git clone <https://github.com/RTimothyEdwards/open_pdks>
RUN cd ./open_pdks && ./configure --enable-sky130-pdk && make -j"$(nproc)" && make install
The above Dockerfile fails to build. I'm trying to follow the generic instructions for installing these packages from their respective webpages, is there a different procedure that must be followed that is described somewhere?
Copy code
make[1]: *** [Makefile:824: all-A] Error 2
make[1]: Leaving directory '/root/open_pdks/sky130'
make: *** [Makefile:132: tech-sky130] Error 2
Tried to lock the most recent version of each package, got a different error:
Copy code
ConfigurationLoadError: Unable to load configuration file.
  path: /root/open_pdks/sources/sky130-pdk/env/conda/.condarc
  reason: invalid yaml at line 3, column 0

make[2]: Leaving directory '/root/open_pdks/sources/sky130-pdk'
make[2]: *** [/root/open_pdks/sources/sky130-pdk/third_party/make-env/conda.mk:145: /root/open_pdks/sources/sky130-pdk/env/conda/envs/skywater-pdk-scripts/bin/python] Error 1
make[1]: *** [Makefile:632: pdk-repo] Error 2
make[1]: Leaving directory '/root/open_pdks/sky130'
make: *** [Makefile:132: tech-sky130] Error 2
The command '/bin/sh -c cd ./open_pdks && git checkout 1.0.399 && ./configure --enable-sky130-pdk && make -j"$(nproc)" && make install' returned a non-zero code: 2
t
I have seen this problem before with the Google sky130-pdk repository. It has always resolved itself by running the build a second time. I don't know if that can be made to work with the dockerfile. Can it be set up to run "make" again if the first time through returns an error?
m
I resolved it by changing the source image from
debian:sid
to
ubuntu:latest
, and using the latest version tags. I suspect some kind of shell compatibility issue between debian and ubuntu.
t
I encounter this issue on my Debian laptop but not my Fedora desktop, so that sounds about right.
I talked to Sai Charan today and he uses
conda update -y conda
which apparently gets around the conda issue with sky130-pdk on Debian systems. Apparently it's just an issue with Conda version differences.
m
will stick with ubuntu for now but that's good to know that there might be an easy workaround to use debian. last time I checked ubuntu doesn't allow running a browser except through snap, which is not compatible with docker.