D rpm packages for Linux

Jordi Sayol i salomó g.sayol at yahoo.es
Fri Jun 25 08:45:00 PDT 2010


En/na Ellery Newcomer ha escrit:
> On 06/25/2010 03:46 AM, Jordi Sayol i Salomó wrote:
>>
>> Many thanks for Your answer.
>>
>> This rpm package is build for a i386 platform, and it's only installable
>> on a i386 system (without force it to), so the dependencies are for i386
>> installation. Of course It can be forced to install in another platform
>> as x86_64, alpha, arm, hppa, mips, mipsel, powerpc, s390, sparc, etc.
>> but I cannot assure that the compiler will work on all of them.
> 
> Well, yeah, but from personal experience I can attest that dmd works 
> fine on x86_64 (as does, like, every other 32 bit package), and dmd 
> works fine with 64 bit gcc. at least on my install (fedora 13 - what do 
> you use?).

I use Ubuntu 9.10 i386, and there are a lot of 32 bit packages that do not works on a 64 bit system without a previous trick (installing some 32 bit library packages, etc.)

> 
> You talk
>> about the glibc-devel package, but this is not the only one needed by
>> the compiler, dmd also needs gcc (32 bits) and in Your rpm (as in mine)
>> do not specifies anything about arch, also there is a missing library on
>> Your rpm, libgcc_s.so.1 is needed too by dmd.
> 
> Really? The gcc dependency doesn't automatically bring in libgcc? Is 
> that what the GCCVER2 business is about?

Well, can You assure that in all rpm Linux systems (not only in Fedora/red-hat) everything needed will be installed?
From another point of view, if You think that the libgcc_s.so.1 will be automatically installed, Why Your rpm has these other libraries on the Requires (dependencies) tag? libc.so.6, libm.so.6 and libstdc++.so.6

> 
>>
>> One solution for this problem is to explain the trick needed to install
>> the ix86 dmd rpm package on a x86_64 system, as Walter has done with the
>> same situation for the dmd deb package,
>> http://www.digitalmars.com/d/2.0/dmd-linux.html#installation
> 
> The trick for doing this on fedora 86_64 is just
> 
> yum install gcc glibc-devel.i686
> 
> and then putting dmd wherever. Works fine.

To make it easier, and if do not affects on a i386 installation, I'll change "glibc-devel" for "glibc-devel(x86-32)" on the rpm dependencies.

> 
>>
>> Another one is to create a x86_64 rpm package of dmd 32 bits compiler. I
>> don't like this solution because when dmd 64 bits appears in the near
>> future, this will be a source of confusion.
> 
> yeah, don't do that.

I'll not :-)

> 
>>
>> And My preferred solution, create a i386 chroot machine inside Your
>> x86_64 system, install dmd package on it and compile Yours D programs on
>> it too.
> 
> I've never found a need to do this (and I also don't know how).

Try it! is clean, easy and faster than other virtual machines, for text mode. I don't know how to install it in Fedora.
In Ubuntu just install "debootstrap". On Debian-like systems, chroot is used to build/compile packages for other architectures    than the host system, if it is possible.

Another thing about the creation of dmd rpm package. As You know, dmd.conf is a configuration file, and so, it can be changed by another future packages (i.e. gtkd o qtd) or by the final user. I think is not a good solution to just put it on the place, otherwise You have to make some checks during the package installation, upgrading and removing process. Check if the file exist, if not, create it, if exist, modify it to assure that dmd will properly compile, etc.

Finally, I do my best to build these packages but, of course, I make a lot of mistakes, hope you tell me what can be corrected/improved. And from my side, this is not a competition on who creates the best dmd package, I just want to have a minimal quality dmd packages to easy install/remove on my system. If You do the job, I'll be very happy to enjoy it.

Best regards,
-- 
Jordi Sayol


-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3638 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://lists.puremagic.com/pipermail/digitalmars-d-announce/attachments/20100625/b0ddeed7/attachment-0001.bin>


More information about the Digitalmars-d-announce mailing list