Need libmpc and dependencies

Issues related to applications and software problems
Post Reply
Unisolve
Posts: 13
Joined: 2011/09/24 22:40:20
Contact:

Need libmpc and dependencies

Post by Unisolve » 2011/09/26 01:01:07

I loaded gfortran 4.5 but now I need various dependencies: libmpc, mpfr, gmp, and who knows how much more.
Is there a way to use rpm/yum or something else to make this easy? (yum resolvedep did not show anything)

Thanks.

Walter

pschaff
Retired Moderator
Posts: 18276
Joined: 2006/12/13 20:15:34
Location: Tidewater, Virginia, North America
Contact:

Need libmpc and dependencies

Post by pschaff » 2011/09/26 18:15:26

CentOS-6 has gcc-gfortran-4.4.4-13.el6, gmp-4.3.1-7.el6, and mpfr-2.4.1-6.el6, and the corresponding -devel packages. EPEL has libmpc-0.8-3.el6 and libmpc-devel-0.8-3.el6. All are installable via yum. If you installed gfortran-4.5 you are probably on your own to find/build compatible packages.

"Who knows how much more" is who knows where. :-)

Unisolve
Posts: 13
Joined: 2011/09/24 22:40:20
Contact:

Re: Need libmpc and dependencies

Post by Unisolve » 2011/09/27 16:31:06

[quote]
pschaff wrote:
CentOS-6 has gcc-gfortran-4.4.4-13.el6, gmp-4.3.1-7.el6, and mpfr-2.4.1-6.el6, and the corresponding -devel packages. EPEL has libmpc-0.8-3.el6 and libmpc-devel-0.8-3.el6. All are installable via yum. If you installed gfortran-4.5 you are probably on your own to find/build compatible packages.

"Who knows how much more" is who knows where. :-)[/quote]
Hi, Phil,

I know gfortran 4.4 is there, but I need the 128-bit floating point support available in version 4.6 and up.
This is sure turning out to be much more than I was expecting. I'm surprised that 128-bit support seems
to be an experimental/leading edge feature on a 64-bit processor.

4.6 seems to be available for Fedora, but how do I resolve all the dependencies? Or do I assume wrongly
that a Fedora rpm will be compatible with CentOS? Can you suggest a best course of action? I already
have the raw binaries installed.

Thanks.

Walter

PS/EDIT: I see that I typed gfortran 4.5 in my initial message; I meant to put 4.6.

