From Bugzilla Helper: User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322) Description of problem: A symlink of "libaio.so" is not created when libaio is installed. This happens to break the lam package. Version-Release number of selected component (if applicable): libaio-0.3.99-2 How reproducible: Always Steps to Reproduce: 1.install libaio Additional info:
I don't believe lam requires this symlink to be there. Please verify this. I will, however, update the package to create the symlink, since it should be there. Thanks.
Sorry, the .so file is there, it's in the -devel package. This is where it belongs. If you are not having problems installing lam, I'd like to close this bug.
To clarify a little - installing the lam rpm requires libaio to be installed as a prerequisite (not the -devel package, as far as I can tell). Although the lam package appears to install OK, it is, in fact broken, as attempting to run the MPI compiler demonstrates: [basu@siren basu]$ mpicc hello.c /usr/bin/ld: cannot find -laio collect2: ld returned 1 exit status mpicc: No such file or directory [basu@siren basu]$ Adding the .so reference by hand appears to fix the problem.
Also - this is probably a novice question on my part - but what is the point of installing (or providing) a libaio package that installs a libaio.so.1 and a libaio.so.1.0.0 but no libaio.so? Why would the dynamic library only belong in the -devel form of the package?
It belongs into the -devel package only, because it is a version-less shared object, which is required at compile/link-time (here, too!) and must not be required at run-time. Occasionally, there are applications, which access such library file names at run-time, but they ought to be fixed to access the versioned libraries instead. If the libaio.so soft-link were included in the main libaio package, it would be more difficult to install multiple versions of libaio at once, because only one libaio.so could be in default linker search path. The issue here is that "lam" is a development/programming system and hence may depend on -devel packages to be installed in order to work fully. Here the MPI compiler asks the linker to link against libaio. Not requiring libaio-devel would be like a C++ compiler without C++ Standard library and headers.
Btw, mpic++ wants gcc-c++, mpif77 wants gcc-g77, mpicc wants gcc
I've built a new lam package with the proper requires line for the compilers and libaio-devel. However, it will be a while before it appears in rawhide due to the fact the we are past the Fedora Core 3 development freeze.
How about FC3 updates?
BTW: I don't see the update in rawhide or cvs yet.. From: http://cvs.fedora.redhat.com/viewcvs/devel/lam/lam.spec?rev=1.15&view=auto BuildRequires: gcc-g77 fileutils perl gcc Requires: openssh-server openssh-clients
lam-7.0.6-3 should now fix this problem. It is in both FC3 and FC4: rawhide: ftp://download.fedora.redhat.com/pub/fedora/linux/core/3/i386/os/Fedora/RPMS/lam-7.0.6-3.i386.rpm ftp://download.fedora.redhat.com/pub/fedora/linux/core/development/i386/Fedora/RPMS/lam-7.0.6-3.i386.rpm
I don't see the new dependency on 'aio-devel' (or libaio.so or g++) #rpm -qp --requires lam-7.0.6-3.i386.rpm /usr/bin/env config(lam) = 2:7.0.6-3 libaio.so.1.0.0 libc.so.6 libc.so.6(GLIBC_2.0) libc.so.6(GLIBC_2.1) libc.so.6(GLIBC_2.1.3) libc.so.6(GLIBC_2.2) libc.so.6(GLIBC_2.3) libgcc_s.so.1 libgcc_s.so.1(GCC_3.0) libm.so.6 libpthread.so.0 libpthread.so.0(GLIBC_2.0) libpthread.so.0(GLIBC_2.1) libstdc++.so.6 libstdc++.so.6(CXXABI_1.3) libstdc++.so.6(GLIBCXX_3.4) libutil.so.1 libutil.so.1(GLIBC_2.0) openssh-clients openssh-server rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 # yum install lam <snip> Dependencies Resolved Transaction Listing: Install: lam.i386 2:7.0.6-3 - base Performing the following to resolve dependencies: Install: libaio.i386 0:0.3.102-1 - base Total download size: 2.3 M Is this ok [y/N]:
Yes, but as noted in the previous comments, lam should be depending on a versioned libaio.so, and now does correctly depend on libaio.so.1.0.0, which was picked up by yum update which prompted you to install libaio .
From what I understand from this bugzilla - lam is unuseable unless libaio-devel is installed (and a bunch of compilers also installed) Ref: comment 3 & comment 6 Whatever you've done hasn't solved this problem. Its not like fedora has lam & lam-devel (and the devel version has the correct devel dependencies).
BTW: lam should also have: BuildRequires: gcc-c++, libaio-devel [apart from the primary requirement] Requires: gcc-g77, gcc-c++, libaio-devel
lam is now upgraded to version 7.1.1-1 in FC4 and will shortly be in fc3-updates / fc2-updates - meanwhile, you can download it from: http://people.redhat.com/~jvdias/lam/FC3 http://people.redhat.com/~jvdias/lam/FC2 It also definitely fixes the libaio{,-devel} dependency problem.
7.1.1-1 in rawhide appears to work as expected. Thanks!