Re: building rpm: error in shared libraries

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 12/07/2015 11:17 AM, arnaud gaboury wrote:
On Mon, Dec 7, 2015 at 6:49 PM, Rick Stevens <ricks@xxxxxxxxxxxxxx> wrote:
On 12/07/2015 09:20 AM, arnaud gaboury wrote:

On Mon, Dec 7, 2015 at 5:16 PM, arnaud gaboury <arnaud.gaboury@xxxxxxxxx>
wrote:

On Mon, Dec 7, 2015 at 5:09 PM, Michael Schwendt <mschwendt@xxxxxxxxx>
wrote:

On Mon, 7 Dec 2015 16:14:03 +0100, arnaud gaboury wrote:

I wrote and build successfuly a rpm package. When it comes to install,
I have this error:

# dnf install MyPackage.rpm
Error: package rstudio-server-0.99.800-1.fc23.x86_64 requires
libR.so()(64bit), but none of the providers can be installed


What's the output of "dnf install -b -v …" for that?


-----------------------------------------------
# dnf install -b -v rstudio-server-0.99.800-1.fc23.x86_64.rpm
cachedir: /var/cache/dnf
Loaded plugins: reposync, needs-restarting, system-upgrade,
playground, download, noroot, Query, protected_packages,
debuginfo-install, generate_completion_cache, builddep, copr,
config-manager
DNF version: 1.1.4
repo: using cache for: fedora
not found deltainfo for: Fedora 23 - x86_64
not found updateinfo for: Fedora 23 - x86_64
repo: using cache for: updates
repo: using cache for: home_jeroenooms_opencpu-1.5
not found deltainfo for: OpenCPU 1.5 (Fedora_22)
not found updateinfo for: OpenCPU 1.5 (Fedora_22)
repo: using cache for: trillian
not found deltainfo for: Trillian
not found updateinfo for: Trillian
fedora: using metadata from Sat Oct 31 18:34:41 2015.
updates: using metadata from Sun Dec  6 19:45:27 2015.
home_jeroenooms_opencpu-1.5: using metadata from Wed Jul  1 14:22:10
2015.
trillian: using metadata from Fri Jan  9 17:17:59 2015.
Last metadata expiration check performed 2:38:10 ago on Mon Dec  7
14:35:28 2015.
--> Starting dependency resolution
--> Finished dependency resolution
Error: package rstudio-server-0.99.800-1.fc23.x86_64 requires
libR.so()(64bit), but none of the providers can be installed
(try to add '--allowerasing' to command line to replace conflicting
packages)

----------------------------------------------------------------------------------------------------------------

The error message reads a bit as if providers are found but are
not installable due to hidden errors.

The cited library is indeed already installed:

% ldconfig -p | grep libR.so
807: libR.so (libc6,x86-64) => /usr/lib64/R/lib/libR.so

This shared lib is provided by a home made package,
R-intel-core-3.2.2. This package is similar to Fedora R-core-3.2.2,
but built witn Intel compiler and MKL.
--------------------------------------------------------------
% dnf provides /usr/lib64/R/lib/libR.so


This is the wrong command to run for examining dependencies. You need to
ask for the provider of 'libR.so()(64bit)' not the pathname of libR.so.

Show that your installed "R-intel-core" package is a provider of that:

    rpm -q --whatprovides 'libR.so()(64bit)'


------------------------------------
% rpm -q --whatprovides 'libR.so()(64bit)'
no package provides libR.so()(64bit)
----------------------------------------------------

BINGO


So I guess the trick is to create a yum repo in /etc/yum.repos.d  and
follow these instructions[1] ?


You should also make sure your "home-made" libR RPM pokes the
pkg-config system so the various build tools know about it.

May you please be more precise? I based the spec file on the regular R
package, but maybe missed something.

See "man pkg-config", specifically the "METADATA FILE SYNTAX" section.

Essentially, you create a "libR.pc" file and stick it in either
/lib/pkgconfig or /lib64/pkgconfig during your installation process.
From that point on, should you need to compile something dependent on
it, you can do something like this in your Makefile:

    program: program.c
	cc program.c $(pkg-config --cflags --libs libR)

and the system will pick up the required CFLAGS and LDFLAGS to use
the library.

Obviously you've installed it, but likely

         pkg-config {--exists | --atleast-version=VERSION | --exact-
         version=VERSION | --max-version=VERSION} libR.so

doesn't return any data, so it's assumed the library isn't there.
----------------------------------------------------------------------
- Rick Stevens, Systems Engineer, AllDigital    ricks@xxxxxxxxxxxxxx -
- AIM/Skype: therps2        ICQ: 226437340           Yahoo: origrps2 -
-                                                                    -
-      We are born naked, wet and hungry. Then things get worse.     -
----------------------------------------------------------------------
--
users mailing list
users@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe or change subscription options:
https://admin.fedoraproject.org/mailman/listinfo/users
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct
Guidelines: http://fedoraproject.org/wiki/Mailing_list_guidelines
Have a question? Ask away: http://ask.fedoraproject.org



[Index of Archives]     [Older Fedora Users]     [Fedora Announce]     [Fedora Package Announce]     [EPEL Announce]     [EPEL Devel]     [Fedora Magazine]     [Fedora Summer Coding]     [Fedora Laptop]     [Fedora Cloud]     [Fedora Advisory Board]     [Fedora Education]     [Fedora Security]     [Fedora Scitech]     [Fedora Robotics]     [Fedora Infrastructure]     [Fedora Websites]     [Anaconda Devel]     [Fedora Devel Java]     [Fedora Desktop]     [Fedora Fonts]     [Fedora Marketing]     [Fedora Management Tools]     [Fedora Mentors]     [Fedora Package Review]     [Fedora R Devel]     [Fedora PHP Devel]     [Kickstart]     [Fedora Music]     [Fedora Packaging]     [Fedora SELinux]     [Fedora Legal]     [Fedora Kernel]     [Fedora OCaml]     [Coolkey]     [Virtualization Tools]     [ET Management Tools]     [Yum Users]     [Yosemite News]     [Gnome Users]     [KDE Users]     [Fedora Art]     [Fedora Docs]     [Fedora Sparc]     [Libvirt Users]     [Fedora ARM]

  Powered by Linux