------------------
--> Running transaction check
---> Package gcc-gfortran.x86_64 0:4.6.0-6.fc15 set to be updated
--> Processing Dependency: gcc = 4.6.0-6.fc15 for package: gcc-gfortran
--> Processing Dependency: libgfortran = 4.6.0-6.fc15 for package: gcc-gfortran
--> Processing Dependency: libquadmath = 4.6.0-6.fc15 for package: gcc-gfortran
--> Processing Dependency: libquadmath-devel = 4.6.0-6.fc15 for package: gcc-gfortran
--> Processing Dependency: libc.so.6(GLIBC_2.11)(64bit) for package: gcc-gfortran
--> Processing Dependency: libc.so.6(GLIBC_2.14)(64bit) for package: gcc-gfortran
--> Processing Dependency: libmpc.so.2()(64bit) for package: gcc-gfortran
--> Processing Dependency: libmpfr.so.4()(64bit) for package: gcc-gfortran
--> Finished Dependency Resolution
gcc-gfortran-4.6.0-6.fc15.x86_64 from /gcc-gfortran-4.6.0-6.fc15.x86_64 has depsolving problems
--> Missing Dependency: libquadmath-devel = 4.6.0-6.fc15 is needed by package gcc-gfortran-4.6.0-6.fc15.x86_64 (/gcc-gfortran-4.6.0-6.fc15.x86_64)
gcc-gfortran-4.6.0-6.fc15.x86_64 from /gcc-gfortran-4.6.0-6.fc15.x86_64 has depsolving problems
--> Missing Dependency: libmpfr.so.4()(64bit) is needed by package gcc-gfortran-4.6.0-6.fc15.x86_64 (/gcc-gfortran-4.6.0-6.fc15.x86_64)
gcc-gfortran-4.6.0-6.fc15.x86_64 from /gcc-gfortran-4.6.0-6.fc15.x86_64 has depsolving problems
--> Missing Dependency: gcc = 4.6.0-6.fc15 is needed by package gcc-gfortran-4.6.0-6.fc15.x86_64 (/gcc-gfortran-4.6.0-6.fc15.x86_64)
gcc-gfortran-4.6.0-6.fc15.x86_64 from /gcc-gfortran-4.6.0-6.fc15.x86_64 has depsolving problems
--> Missing Dependency: libc.so.6(GLIBC_2.11)(64bit) is needed by package gcc-gfortran-4.6.0-6.fc15.x86_64 (/gcc-gfortran-4.6.0-6.fc15.x86_64)
gcc-gfortran-4.6.0-6.fc15.x86_64 from /gcc-gfortran-4.6.0-6.fc15.x86_64 has depsolving problems
--> Missing Dependency: libc.so.6(GLIBC_2.14)(64bit) is needed by package gcc-gfortran-4.6.0-6.fc15.x86_64 (/gcc-gfortran-4.6.0-6.fc15.x86_64)
gcc-gfortran-4.6.0-6.fc15.x86_64 from /gcc-gfortran-4.6.0-6.fc15.x86_64 has depsolving problems
--> Missing Dependency: libgfortran = 4.6.0-6.fc15 is needed by package gcc-gfortran-4.6.0-6.fc15.x86_64 (/gcc-gfortran-4.6.0-6.fc15.x86_64)
gcc-gfortran-4.6.0-6.fc15.x86_64 from /gcc-gfortran-4.6.0-6.fc15.x86_64 has depsolving problems
--> Missing Dependency: libmpc.so.2()(64bit) is needed by package gcc-gfortran-4.6.0-6.fc15.x86_64 (/gcc-gfortran-4.6.0-6.fc15.x86_64)
gcc-gfortran-4.6.0-6.fc15.x86_64 from /gcc-gfortran-4.6.0-6.fc15.x86_64 has depsolving problems
--> Missing Dependency: libquadmath = 4.6.0-6.fc15 is needed by package gcc-gfortran-4.6.0-6.fc15.x86_64 (/gcc-gfortran-4.6.0-6.fc15.x86_64)
Error: Missing Dependency: libgfortran = 4.6.0-6.fc15 is needed by package gcc-gfortran-4.6.0-6.fc15.x86_64 (/gcc-gfortran-4.6.0-6.fc15.x86_64)
Error: Missing Dependency: libquadmath = 4.6.0-6.fc15 is needed by package gcc-gfortran-4.6.0-6.fc15.x86_64 (/gcc-gfortran-4.6.0-6.fc15.x86_64)
Error: Missing Dependency: libc.so.6(GLIBC_2.14)(64bit) is needed by package gcc-gfortran-4.6.0-6.fc15.x86_64 (/gcc-gfortran-4.6.0-6.fc15.x86_64)
Error: Missing Dependency: libc.so.6(GLIBC_2.11)(64bit) is needed by package gcc-gfortran-4.6.0-6.fc15.x86_64 (/gcc-gfortran-4.6.0-6.fc15.x86_64)
Error: Missing Dependency: gcc = 4.6.0-6.fc15 is needed by package gcc-gfortran-4.6.0-6.fc15.x86_64 (/gcc-gfortran-4.6.0-6.fc15.x86_64)
Error: Missing Dependency: libquadmath-devel = 4.6.0-6.fc15 is needed by package gcc-gfortran-4.6.0-6.fc15.x86_64 (/gcc-gfortran-4.6.0-6.fc15.x86_64)
Error: Missing Dependency: libmpc.so.2()(64bit) is needed by package gcc-gfortran-4.6.0-6.fc15.x86_64 (/gcc-gfortran-4.6.0-6.fc15.x86_64)
Error: Missing Dependency: libmpfr.so.4()(64bit) is needed by package gcc-gfortran-4.6.0-6.fc15.x86_64 (/gcc-gfortran-4.6.0-6.fc15.x86_64)
You could try using --skip-broken to work around the problem
You could try running: package-cleanup --problems
package-cleanup --dupes
rpm -Va --nofiles --nodigest
The program package-cleanup is found in the yum-utils package.
------------------

User avatar
TrevorH
Site Admin
Posts: 33219
Joined: 2009/09/24 10:40:56
Location: Brighton, UK

Re: Need libmpc and dependencies

Post by TrevorH » 2011/09/27 16:56:19

You will almost certainly end up having to rebuild the SRPM from source to get anywhere.

pschaff
Retired Moderator
Posts: 18276
Joined: 2006/12/13 20:15:34
Location: Tidewater, Virginia, North America
Contact:

Re: Need libmpc and dependencies

Post by pschaff » 2011/09/27 19:26:23

[quote]
Unisolve wrote:
...
4.6 seems to be available for Fedora, but how do I resolve all the dependencies? Or do I assume wrongly
that a Fedora rpm will be compatible with CentOS? Can you suggest a best course of action? I already
have the raw binaries installed.
[/quote]
Trying to use Fedora binaries on CentOS is not recommended, for reasons you have demonstrated. I suspect that by the time you replaced enough core packages to satisfy the dependencies for the binary you would have an unstable Fedora/CentOS chimera.

If you must have a later version read about [url=http://wiki.centos.org/HowTos/RebuildSRPM]how to rebuild SRPMs[/url] and use the Fedora SRPM as a starting place, as Trevor recommends. If that starts running into dependency issues, then running Fedora, possibly via [url=http://wiki.centos.org/HowTos#head-fb1ff7e71fb5f2f511cda8c68cb6ba5f6e8decae]virtualization[/url], may be the best option.

[url=http://wiki.centos.org/FAQ/General#head-472ce8446ebcfc82ca1800f775ba0e629ac835c7]FAQ#20. Where can I get the latest version of XyZ.rpm for CentOS? I cannot find it anywhere.[/url]

Unisolve
Posts: 13
Joined: 2011/09/24 22:40:20
Contact:

Re: Need libmpc and dependencies

Post by Unisolve » 2011/09/27 21:27:31

From the gcc-fortran list I got the link to
http://gfortran.com/download/x86_64/gcc-infrastructure.tar.xz
which has the missing library: libmpc.so.2

But! after I unxz'd and untar'd it and copied the libraries into the
/usr/local/lib64 directory, it still gives the same error message:

/usr/local/bin/../libexec/gcc/x86_64-unknown-linux-gnu/4.6.2/f951: error while loading shared libraries: libmpc.so.2: cannot open shared object file: No such file or directory

I know I'm a newbie, but this is really odd.

Walter

pschaff
Retired Moderator
Posts: 18276
Joined: 2006/12/13 20:15:34
Location: Tidewater, Virginia, North America
Contact:

Re: Need libmpc and dependencies

Post by pschaff » 2011/09/28 18:20:54

[url=http://wiki.centos.org/PackageManagement/SourceInstalls]Source Installs[/url] are [b]highly[/b] discouraged. Package based systems should use packages if at all possible. Please read about [url=http://www.centos.org/modules/newbb/viewtopic.php?topic_id=14408&forum=47]Installing Software[/url].

That said, you may need to adjust the library path if you are going to install in non-standard locations.

Unisolve
Posts: 13
Joined: 2011/09/24 22:40:20
Contact:

Re: Need libmpc and dependencies

Post by Unisolve » 2011/09/29 20:15:18

Hi,

It finally occurred to me this morning what to try, and it worked.
This points out my ignorance about Linux and libraries and paths,
but I guess I can just chalk it up to experience and learning.
In my previous attempts, I had copied, I thought, everything to
the /usr/local/ tree for running it, but maybe not.

But this works:

Untar the binaries for gcc 4.6 and this support file:
http://gfortran.com/download/x86_64/gcc-infrastructure.tar.xz,
into some directory, i.e. gcc-4.6/, (moving over the libraries
(lib64/*) from the 'infrastructure' tar).
Then set
export LD_LIBRARY_PATH=~/gcc-4.6/lib64
I set an alias gf=~/gcc-4.6/bin/gfortran
and compiled with
gf test.for

and it worked! Finally!

Walter

pschaff
Retired Moderator
Posts: 18276
Joined: 2006/12/13 20:15:34
Location: Tidewater, Virginia, North America
Contact:

Re: Need libmpc and dependencies

Post by pschaff » 2011/09/29 20:36:12

Glad to hear that works for you, and it has the advantage of not replacing system packages with source installs. I hope it works in the long run as well, but would not be surprised to see issues with shared libraries.

Post Reply