efabless / caravel_user_project

https://caravel-user-project.readthedocs.io
Apache License 2.0
181 stars 330 forks source link

File lock in magic during make ship #255

Open BrettMathis opened 1 year ago

BrettMathis commented 1 year ago

Without the locking disable Magic command present in the ship option for the top-level makefile, magic is unable to load all of the caravel core, and gds extraction is unable to complete during make ship.

This change need to be implemented in tandem with a recompilation of Magic, using the --disable-locking option when sourcing Magic's top-level configuration. Otherwise, the locking disable command will have no effect. Thanks to @RTimothyEdwards for providing support and context in debugging this issue.

d-m-bailey commented 1 year ago

You can also resolve this by increasing the number of file descriptors available with ulimit -n <larger_number>.

RTimothyEdwards commented 1 year ago

@d-m-bailey : I have yet to find a Linux system that will actually honor the ulimit command. When I do this on either my Fedora or Debian systems, the limit remains the same, regardless of the fact that the command does not return any error or warning.

@BrettMathis : If thelocking disable command does not disable locking, then that is a bug in magic that I need to investigate. If you compile magic with --disable-locking then that in itself should be sufficient. The point of the command was to make it unnecessary to compile in the behavior. When compiled with --disable locking, the locking disable command is retained for compatibility but doesn't do anything.