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

Request: Support prebuilt binaries for Major Linux distributions #20

Open
ganadist opened this issue Oct 13, 2023 · 5 comments
Open

Request: Support prebuilt binaries for Major Linux distributions #20

ganadist opened this issue Oct 13, 2023 · 5 comments

Comments

@ganadist
Copy link

ganadist commented Oct 13, 2023

Hello.

I'm considering to use this library on our media server implementation.

In my case, I'm using RHEL(Redhat Enterprise Linux)7 compliant distribution (CentOS 7)

In the case of the Linux operating environment, if EOL remains, there is a high tendency not to change the operating environment.

Currently, libultrahdr requires (or recommends)

  • Clang 15
  • CMake 3.5
    • gtest requires CMake 3.13

For RHEL7, It seems Redhat provides Clang 15 for their service subscribers.
But for CentOS7, it provides Clang 7 by SCL
Also CentOS7 provides CMake 3.6.1 by SCL

So libultrahdr is hard to use with CentOS7 by toolchain requirements even if they are supported by upstream(RHEL7).

Providing prebuilt binaries for popular Linux distributions would make it easier to adapt this library and help spread the Ultra HDR format.

@kmilos
Copy link

kmilos commented Apr 4, 2024

Interested in packaging this for MSYS2, but have a question:

The archive created is libultrahdr.a, but the pkgconf file is libuhdr.pc. What should be the package called then? Can these two be synced to either name please?

E.g. although the project name is highway, the majority of distros package it as libhwy as both the .a and .pc have that name.

@ram-mohan
Copy link
Contributor

@kmilos this may not be completely true, with this pull request all the names are in sync #96

@kmilos
Copy link

kmilos commented Apr 4, 2024

@ram-mohan Thanks Ram, that's great, at least the .pc and .a are in sync now, which is the main thing.

@spvkgn
Copy link
Contributor

spvkgn commented Jun 12, 2024

Shared library should be versioned and install with appropriate symlinks for -dev package. See https://www.debian.org/doc/debian-policy/ch-sharedlibs#s-sharedlibs-runtime

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1827267..892b83d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -567,7 +567,7 @@ set(UHDR_TARGET_NAME uhdr)
 add_library(${UHDR_TARGET_NAME})
 add_dependencies(${UHDR_TARGET_NAME} ${UHDR_CORE_LIB_NAME})
 target_link_libraries(${UHDR_TARGET_NAME} PRIVATE ${JPEG_LIBRARIES})
-set_target_properties(${UHDR_TARGET_NAME} PROPERTIES PUBLIC_HEADER ultrahdr_api.h)
+set_target_properties(${UHDR_TARGET_NAME} PROPERTIES VERSION ${PROJECT_VERSION} SOVERSION ${PROJECT_VERSION_MAJOR} PUBLIC_HEADER ultrahdr_api.h)
 combine_static_libs(${UHDR_CORE_LIB_NAME} ${UHDR_TARGET_NAME})
 
 if(UHDR_ENABLE_INSTALL)
.
├── include
│   └── ultrahdr_api.h
└── lib
    ├── libuhdr.so -> libuhdr.so.1
    ├── libuhdr.so.1 -> libuhdr.so.1.0
    ├── libuhdr.so.1.0
    └── pkgconfig
        └── libuhdr.pc

Also need to install appropriate static library.

@kmilos
Copy link

kmilos commented Aug 29, 2024

Starting to trickle in 😉

https://repology.org/project/libultrahdr/versions

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