I have linker errors, while creating rpms for OpenSuSE. RPMS for Fedora are created correctly.
There’s no difference if I create symlinks to my library or not.
Part of log with error messages:
59s] RPMLINT report:
59s] ===============
60s] (none): E: badness 11200 exceeds threshold 1000, aborting.
60s] libsell.i586: W: shlib-policy-nonversioned-dir /usr/share/doc/packages/libsell
60s] Your shared library package contains non-versioned directories. Those will not
60s] allow to install multiple versions of the package in parallel.
60s]
60s] libsell.i586: E: shlib-policy-name-error (Badness: 10000) libsell1
60s] Your package contains a single shared library but is not named after its
60s] SONAME.
60s]
60s] libsell.i586: W: no-url-tag
60s] libsell.src: W: no-url-tag
60s] The URL tag is missing. Please add a http or ftp link to the project location.
60s]
60s] libsell.i586: W: no-changelogname-tag
60s] libsell.src: W: no-changelogname-tag
60s] There is no changelog. Please insert a '%changelog' section heading in your
60s] spec file and prepare your changes file using e.g. the 'osc vc' command.
60s]
60s] libsell.i586: E: library-without-ldconfig-postun (Badness: 300) /usr/lib/libsell.so.1.0
60s] libsell.i586: E: library-without-ldconfig-postun (Badness: 300) /usr/lib/libsell.so.1
60s] This package contains a library and provides no %postun scriptlet containing a
60s] call to ldconfig.
60s]
60s] libsell.i586: E: library-without-ldconfig-postin (Badness: 300) /usr/lib/libsell.so.1.0
60s] libsell.i586: E: library-without-ldconfig-postin (Badness: 300) /usr/lib/libsell.so.1
60s] This package contains a library and provides no %post scriptlet containing a
60s] call to ldconfig.
60s]
60s] libsell.i586: W: files-duplicate /usr/lib/libsell.so.1 /usr/lib/libsell.so:/usr/lib/libsell.so.1.0
60s] libsell.i586: I: binary-or-shlib-calls-gethostbyname /usr/lib/libsell.so.1.0
60s] libsell.i586: I: binary-or-shlib-calls-gethostbyname /usr/lib/libsell.so
60s] libsell.i586: I: binary-or-shlib-calls-gethostbyname /usr/lib/libsell.so.1
60s] The binary calls gethostbyname(). Please port the code to use getaddrinfo().
60s]
60s] 2 packages and 0 specfiles checked; 5 errors, 6 warnings.
60s]
60s] ### WATCHDOG MARKER START ###
63s] 47.440993] SysRq : Power Off
63s] 47.442601] reboot: Power down
75s] ### WATCHDOG MARKER END ###
My .spec file looks like this:
Name: libsell
Version: 0.0.1
Release: 1
License: LGPL-3.0
BuildRoot: %{_tmppath}/libsell
Summary: Simple extensible log library
Source: libsell.tar.gz
%description
Simple and extensible log library. Application can configure this library or order this library to read configuration variable called SELL_RULES. By setting SELL_RULES variable, user can filter messages, selecting output files, etc.
%prep
%setup -q
%build
make %{?_smp_mflags}
%install
mkdir -p $RPM_BUILD_ROOT/usr/%_lib
install -m755 $RPM_BUILD_DIR/libsell-0.0.1/libsell.so.1.0 $RPM_BUILD_ROOT/usr/%_lib/libsell.so.1.0
install -m755 $RPM_BUILD_DIR/libsell-0.0.1/libsell.so.1 $RPM_BUILD_ROOT/usr/%_lib/libsell.so.1
install -m755 $RPM_BUILD_DIR/libsell-0.0.1/libsell.so $RPM_BUILD_ROOT/usr/%_lib/libsell.so
%files
%defattr(-,root,root)
%doc LICENSE
/usr/%_lib/libsell.so.1.0
/usr/%_lib/libsell.so.1
/usr/%_lib/libsell.so