-
Notifications
You must be signed in to change notification settings - Fork 210
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
DRC error with conda environment #1263
Comments
Any ideas @proppy? |
0.27.4 is very old. Do you have change to update to 0.27.13 and try again? |
Nicely prepared testcase BTW :) A quick check with 0.28.3 on Ubuntu 22.04 (package from www.klayout.org) shows no crash and no DRC violations:
You can also try version 0.28.3, but the 0.28 branch is still annealing. Matthias |
conda-eda conda channel: https://anaconda.org/LiteX-Hub/klayout/files should have more recent version than 0.27, see https://anaconda.org/LiteX-Hub/klayout/files @erendn any reason you're staying on 0.27? |
@klayoutmatthias - When I try 0.28.3, I get this error. It seems like there is an issue with ruby. This is the setup I used for 0.28.3. @proppy - We were using 0.27.4 in the Docker image of OpenRAM. @mguthaus might better know why. I built other tools with python 3.8 and conda-eda/klayout is built with python 3.7. So there is a version conflict when I try to install conda-eda/klayout along with other tools. To try this specific test case with conda-eda/klayout, I installed miniconda with python 3.7, and the error I got is below. I also built klayout with my recipe using python 3.7 and klayout 0.28.3, and I got the same error as above.
|
@erendn can you comment in hdl/conda-eda#260 about this affecting you for klayout, that way we can focus the discussion here on klayout and discuss the packaging aspect over there. |
We are using 27.4 because it was the latest when I debugged using it. It just hasn't been bumped since then. |
I managed to find one of the issues. $KLAYOUT_PATH was pointing to another klayout installation, and klayout failed to load those plugins. Now, I'm getting the following error (klayout 0.28.3):
|
I fixed this issue by setting $KLAYOUT_PATH to @proppy - I can reproduce the same issue with conda-eda/klayout if $KLAYOUT_PATH is unset. |
@erendn, thanks! filed hdl/conda-eda#281 |
I'm not sure - is this problem fixed? The stream format error usually means that the stream reader plugins cannot be loaded. In that case, the GDS stream format reader is not available. The way these plugins are loaded is that KLayout will look up a folder called "db_plugins" next to the "db" library. In my case that is
"db_plugins" contains .so files with the stream readers:
$KLAYOUT_PATH should not be involved here. So now, if "db_plugins" sits somewhere else or there is a problem loading these Libraries, then GDS is not available (among all other formats). If the .so files are there and cannot be loaded you can try:
or debug the problem mit LD_DEBUG:
The message "error: symbol lookup error: undefined symbol: klp_init (fatal)" is OK - KLayout tries to find a custom initialization entry point which this plugin does not have. Other errors may give you some hint about the solution for your problem. Matthias |
The problem was with the conda environment. KLayout's |
It seems like the error isn't fixed yet :/ We have many unit tests running in parallel and some of them fail randomly. When I inspect the output, I can see that they give errors similar to the ones above. So it seems like KLayout fails to load plugins randomly. But when I manually run the scripts, KLayout can load the plugins without any error. I'm still unsure if something is wrong with the environment or the KLayout installation. Also, running
|
That error comes from Qt. I assume it means something similar - the shared objects can be found, but not loaded. Usually because some references are not found. I found this thread about a similar issue, but I don't know if that helps: https://stackoverflow.com/questions/57362015/how-to-fix-could-not-load-the-qt-platform-plugin-xcb-in-even-though-it-was But I don't see this as a KLayout issue. Conda packaging is not something I deal with here. Matthias |
I'll close this issue for now. |
We are trying to use conda environment for the tools used by OpenRAM. I have a recipe for klayout (which I got from conda-eda and modified); however, some of our unit tests are failing. This is the setup I used to replicate one of these errors. You can install the conda environment (
install_conda.sh
) and run the DRC script (run_drc.sh
) to see the output below. We are using a specific commit of klayout (which works with Docker). You can see how we build klayout in the conda recipe. How can I solve this issue?The text was updated successfully, but these errors were encountered: