We are trying to setup pkgsrc as our unified development environment. We currently support several flavors of Ubuntu and MacOS.
Technically all our target packages compile fine on all target platform, but often we get random issues on MacOS, for example:
I/usr/local/pkg/include/ncurses -O2 -I/usr/local/pkg/include -I/usr/local/pkg/include/python3.7 -I/usr/local/pkg/include -I/usr/local/pkg/include/python3.7 -DCYTHON_CLINE_IN_TRACEBACK=0 -I/usr/local/pkg/include -I/usr/local/pkg/include/libxml2 -Isrc -Isrc/lxml/includes -I/usr/local/pkg/include/python3.7 -c src/lxml/builder.c -o build/temp.macosx-10.14-x86_64-3.7/src/lxml/builder.o -w -flat_namespace In file included from src/lxml/etree.c:97: /var/tmp/pkgsrc/work/pkgsrc-obj.py37/textproc/py-lxml/work/.buildlink/include/python3.7/Python.h:93:10: fatal error: 'pyhash.h' file not found #include "pyhash.h" ^~~~~~~~~~ clang -bundle -undefined dynamic_lookup -L. -L/usr/local/pkg/lib -L/usr/lib -L/usr/local/pkg/lib -L/usr/lib -L/usr/local/pkg/lib -O2 -I/usr/local/pkg/include -I/usr/local/pkg/include/python3.7 -I/usr/local/pkg/include -I/usr/local/pkg/include/python3.7 build/temp.macosx-10.14-x86_64-3.7/src/lxml/builder.o -L/usr/local/pkg/lib -o build/lib.macosx-10.14-x86_64-3.7/lxml/builder.so building 'lxml.html.diff' extension
The thing is, that the file does exists, and rerunning bmake for the second time, results with a successful build.
This can happen on any target, namely on any python module, where lots of soft links are being generated.
We invested some time looking into this issue and we suspect that the issue is related to the way APFS is handling soft links.
One of the things we tried to use is hard links and copy instead of soft links, in which the problem seems to be circumvented.
Unfortunately we cannot use copy as it breaks integrity, and we cannot use hardlinks/reflink due to the volume limitation.
Did anyone else hit such issue? Is there anything we can do to improve the current situation?