BlueBrain / Brion

Blue Brain C++ File IO Library
GNU Lesser General Public License v3.0
23 stars 22 forks source link

installation failure on MacOS #315

Closed asanin-epfl closed 3 years ago

asanin-epfl commented 3 years ago
(venv) bb-fvfdj7n3mnhx:sonata-network-reduction sanin$ pip install brion  
Collecting brion
ERROR: Could not install packages due to an OSError: [Errno 63] File name too long: '/private/var/folders/qy/d2s4f8916yd63kptgvzw2gxmzsmb4j/T/pip-install-p4pnvuht/brion_8ccfb8d1984743a899cb33bc48d18bc6/deps/libsonata/extlib/HighFive/tests/test_project/deps/HighFive/tests/test_project/deps/HighFive/tests/test_project/deps/HighFive/tests/test_project/deps/HighFive/tests/test_project/deps/HighFive/tests/test_project/deps/HighFive/tests/test_project/deps/HighFive/tests/test_project/deps/HighFive/tests/test_project/deps/HighFive/tests/test_project/deps/HighFive/tests/test_project/deps/HighFive/tests/test_project/deps/HighFive/tests/test_project/deps/HighFive/tests/test_project/deps/HighFive/tests/test_project/deps/HighFive/tests/test_project/deps/HighFive/tests/test_project/deps/HighFive/tests/test_project/deps/HighFive/tests/test_project/deps/HighFive/tests/test_project/deps/HighFive/tests/test_project/deps/HighFive/tests/test_project/deps/HighFive/tests/test_project/deps/HighFive/tests/test_project/deps/HighFive/deps/hpc-coding-conventions/cpp/formatting/snippets/AlwaysBreakTemplateDeclarations.cpp'
wvangeit commented 3 years ago

FYI, I can reproduce this. Latest pip, latest Macos, using python (3.8) from pyenv.

ppodhajski commented 3 years ago

I am aware of that problem, will investigate in coming weeks. For the time being we have a working wheel under Linux.

mgeplf commented 3 years ago

The tar file seems really large for an sdist, and there are many copies of the same files from the HighFive source tree:

$ ls -alh brion-3.3.0.tar.gz
[...] 11M
$ tar tvfz brion-3.3.0.tar.gz | grep create_attribute_string_integer.cpp |wc -l
41

I get a lot further by:

gunzip brion-3.3.0.tar.gz
tar --delete -f brion-3.3.0.tar  'brion-3.3.0/deps/libsonata/extlib/HighFive/tests/test_project'
pip install -vvvv brion-3.3.0.tar
mgeplf commented 3 years ago

BTW, if I gzip the tar file from above, the size goes from 11M -> 6M, so another bonus.

jplanasc commented 3 years ago

@asanin-epfl are you working with SONATA files? In such case, I'd recommend to use libsonata instead of Brion.

asanin-epfl commented 3 years ago

I can't switch because brion is dependency of bglibpy. I need bglibpy.

wvangeit commented 3 years ago

Of bglibpy through bluepy though. (afaik bglibpy doesnt use brion directly)

jplanasc commented 3 years ago

In such case, I believe you can disable the Brion dependency on BluePy if you don't need it. I think this will be the fastest to solve your issue. Probably @mgeplf can give you more details on that. Thanks!

wvangeit commented 3 years ago

no, just to be clear, bglibpy does need brion, but just indirectly to bluepy (but it does use the part of the bluepy API that uses brion). (I'm also not completely sure why 'not using' brion is a solution, is brion to be abandoned ?)

jplanasc commented 3 years ago

Brion supports the "old" formats of BBP, but not SONATA, so we're not developing new features on it. As we transition to SONATA, yes, it will be slowly abandoned. If I recall correctly, BluePy should fall back to its own file readers when Brion is not found. But I still don't understand why you need Brion for SONATA files.

ppodhajski commented 3 years ago

@asanin-epfl, could you please explain why you want to build it on Mac? Is local development on MacOS the main reason?

mgeplf commented 3 years ago

If I recall correctly, BluePy should fall back to its own file readers when Brion is not found.

We can't duplicate all the formats, so we rely on Brion for backwards compat for .bbp reports, for instance, and possibly others.

asanin-epfl commented 3 years ago

@asanin-epfl, could you please explain why you want to build it on Mac? Is local development on MacOS the main reason?

Yes. The local development.

NadirRoGue commented 3 years ago

Brion is at end of support state, receiving only updates to fix bugs. Since it will disappear, there will be no support for Brion on Mac. Please, use the releases on BB5 to interact with Brion and/or any package that depends on it.