Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Content test: windows dll / lib with ABI version #1116

Open
wolfv opened this issue Oct 13, 2024 · 7 comments
Open

Content test: windows dll / lib with ABI version #1116

wolfv opened this issue Oct 13, 2024 · 7 comments

Comments

@wolfv
Copy link
Member

wolfv commented Oct 13, 2024

The openjph package installs dll / lib files with a ABI version like foo.0.17.dll and foo.0.17.lib.

 │ │   - Library\bin\openjph.0.17.dll
...
 │ │   - Library\lib\openjph.0.17.lib

Should we support that?

@wolfv
Copy link
Member Author

wolfv commented Oct 13, 2024

@wolfv
Copy link
Member Author

wolfv commented Oct 14, 2024

Isuru pointed out on Element:

A common pattern is foo.lib and foo.0.17.dll which are equivalent to libfoo.so and libfoo.so.0.17 in linux

Another common pattern from GMP:

https://github.com/conda-forge/gmp-feedstock/blob/6f7078d255019fadadb8081a8c51bd5829231f8b/recipe/meta.yaml#L45-L54

    - test ! -f ${PREFIX}/lib/libgmp.a      # [unix]
    - test -f ${PREFIX}/lib/libgmp.dylib    # [osx]
    - test -f ${PREFIX}/lib/libgmp.so       # [linux]
    - test ! -f ${PREFIX}/lib/libgmpxx.a    # [unix]
    - test -f ${PREFIX}/lib/libgmpxx.dylib  # [osx]
    - test -f ${PREFIX}/lib/libgmpxx.so     # [linux]
    - if not exist %LIBRARY_BIN%\libgmp-10.dll exit 1  # [win]
    - if not exist %LIBRARY_LIB%\libgmp.dll.a exit 1   # [win]
    - if not exist %LIBRARY_LIB%\gmp.lib exit 1        # [win]

@hmaarrfk
Copy link

but is it common to have the lib file with these .0.0.17? i don't think so right?

@JeanChristopheMorinPerso

I'd say that most of the time there is no version in the .lib filename. When there is a version, it's usually in the form mylib-2.lib.

@hmaarrfk
Copy link

FWI, i patched out the "lib" in the offending project and requested input from upstream aous72/OpenJPH#155

@wolfv
Copy link
Member Author

wolfv commented Oct 16, 2024

@jaimergp can we use your tool to run a query for the names of all *.dll and *.lib files in the conda-forge universe?

I am not sure if enforcing a naming rule makes a lot of sense. I imagine that, if the CMake find_package works correctly, things will be found no-matter-what their name ends up.

So we could also change the regex to something like foo*.dll and foo*.lib ...

@jaimergp
Copy link

can we use your tool to run a query for the names of all *.dll and *.lib files in the conda-forge universe?

The sqlite dumps are downloadable for this kind of large query that wouldn't be efficient in a public server. Some links:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants