pkgsrc-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: py-tables build failure on Darwin
On 11/26/24 08:38, Jonathan Perkin wrote:
* On 2024-11-26 at 14:23 GMT, Jason Bacon wrote:
Anyone interested in math/py-tables on macOS, please test the
following patch:
--- ../../math/py-tables/PLIST.Darwin 1969-12-31 18:00:00.000000000
-0600
+++ ./PLIST.Darwin 2024-11-26 08:21:14.059878353 -0600
@@ -0,0 +1 @@
+${PYSITELIB}/tables/libblosc2.dylib
This is necessary on my Mac M1, but I don't have the means to test on
Intel or older macOS versions.
This corroborates with the failures in the latest bulk build:
https://us-central.manta.mnx.io/pkgsrc/public/reports/Darwin/12.3/
arm64/20241125.1313/meta/report.html
That said I'd recommend seeing if there's a better fix that is less
likely to break on updates. Is there a particular reason only macOS is
shipping a shared library for this and not any other platforms?
The 1200+ line setup.py looks like a hack job. The logic leading to
libblosc being copied is here:
if not rundir:
loc = {
"posix": "the default library paths",
"nt": "any of the directories in %%PATH%%",
}[os.name]
if package.name == "blosc2":
# We will copy this into the tables directory
print(
" * Copying blosc2 runtime library to 'tables' dir"
" because it was not found in standard locations"
)
platform_system = platform.system()
if platform_system == "Linux":
shutil.copy(libdir / "libblosc2.so", ROOT / "tables")
copy_libs += ["libblosc2.so"]
dll_dir = "/tmp/hdf5/lib"
# Copy dlls when producing the wheels in CI
if "bdist_wheel" in sys.argv and
os.path.exists(dll_dir):
shared_libs = glob.glob(str(libdir) +
"/libblosc2.so*")
for lib in shared_libs:
shutil.copy(lib, dll_dir)
elif platform_system == "Darwin":
shutil.copy(libdir / "libblosc2.dylib", ROOT /
"tables")
copy_libs += ["libblosc2.dylib"]
So the question is why it's finding libblosc in "standard locations" on
Linux, but not on macOS.
--
Life is a game. Play hard. Play fair. Have fun.
Home |
Main Index |
Thread Index |
Old Index