Giter Club home page Giter Club logo

Comments (12)

jakirkham avatar jakirkham commented on June 26, 2024 1

I guess because we didn't build the static libraries with -fPIC. Would you like to submit a PR?

from hdf5-feedstock.

wasade avatar wasade commented on June 26, 2024 1

--enable-shared was default yes in 1.8.12, which is the only source I have locally at the moment:

  --enable-shared[=PKGS]  build shared libraries [default=yes]

Do you think HDF5 changed that default given that 1.8.17-11 from conda-forge seems to work? There are .so files though associated with 1.8.18-1, which adds to the confusion. I'll issue a PR momentarily explicitly enabling though.

$ ls /home/mcdonadt/miniconda3/conda-bld/unifrac_1506052330974/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/*hdf5*.so
lrwxrwxrwx 1 dtmcdonald knightlab 17 Sep 21 20:53 /home/mcdonadt/miniconda3/conda-bld/unifrac_1506052330974/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/libhdf5.so -> libhdf5.so.10.2.1
lrwxrwxrwx 1 dtmcdonald knightlab 21 Sep 21 20:53 /home/mcdonadt/miniconda3/conda-bld/unifrac_1506052330974/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/libhdf5_cpp.so -> libhdf5_cpp.so.13.0.0
lrwxrwxrwx 1 dtmcdonald knightlab 25 Sep 21 20:53 /home/mcdonadt/miniconda3/conda-bld/unifrac_1506052330974/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/libhdf5_fortran.so -> libhdf5_fortran.so.10.0.4
lrwxrwxrwx 1 dtmcdonald knightlab 20 Sep 21 20:53 /home/mcdonadt/miniconda3/conda-bld/unifrac_1506052330974/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/libhdf5_hl.so -> libhdf5_hl.so.10.1.1
lrwxrwxrwx 1 dtmcdonald knightlab 24 Sep 21 20:53 /home/mcdonadt/miniconda3/conda-bld/unifrac_1506052330974/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/libhdf5_hl_cpp.so -> libhdf5_hl_cpp.so.11.1.0
lrwxrwxrwx 1 dtmcdonald knightlab 27 Sep 21 20:53 /home/mcdonadt/miniconda3/conda-bld/unifrac_1506052330974/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/libhdf5hl_fortran.so -> libhdf5hl_fortran.so.10.0.3

from hdf5-feedstock.

jakirkham avatar jakirkham commented on June 26, 2024 1

Considering as the shared libraries are already there as we can both see. I don't think that is the issue. If HDF5 is already building with -fPIC, then I'm mystified as to why the linker can't figure out what to do. Is this coming from some other feedstock in conda-forge?

from hdf5-feedstock.

wasade avatar wasade commented on June 26, 2024

Might also need --with-pic although, like --enable-shared, I believe it is enabled already (i.e. default=use both).

from hdf5-feedstock.

wasade avatar wasade commented on June 26, 2024

hdf5: 1.8.18-1 conda-forge

In looking back, right now, it looks like the successful build is using 1.8.17-2 from defaults at build. It successfully links at runtime against 1.8.17-11 from conda-forge, which I think drove some confusion -- for a little more context, the forced replacement of hdf5 on that line allowed that repo to use our problematic library. I'm testing 1.8.17 at build from conda-forge right now.

I'm a bit green with recipes and conda build has a learning curve, so apologize if I'm making any naive mistakes. And thank you for the help.

from hdf5-feedstock.

wasade avatar wasade commented on June 26, 2024

So it does seem to be the case that we can build using 1.8.17-2 from defaults but are unable to build using conda-forge, and tried with 1.8.17, 1.8.18, and 1.10.1.

from hdf5-feedstock.

jakirkham avatar jakirkham commented on June 26, 2024

Do you have links to the logs where this issue occurs?

from hdf5-feedstock.

wasade avatar wasade commented on June 26, 2024

hdf5_1.8.17_conda_forge.txt, generated by $ conda build -c biocore -c conda-forge unifrac &> hdf5_1.8.17_conda_forge.txt
hdf5_1.8.17_defaults.txt, generated by conda build -c biocore unifrac &> hdf5_1.8.17_defaults.txt

Using a modified version of this recipe for the build where I just further reduced the build reqs as there was some fluff, and specified the specific hdf5 version.

$ git diff unifrac/meta.yaml
diff --git a/recipes/unifrac/meta.yaml b/recipes/unifrac/meta.yaml
index 78515fe..9b0b11f 100644
--- a/recipes/unifrac/meta.yaml
+++ b/recipes/unifrac/meta.yaml
@@ -16,16 +16,14 @@ requirements:
     - python 3.5*
     - gcc  # [not osx]
     - llvm  # [osx]
-    - hdf5
-    - h5py
+    - hdf5 ==1.8.17
     - cython
-    - biom-format
-    - scikit-bio
+    - numpy

   run:
     - python 3.5*
     - libgcc  # [not osx]
-    - hdf5
+    - hdf5 ==1.8.17
     - h5py
     - cython
     - biom-format

from hdf5-feedstock.

jakirkham avatar jakirkham commented on June 26, 2024

Anything more to do here @wasade? I think we leapfrogged to 1.10.1 for the most part. If you have issues with that version as well, maybe we should create a new issue.

from hdf5-feedstock.

wasade avatar wasade commented on June 26, 2024

I'm not sure to be honest, this fell off my radar, but I think we still want --enable-shared set at ./configure?

from hdf5-feedstock.

jakirkham avatar jakirkham commented on June 26, 2024

I'm pretty sure --enable-shared is default otherwise we wouldn't be getting dynamic/shared objects, which do we have in the package. So don't think that would fix the issue.

from hdf5-feedstock.

jakirkham avatar jakirkham commented on June 26, 2024

Added PR ( #82 ), which cherry picks your change and adds PIC flags. I suspect the PIC flags will fix the issue. The HDF5 docs suggest they use both, which I'm not really sure how that works. Normally one uses PIC or they don't. Plus the error message cited above is a typical non-PIC build issue. Would encourage you to retest after we merge that. We can cherry-pick the change to 1.8 builds as well.

from hdf5-feedstock.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.