On 16.02.2021 21:59, Yasuhito FUTATSUKI wrote:
Thank you! That is immensely helpful. Now we can check when and why
that change was introduced.
However, I don't think it is not an issue of Subversion release tarball
but an issue of FreeBSD ports.
This issue is result to update to 1.14.1. I didn't change anything but version
bump, new checksum and removal of patch to configure script which was added
after 1.14.0 release, and is completely incorporated into 1.14.1 release
tarball now.
Perhaps symbolic links were missing. "from . import XXX" specifies
relative import from a module.
[[[
$ ls -l subversion/bindings/swig/python/libsvn/*.so
lrwxr-xr-x 1 futatuki staff7 19 Feb 17 01:34
subversion/bindings/swig/python/libsvn/_client.so@ -> ../.libs/_client.so
lrwxr-xr-x 1 futatuki staff7 17 Feb 17 01:34
subversion/bindings/swig/python/libsvn/_core.so@ -> ../.libs/_core.so
lrwxr-xr-x 1 futatuki staff7 18 Feb 17 01:34
subversion/bindings/swig/python/libsvn/_delta.so@ -> ../.libs/_delta.so
lrwxr-xr-x 1 futatuki staff7 17 Feb 17 01:34
subversion/bindings/swig/python/libsvn/_diff.so@ -> ../.libs/_diff.so
lrwxr-xr-x 1 futatuki staff7 15 Feb 17 01:34
subversion/bindings/swig/python/libsvn/_fs.so@ -> ../.libs/_fs.so
lrwxr-xr-x 1 futatuki staff7 15 Feb 17 01:34
subversion/bindings/swig/python/libsvn/_ra.so@ -> ../.libs/_ra.so
lrwxr-xr-x 1 futatuki staff7 18 Feb 17 01:34
subversion/bindings/swig/python/libsvn/_repos.so@ -> ../.libs/_repos.so
lrwxr-xr-x 1 futatuki staff7 15 Feb 17 01:34
subversion/bindings/swig/python/libsvn/_wc.so@ -> ../.libs/_wc.so
]]]
Yep, there is this *one* "funny" link:
[[[
> ls -l work-py37/subversion-1.14.1/subversion/bindings/swig/python/libsvn/*.so
lrwxr-xr-x 1 lev lev 13 16 Feb 20:26
work-py37/subversion-1.14.1/subversion/bindings/swig/python/libsvn/*.so ->
../.libs/*.so
]]]
But it means, that it was created by subversion build system (not port!), and
it means here is some subtle bug in this system. Looks like, target
`copy-swig-py` is called BEFORE build of libraries. But Makefile /
build-outputs.mk is complex enough and I could not trace why. Maybe, it is
parallel job problem?
YESSSS! I catch it. When I build port jobs disabled ordering is right:
[[[
> ls -l work-py37/subversion-1.14.1/subversion/bindings/swig/python/libsvn/*.so
lrwxr-xr-x 1 lev lev 19 17 Feb 00:13
work-py37/subversion-1.14.1/subversion/bindings/swig/python/libsvn/_client.so
-> ../.libs/_client.so
lrwxr-xr-x 1 lev lev 17 17 Feb 00:13
work-py37/subversion-1.14.1/subversion/bindings/swig/python/libsvn/_core.so ->
../.libs/_core.so
lrwxr-xr-x 1 lev lev 18 17 Feb 00:13
work-py37/subversion-1.14.1/subversion/bindings/swig/python/libsvn/_delta.so ->
../.libs/_delta.so
lrwxr-xr-x 1 lev lev 17 17 Feb 00:13
work-py37/subversion-1.14.1/subversion/bindings/swig/python/libsvn/_diff.so ->
../.libs/_diff.so
lrwxr-xr-x 1 lev lev 15 17 Feb 00:13
work-py37/subversion-1.14.1/subversion/bindings/swig/python/libsvn/_fs.so ->
../.libs/_fs.so
lrwxr-xr-x 1 lev lev 15 17 Feb 00:13
work-py37/subversion-1.14.1/subversion/bindings/swig/python/libsvn/_ra.so ->
../.libs/_ra.so
lrwxr-xr-x 1 lev lev 18 17 Feb 00:13
work-py37/subversion-1.14.1/subversion/bindings/swig/python/libsvn/_repos.so ->
../.libs/_repos.so
lrwxr-xr-x 1 lev lev 15 17 Feb 00:13
work-py37/subversion-1.14.1/subversion/bindings/swig/python/libsvn/_wc.so ->
../.libs/_wc.so
]]]
So, there IS bug in subversion Makefiles: building of python bindings (at
least, maybe more!) with `make -j ${NCPU}` is not serialized right.
--
// Black Lion AKA Lev Serebryakov