Skip to content

Distributions do not ship inih with CMake files - pkgconfig should be used instead #1543

@grepwood

Description

@grepwood

Priority

Medium

Area

  • Data
  • Source
  • Docker
  • Other

What happened?

While rebuilding a locally rebased 8260de5, I've noticed there's a new library needed by OTClient - inih.

This library just like vorbis, vorbisfile and ogg is not shipped with their CMake files on Linux distributions.

Gentoo:

/usr
/usr/include
/usr/include/INIReader.h
/usr/include/ini.h
/usr/lib64
/usr/lib64/libINIReader.so -> libINIReader.so.0
/usr/lib64/libINIReader.so.0
/usr/lib64/libinih.so -> libinih.so.0
/usr/lib64/libinih.so.0
/usr/lib64/pkgconfig
/usr/lib64/pkgconfig/INIReader.pc
/usr/lib64/pkgconfig/inih.pc
/usr/share
/usr/share/doc
/usr/share/doc/inih-62
/usr/share/doc/inih-62/README.md.bz2

Ubuntu 25.10:

/usr/include/INIReader.h
/usr/include/ini.h
/usr/lib/x86_64-linux-gnu/libINIReader.a
/usr/lib/x86_64-linux-gnu/libinih.a
/usr/lib/x86_64-linux-gnu/pkgconfig/INIReader.pc
/usr/lib/x86_64-linux-gnu/pkgconfig/inih.pc
/usr/share/doc/libinih-dev/README.md.gz
/usr/share/doc/libinih-dev/copyright
/usr/share/doc/libinih-dev/examples/INIReaderExample.cpp
/usr/share/doc/libinih-dev/examples/config.def
/usr/share/doc/libinih-dev/examples/cpptest.sh
/usr/share/doc/libinih-dev/examples/cpptest.txt
/usr/share/doc/libinih-dev/examples/ini_dump.c
/usr/share/doc/libinih-dev/examples/ini_example.c
/usr/share/doc/libinih-dev/examples/ini_xmacros.c
/usr/share/doc/libinih-dev/examples/meson.build
/usr/share/doc/libinih-dev/examples/test.ini

Fedora 43:

/usr/include/INIReader.h
/usr/include/ini.h
/usr/lib64/libINIReader.so
/usr/lib64/libinih.so
/usr/lib64/pkgconfig/INIReader.pc
/usr/lib64/pkgconfig/inih.pc

Debian 13:

/usr/include/INIReader.h
/usr/include/ini.h
/usr/lib/x86_64-linux-gnu/libINIReader.a
/usr/lib/x86_64-linux-gnu/libinih.a
/usr/lib/x86_64-linux-gnu/pkgconfig/INIReader.pc
/usr/lib/x86_64-linux-gnu/pkgconfig/inih.pc
/usr/share/doc/libinih-dev/README.md.gz
/usr/share/doc/libinih-dev/changelog.Debian.gz
/usr/share/doc/libinih-dev/copyright
/usr/share/doc/libinih-dev/examples/INIReaderExample.cpp
/usr/share/doc/libinih-dev/examples/config.def
/usr/share/doc/libinih-dev/examples/cpptest.sh
/usr/share/doc/libinih-dev/examples/cpptest.txt
/usr/share/doc/libinih-dev/examples/ini_dump.c
/usr/share/doc/libinih-dev/examples/ini_example.c
/usr/share/doc/libinih-dev/examples/ini_xmacros.c
/usr/share/doc/libinih-dev/examples/meson.build
/usr/share/doc/libinih-dev/examples/test.ini

Arch Linux:

/usr/include/INIReader.h
/usr/include/ini.h
/usr/lib/libINIReader.so
/usr/lib/libINIReader.so.0
/usr/lib/libinih.so
/usr/lib/libinih.so.0
/usr/lib/pkgconfig/INIReader.pc
/usr/lib/pkgconfig/inih.pc
/usr/share/licenses/libinih/LICENSE.txt

I could go on and on. inih should be handled the way that #1508 tried to handle other libraries that do not ship with CMake files. They're in the distribution already. There's no reason to duplicate them.

What OS are you seeing the problem on?

Linux

Code of Conduct

  • I agree to follow this project's Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Labels

    Priority: MediumThis issue may be impactful and needs some attention.StaleStatus: Pending TestThis PR or Issue requires more testingType: BugInconsistencies or issues which will cause an issue or problem for users or implementors.duplicateThis issue or pull request already exists

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions