Multiarch question

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

 



I have a question on how multiarch rpm is supposed to work. I'm told by those who understand rpm better than me, that if you try to install the x86 and x86_64 versions of a package on a x86_64 box that they will not conflict. And that if they do conflict, there's a packaging bug.

I have a case where the i386 and x86_64 versions of an rpm have files that conflict with each other, but I don't believe there's a packaging bug. As such, I'd like some clarification on how multiarch packages should work.

The package in question is for mpich. One of the files in this package is a shell script, /usr/bin/mpicc. This shell script contains a reference to where the mpich libraries are installed (%{_libdir}). The i386 package has a line that reads:
libdir=/usr/lib
and the x86_64 version has a line that reads:
libdir=/usr/lib64


Since they're different, the packages have different md5sums, and thus conflict.

Another case is that mpich customizes some header files for the platform its on. As such, I get some differences like this:
-#define MPI2CPP_ATTR long
+#define MPI2CPP_ATTR int


and:
-      PARAMETER (MPI_OFFSET_KIND=4)
+      PARAMETER (MPI_OFFSET_KIND=8)

(the last one comes from a fortran include file)

Now, I could fix the shell script with a line like:
libdir=`rpm --eval %{_libdir}`

and maybe fix the header files with a #ifdef (or equivalent for fortran). However, this seems like a bit much. And it doesn't cover other cases, like where a manpage, or README file may have a reference to %{_libdir} in it.

As such, it seems to me that there are valid cases where the files currently conflict that don't really strike me as a packaging bug. Is there a consensus in the rpm community about the "right" way to handle these cases? And if the packages should be changed, or if rpm should have a way to handle these cases? Or if you should just separate out the shared libs into their own package and not worry about installing the other 32-bit packages on 64-bit machines?

Thanks,


Sean

_______________________________________________
Rpm-list mailing list
Rpm-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/rpm-list

[Index of Archives]     [RPM Ecosystem]     [Linux Kernel]     [Red Hat Install]     [PAM]     [Red Hat Watch]     [Red Hat Development]     [Red Hat]     [Gimp]     [Yosemite News]     [IETF Discussion]

  Powered by Linux