What Linux OS is supported for LayoutEditor and X-Fab and Pycell Studio?
Theo
Wednesday 13th May 2026
I've tried Ubuntu 24.04, Almalinux 9 and Almalinux 8 and several versions of Pycell Studio.
On all Linux versions layout runs fine. But as soon as I try to integrate the iPDK (xt018-stdformats-iPDK-14.1.1) it fails.
No complaints from the installer (please restart). But when I do I get this mismatch:
```
$ layout
Wayland is in use.
LayoutEditor installed at /opt/layout
add shpped OpenROAD to PATH
using default python (2.6)
using pycell for platform 'linux64'
OpenAccess libraries found at /opt/synopsys/linux64/3rd/oa
PyCell enabled in setup
using sysname linux_rhel60, if not correct please set OA_SYSNAME
use OpenAccess version 22.61
use OpenAccess library path /opt/synopsys/linux64/3rd/oa/lib/linux_rhel60_64/opt
start: /opt/layout/bin/layout
ERROR (init): Requested major API version '4' which is supported by OpenAccess build '22.04.028' is incompatible with the major API version '6' of the shared library of OpenAccess build '22.61.019'.
/usr/bin/layout: line 323: 68592 Segmentation fault (core dumped) $FILE --oa$OAVER "$@" $ADD
```
I tried several Pycell Studio versions but have no clue how to fix this.
I also checked the PyCell Studio installation. That installs without any warnings but the checks ($CNI_ROOT/quickstart/README.txt) with pyros fails due to all kind of missing libraries:
```
$ ldd $CNI_ROOT/linux64/bin/pyros2-26.exe
libQt5WebKit.so.5 => not found
libQt5WebKitWidgets.so.5 => not found
libPythonQt-Qt5-Python2.6.so.3 => not found
libPythonQt_QtAll-Qt5-Python2.6.so.3 => not found
libQt5WebKit.so.5 => not found
libQt5WebKitWidgets.so.5 => not found
libQt5WebKit.so.5 => not found
libQt5WebKitWidgets.so.5 => not found
libPythonQt-Qt5-Python2.6.so.3 => not found
libPythonQt_QtAll-Qt5-Python2.6.so.3 => not found
libQt5WebKit.so.5 => not found
libQt5WebKitWidgets.so.5 => not found
libPythonQt-Qt5-Python2.6.so.3 => not found
libPythonQt_QtAll-Qt5-Python2.6.so.3 => not found
libQt5WebKit.so.5 => not found
libQt5WebKitWidgets.so.5 => not found
libPythonQt-Qt5-Python2.6.so.3 => not found
libPythonQt_QtAll-Qt5-Python2.6.so.3 => not found
libQt5WebKit.so.5 => not found
libQt5WebKitWidgets.so.5 => not found
```
I tried to install some of these dependecies, but some of them are not available.
So am I using the wrong OS or am I using the wrong Pycell Studio version or am I using the wrong version of LayoutEditor?
Jürgen LayoutEditorFull Wednesday 13th May 2026
The PyCell version you have installed uses OpenAccess 22.61. Its support is currently being prepared and will be included in the next update of the LayoutEditor. Please use a PyCell version for OpenAccess version 22.50 or 22.60 with the current release of the LayoutEditor.
Theo
Wednesday 13th May 2026
I did try others as well and they give a different error:
```
LayoutEditor installed at /opt/layout
add shpped OpenROAD to PATH
using default python (2.6)
using openAccess library /opt/layout/oa
OpenAccess libraries found at /opt/layout/oa
use OpenAccess version 22.50
/opt/layout/bin/layout: /opt/synopsys/linux64/lib/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /opt/layout/bin/layout)
/opt/layout/bin/layout: /opt/synopsys/linux64/lib/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by /opt/layout/bin/layout)
/opt/layout/bin/layout: /opt/synopsys/linux64/lib/libstdc++.so.6: version `GLIBCXX_3.4.32' not found (required by /opt/layout/bin/layout)
/opt/layout/bin/layout: /opt/synopsys/linux64/lib/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /opt/layout/bin/layout)
/opt/layout/bin/layout: /opt/synopsys/linux64/lib/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /opt/layout/bin/layout)
/opt/layout/bin/layout: /opt/synopsys/linux64/lib/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /opt/layout/bin/layout)
/opt/layout/bin/layout: /opt/synopsys/linux64/lib/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /usr/lib/x86_64-linux-gnu/libQt5OpenG
```
This is caused by the setup script from Pycell studio
```
source /opt/synopsys/quickstart/bashrc
```
layout starts up when I unset LD_LIBRARY_PATH first.
That brings up the question, what instructions should be followed? I've found different instructions on different places which makes it quite troublesome to get started.
I now installed PyCellStudio_installer_OnePackage_T-2022.06-SP2
All looks fine until I instantiate a mos device from the X-Fab library (PRIMLIB):
```
$ layout
Wayland is in use.
LayoutEditor installed at /opt/layout
add shpped OpenROAD to PATH
using default python (2.6)
using pycell for platform 'linux64'
OpenAccess libraries found at /opt/synopsys/linux64/3rd/oa
PyCell enabled in setup
using sysname linux_rhel60, if not correct please set OA_SYSNAME
use OpenAccess version 22.60
use OpenAccess library path /opt/synopsys/linux64/3rd/oa/lib/linux_rhel60_64/opt
start: /opt/layout/bin/layout
<> -------------------------------------------
<>
<> Loading XFAB PDK components
<> generic O.K
<> juspertor O.K
<> basic O.K
<> exports O.K
<> custom O.K
<> cdf O.K
<> pcellkit O.K
<>
<> -------------------------------------------
<>
<> Technology xt018
<> Version v14_1_1
<> LibCode 1221
<> Core LP 1.8V
<> Metal Thin2
<> TopMetal METTP
<>
<> -------------------------------------------
user customized code can be inserted into "/home/thba/workarea/.xfabrc" and will be auto-loaded at subsequent start up
free(): invalid pointer
/usr/bin/layout: line 323: 112346 Aborted (core dumped) $FILE --oa$OAVER "$@" $ADD
```
I repeated this as well without loading /opt/synopsys/quickstart/bashrc
I then removed ~/.config/juspertor/layout.conf and tried again.
Now it does not crash but it does print out a warning:
```
Changing Netlist Device "M1" (noname)
Errors:
1 no layout data or parametic cell can not be created (ne~66ee95b55f37b3e9e8d788ac7b2f79a0)
1 require OpenAccess-parametric-cell-plugin 'PyCell - cnDloPcell' may not be available, please install it. (PyCell - cnDloPcell)
Cannot find IPcell 'cnDloPcell': Pcell evaluator 'cnDloPcell' not found: Plug-in Registration File Not Found: Plug-in file 'cnDloPcell.plg', using plug-in search path '/opt/layout/oa/data/plugins'...
Cannot find IPcell 'cnDloPcell': Pcell evaluator 'cnDloPcell' not found: Plug-in Registration File Not Found: Plug-in file 'cnDloPcell.plg', using plug-in search path '/opt/layout/oa/data/plugins'...
Cannot find IPcell 'cnDloPcell': Pcell evaluator 'cnDloPcell' not found: Plug-in Registration File Not Found: Plug-in file 'cnDloPcell.plg', using plug-in search path '/opt/layout/oa/data/plugins'...
Cannot find evaluator for Pcell superMaster design PRIMLIB/ne/layout.
```
Any advice about the exact steps to be taken to run this correctly on Ubuntu or Alma is appreciated.
Thanks for your help.
Jürgen LayoutEditorFull Wednesday 13th May 2026
Don't use the setup script suppliered Synopsys. (*/opt/synopsys/quickstart/bashrc*) Just start *layout* from a terminal. The start script of the LayoutEditor will set the LD_LIBRARY_PATH and other environments in a way that PyCell and the LayoutEditor find the correct version of each required library.
The setup script suppliered by Synopsys sets it in a way that all tool from then on just get the old library version PyCell requires and the LayoutEditor will fail.
Theo
Wednesday 13th May 2026Attachments: (only for registered users) Screenshot from 2026-05-13 20-11-19.png
My last step is indeed without the setup script from Synopsys. But as shown Pycells are not working. The OpenAccess window shows the Pycel Studio folder is not used.
Note I prepared my workarea according the instructions from X-Fab
```
cp $PDK/ckit/$PMV/* .
```
Once I enable Pycell in the OpenAccess setting menu and restart layout does not startup and ends with:
```
free(): invalid pointer
/usr/bin/layout: line 323: 121232 Aborted (core dumped) $FILE --oa$OAVER "$@" $ADD
```
Jürgen LayoutEditorFull Wednesday 13th May 2026
Did you enable PyCell in the setup under setup/fileformat/OpenAccess/enable PyCell?
Theo
Thursday 14th May 2026Attachments: (only for registered users) Screenshot from 2026-05-14 07-55-34.png
Yes. And then a core dump follows.
To reproduce:
- Install PyCellStudio_installer_OnePackage_L-2022.06-SP2-1 at /opt/synopsys
* sudo ./installer
- Create a new folder and copy the iPDK setup files
* cp ../FTK_KIT_DIR/xt018/stdformats/v14_1/iPDK/v14_1_1/ckit/1221/* .
* layout
* Utilities->Technology->X-FAB->X-FAB setup
* Utilities->Technology->X-FAB->PDK installer : xt018-stdformats-iPDK-v14_1_1.tar.gz
* Choose technology module PRIMLIB_1221
* restart
* Create a new schematic
* ** Missing PRIMLIB librarry in schematic**
This seems to be a new problem while trying to repeat step by step. I checked libs.defs and see the libraries defined.
They are actually defined twice. Once by the X-FAB template (INCLUDE XFABlib.defs) and once created by the PDK installer.
That brings me back to the original question, how should the installation be done? Use the boiler template files from the PDK or use the PDK installer from within layout? Or both?
Once I do get the PRIMLIB device library (no idea why they are now not visible), I cannot use them as they give a core dump.
Jürgen LayoutEditorFull Thursday 14th May 2026
The OpenAccess libraries are now pointing to the libraries Synopsys supplier. so the PyCell will work now.
The OpenAccess dialog also shows the location of the used 'lib.defs'. That is the top level lib.defs file and may use *includes*. In this tree of lib.defs file the PRIMLIB muss be listed to be found. If so you can add it within the SchematicEditor OpenAccess/add_component_library.
The location of the used lib.defs file may change by changing the way the LayoutEditor is opened. In the first order a lib.defs file is searched in the current working folder. If it is not present there, the home folder will be checked.
Theo
Sunday 17th May 2026
I assume this is similar to how Cadence works (I'm familiar with that). The libs.def in the folder where I started layout contains a library definition of PRIMLIB. I double checked the paths and they are correct. I tried it in two ways. One time by using the install PDK feature from layout and one time by the instructions given in the iPDK from X-Fab (using an exported variable FTK_KIT_DIR pointing to the the manually unpacked xt018-stdformats-iPDK-v14_1_1.tar.gz). Doing both methods as shown in my previous post creates double entries (layout edits the libs.def by adding entries, where there is also an INCLUDE XFABlib.defs statement that also contains definitions). I have of course tried to edit the libs.def manually by leaving only one in. But whatever I try, in the schematic editor the PRIMLIB does not show up and I don't see any warning/error message telling me something is wrong.
Theo
Sunday 17th May 2026
Jürgen LayoutEditorFull Sunday 17th May 2026
OpenAccess has a very confusing misbehaviour and I guess this happens in your case: OpenAccess terminates reading the libs.def file at the point it does not understand a line in the libs.def file. All lines afterwards are skipped and no error message is printed out. The LayoutEditor does not read the libs.def file directly, but it rely on the libs OpenAccess has found. So a library is added again to the main libs.def file if OpenAccess did not read it correctly from the existing libs.def. Did you path contain any special characters? Especially a space is know not to work correctly. You can check this kind of reading error by changing the order of the entries. If the previously running library 'A' no longer is listed once it is behind the not working library 'B', you know that OpenAccess has a problem with the definition with library 'B'.
Theo
Monday 18th May 2026
The lib.def file seems to be correct. No strange characters like spaces. I created the files under Linux and run layout from wine. No libraries seen except when I use FileFormat->Openaccess->Tools->Add component library. Now it works.
I must admit it's docmumented :
> The lib.defs file from your working folder should be used. If anything is correct you may find the newly installed library in the Components dialog of the SchematicEditor. **If not, you can open it with SchematicEditor/Utilities/OpenAccess/Add Component Library**.
This was done with the instructions from X-Fab.
Now I try with the PDK install from within layout in an empty folder. Apparently it's needed to create an OA lib first otherwise the install prints all kind of install log but nothing seems to happen (empty folder). And an OA lib. Setup X-Fab prints an error:
> $ tcl error 'couldn't open "./XFABlib.defs": no such file or directory' when running /home/thba/LayoutEditor/xt018/stdformats/v14_1/iPDK/v14_1_1/PRIMLIB_1221/autoLoad.file
I would expect that X-Fab setup would have taken care of that, but no. I guess you do need to foillow the instructions from X-Fab only
and need to manually add the component librarry afterwards.
Thanks for your support.