OpenBUGS program has a pre-compiled )S library from MS Windows. Any possibility to package it?

Kevin Kofler kevin.kofler at chello.at
Wed Jun 15 00:22:21 UTC 2011


Paul Johnson wrote:
> First, the (now open) code for OpenBugs is written in Object Pascal
> and it requires a compiler framework called "Black Box" which is, as
> far as I can understand, available only for MS Windows.  The OpenBUGS
> team compiles that library, and then for linux we use some accessor
> scripts to send jobs to it.
> 
> This, of course, goes against the packaging policy that pre-compiled
> libraries are prohibited.
> 
> I was wondering if there could be an exception here, since the code is
> actually available and open.  This is more reasonable than
> re-packaging the closed Nvidia drivers, for example.

The code must be compilable with a Free compiler. If it is not (which seems 
to be the case here, unfortunately), it must be fixed (ported) to be.

In this case, the most obvious candidates would probably be 
FreePascal/Lazarus and GPC, but porting to a completely different, more 
commonly used language (I'd suggest C++) might also be worth considering for 
upstream (depending on how hard it is to port to a Free Pascal compiler).

> Second, there is a little packaging problem for 64 bit systems.  The
> library that is provided is only 32 bit, and to build it for a 64 bit
> system, there is a somewhat confusing situation. The library itself
> gets put into /usr/lib, which is supposed to be for 64 bit libraries.
> And to make the whole thing package up in a workable way, the arch
> ends up saying the packge is x86_64, even though it is only 32 bit.

This is entirely unacceptable (and yet another reason why prebuilt binaries 
are unacceptable).

If a package cannot be built as 64-bit, it must be ExcludeArch: x86_64 and 
then it can be put on the multilib whitelist. But really, it needs to be 
fixed to be buildable natively instead! That mostly means getting it to 
compile with a Free compiler, then fixing 64-bit issues, if any, becomes 
rather easy in my experience.

> To run OpenBUGS on a 64 bit system, one h as to install the 32bit libc
> packages.

That's exactly why such 32-bit stuff doesn't belong into an x86_64 package. 
In fact, Koji will not let you build 32-bit binaries in an x86_64 package, 
almost all 32-bit multilibs are explicitly blacklisted in the x86_64 
repository configuration to prevent you from doing exactly that.

> In the current Fedora framework, I can't understand if that is
> supposed to happen.

No. 32-bit binaries are not allowed in x86_64 packages.

        Kevin Kofler



More information about the devel mailing list