Efraim Flashner <efr...@flashner.co.il> writes: > It turns out this is due to a change in geos with 3.8 > https://github.com/Toblerity/Shapely/issues/799 > > If I cherry-pick the patch to fix it then it passes the test suite. If I > upgrade python-shapely to 1.7.1 the fix is already included but there's > a new build error: > > gcc -pthread -shared > -Wl,-rpath=/gnu/store/q9rm8h9imazsq2c4qiv2yjpvlvliywqb-python-3.8.2/lib > build/temp.linux-x86_64-3.8/shapely/vectorized/_vectorized.o > -L/gnu/store/pinvpk9w6izxcwci4ghiwgvykmgsfy2c-geos-3.8.1/lib > -L/gnu/store/q9rm8h9imazsq2c4qiv2yjpvlvliywqb-python-3.8.2/lib -lgeos_c -o > /tmp/guix-build-python-shapely-1.7.1.drv-0/Shapely-1.7.1/shapely/vectorized/_vectorized.cpython-38-x86_64-linux-gnu.so > warning: no library file corresponding to > '/gnu/store/603imkkh2bqs01z8ik0b2ndgpdz0jghk-python-numpy-1.17.3/lib/python3.8/site-packages/numpy/core/include' > found (skipping) > warning: no library file corresponding to > '/gnu/store/603imkkh2bqs01z8ik0b2ndgpdz0jghk-python-numpy-1.17.3/lib/python3.8/site-packages/numpy/core/include' > found (skipping) > error: Could not find lib c or load any of its variants > ['libc.musl-x86_64.so.1']. > command "python" "-c" "import setuptools, > tokenize;__file__='setup.py';f=getattr(tokenize, 'open', > open)(__file__);code=f.read().replace('\\r\\n', > '\\n');f.close();exec(compile(code, __file__, 'exec'))" "test" failed with > status 1 > builder for > `/gnu/store/2yz1ybl0156canhfz4vhay0g473c5nwv-python-shapely-1.7.1.drv' failed > with exit code 1 > build of /gnu/store/2yz1ybl0156canhfz4vhay0g473c5nwv-python-shapely-1.7.1.drv > failed > View build log at > '/var/log/guix/drvs/2y/z1ybl0156canhfz4vhay0g473c5nwv-python-shapely-1.7.1.drv.bz2'. > guix build: error: build of > `/gnu/store/2yz1ybl0156canhfz4vhay0g473c5nwv-python-shapely-1.7.1.drv' failed > > Do you want to take a stab at updating python-shapely to 1.7.1?
I can certainly try to fix this. I will look into it in the evening. BTW: Are you using musl libc as your primary libc? If so, that's cool, how did you do that? :) > substitute* can take a list, so it would be simpler to write this as: > substitute* '("shapely/geos.py" > "shapely/_buildcfg.py") One more thing i've learned :) Malte