Subject: bug#43855: gnu: python-shapely fails to build

From: Efraim Flashner <[email-masked]>
Date: Fri, 9 Oct 2020 07:59:32 +0300

On Thu, Oct 08, 2020 at 02:05:50PM +0200, Malte Frank Gerdes wrote:
> Efraim Flashner <[email-masked]> 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? :)

Ah, no. It comes from the code. I suppose it would be possible to tell
Guix to use musl instead of glibc but I don't think the build system is
set up for 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

-- 
Efraim Flashner   <[email-masked]>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted