Hi, I'm trying to run `cace` with a makefile, and ...
# chipalooza
a
Hi, I'm trying to run
cace
with a makefile, and it gives this error
Copy code
$ make cace-gui
SPICE_USERINIT_DIR=/workspaces/DC23-LTC2-LDO/LDO/scripts/ic-makefile/samples/cace-tests/SDC/ cace-gui
Process Process-1:
Traceback (most recent call last):
  File "/usr/lib/python3.11/multiprocessing/process.py", line 314, in _bootstrap
    self.run()
  File "/usr/lib/python3.11/multiprocessing/process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "/home/designer/.local/lib/python3.11/site-packages/cace/cace_gui.py", line 683, in cace_process
    os.setpgid(os.getpid(), runtime_options['pid'])
PermissionError: [Errno 1] Operation not permitted
make: *** [Makefile:32: cace-gui] Error 120
Anyone have an idea what's going on? It is not necessary to use makefile. I would like to use it because I use all the tools through
make
and I don't want to make an exception.
t
Are you doing this under Windows WSL by any chance?
a
Mmm, I've tested if I can run
cace-gui
through a .sh, and it gives the same error.
I'm using docker desktop under windows
t
I would have thought a docker desktop would not have an issue, but I'm still suspicious that the
setgpid
(process group ID) doesn't work in a number of cases. I might have to disable it. It was an attempt to get "Stop Simulations" to work by sending all running processes (e.g., ngspice) a kill signal, but then that doesn't work either, due to obscure issues with multithreading.
I have tested a fix and am going to push it to the CACE repository.
a
I hope disabling it will allow me to use make or .sh. To force the simulations to read my .spiceinit, I set the variable SPICE_USERINIT_DIR before running cace. I think a solution would be to put .spiceinit on ngspice/ directory but I don't want to have a bunch of .spiceinit for each module I'mg going to work on
t
@aquiles viza: Okay, try updating CACE and see if it works for you now.
I will think about the .spiceinit problem. CACE currently runs ngspice from the project top-level directory. It will need to redefine "{simpath}" and "{DUT_path}" to work right when running from the simulation directory, but it is probably the right thing to do.
a
Making pip install --update cace has no effect. I had to remake the container and reinstall specifying the git repo with the last commit. It worked.
t
Sorry for the trouble. At least you got it to work, finally!