Hi all, I am trying to use container less insallat...
# sky130
k
Hi all, I am trying to use container less insallation of OpenLane and PDK. I was able to successfully install OL however I fail with the PDK. After make timing I got something like this
b
As far as I know, the pdk is installed outside the container even when we do a dockerized installation of OpenLane. I think you can independently install the pdk in a convenient folder and then give its location. (I don't know if just providing
PDK_ROOT
is enough for a container-less Openlane. So, please forgive me if I am misleading.)
k
Hi @User so the problem is that I fail to pull the docker image so I have decided to make it containerless
make openlane and make pdk booth depend on the docker
I think there is en issue with docker and Centos 7 because on my ubuntu machine it works well
b
I think
make openlane
alone depends on the docker. Please correct me if I am wrong.
k
Copy code
./configure --enable-sky130-pdk=/home/asic/pdks/skywater-pdk/libraries --enable-sram-sky130=disabled"
Unable to find image 'efabless/openlane:2021.10.25_20.35.00' locally
Trying to pull repository <http://docker.io/efabless/openlane|docker.io/efabless/openlane> ... 
/usr/bin/docker-current: manifest for <http://docker.io/efabless/openlane:2021.10.25_20.35.00|docker.io/efabless/openlane:2021.10.25_20.35.00> not found.
See '/usr/bin/docker-current run --help'.
make: *** [build-pdk] Error 125
here is the log whetn make pdk fails
so it depends on the docker
b
But in the Makefile (here: https://github.com/The-OpenROAD-Project/OpenLane/blob/master/Makefile) Only the target
openlane
uses
docker pull
. The pdk is installed by cloning git repos. I installed my pdks (skywater-pdk and open-pdks) separately in a folder I named
~/OpenEDA
- following the steps here: http://opencircuitdesign.com/open_pdks/index.html I installed this separately because I wanted to setup an Analog design flow. When I run my digital flow, I set
~/OpenEDA
as my
PDK_ROOT
and it works fine as long as the versions are compatible. @User can probably comment on this.
k
@User could You please give us hint on that ?
m
@User Have you tried to remake the docker container. From the openlane directory
Copy code
cd docker_build
make merge
k
no have not
lets give it a try
Copy code
make merge
for tarFile in tar/klayout.tar.gz tar/cugr.tar.gz tar/drcu.tar.gz tar/yosys.tar.gz tar/magic.tar.gz tar/openroad_app.tar.gz tar/padring.tar.gz tar/netgen.tar.gz tar/vlogtoverilog.tar.gz tar/cvc.tar.gz; do \
  tar -xzf $tarFile ; \
done
chmod -R +x ./build/bin
find ./build/ -name "*.tcl" -exec chmod +x {} \;
cd tar && tar -czf openroad_tools.tar.gz ../build
tar: Removing leading `../' from member names
cd tar && tar --exclude='../../.git' --exclude='../../docker_build' --exclude="../../designs" --exclude="../../pdks" --exclude="../../logs/*" -czf openlane.tar.gz ../../
tar: Removing leading `../..' from member names
tar: Removing leading `../../' from member names
cat ../dependencies/tool_metadata.yml > ./tar/tool_metadata.yml
cat ../dependencies/python/run_time.txt > ./tar/pip_dependencies.txt
cat ../dependencies/centos-7/run_time.txt > ./tar/yum_dependencies.txt
mkdir -p logs/docker/tar
docker build --build-arg CACHE_INVALIDATOR=1635613520 --rm -t efabless/openlane:current -f ./docker/openlane/Dockerfile ./tar | tee logs/docker/tar/openroad_tools.tar.gz.build.txt ; \

unable to prepare context: The Dockerfile (/home/asic/OpenLane/docker_build/docker/openlane/Dockerfile) must be within the build context (./tar)
it is strange because I have the previous version of OL working on that machine \
I wanted to install the new one but the docker pull files. I am not upgrading the old version, justo clone the new OL into new directory
@User
m
Sorry, no other ideas at the moment.
k
ok thank You for the interest