D rpm packages for Linux
Jordi Sayol i salomó
g.sayol at yahoo.es
Fri Jun 25 12:21:05 PDT 2010
En/na Neal Becker ha escrit:
> Jordi Sayol i salomó wrote:
>
>> En/na Andrei Alexandrescu ha escrit:
>>> On 06/25/2010 03:46 AM, Jordi Sayol i Salomó wrote:
>>>> En/na Ellery Newcomer ha escrit:
>>>>> On 06/24/2010 01:14 PM, Jordi Sayol i Salomó wrote:
>>>>>> En/na Ellery Newcomer ha escrit:
>>>>>>> Also note that mine doesn't fail on x86_64
>>>>>>>
>>>>>>> (you need to add glibc-devel(x86-32) specifically as a dependency)
>>>>>>>
>>>>>> Can You be more explicit?
>>>>>> I've not a 64 bit system available.
>>>>>>
>>>>> dmd links to ctnrl.o or something like that, which is in glibc-devel
>>>>> and must be 32 bit. If the 32 bit version ain't there, there be linker
>>>>> errors on compile.
>>>>>
>>>>> in the spec file, after
>>>>>
>>>>> Requires: gcc
>>>>>
>>>>> add
>>>>>
>>>>> Requires: glibc-devel(x86-32)
>>>>>
>>>>> I know nothing of specific minimum version or anything like that,
>>>>> though.
>>>>>
>>>> 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. 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.
>>>>
>>>> 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
>>>>
>>>> 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.
>>>>
>>>> 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.
>>> Wait, isn't there a way to say in an rpm "if the target OS is 64-bit
>>> then insert this dependency, otherwise don't"?
>>>
>>> Andrei
>>>
>> Until I know, there is not a direct way on rpm and deb packaging system to
>> do that.
>>
>> There is an scripting system to do what You want, but of course, You have
>> to do all the job.
>>
>> Best regards,
>
> What about
> Requires:
Requiers: tag includes a list of packages and/or libraries needed to properly run the application, but it do not select which dependencies are needed depending if the OS is 32 or 64 bits.
--
Jordi Sayol
More information about the Digitalmars-d-announce
mailing list