En/na Ellery Newcomer ha escrit:
On 06/25/2010 10:45 AM, Jordi Sayol i salomó wrote:
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.)
But doesn't your package manager automatically take care of those
dependencies?
I have no idea about this. In my computer I only can install 386 linux version,
with 32 bits packages.
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
Don't know. I didn't put them there. All I have is
Requires: glibc-devel(x86-32)
Requires: gcc
Other stuff must have gotten added by the rpm build somehow.
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.
Does it allow different versions of your OS, or just different
architectures?
In Your computer (64 bits), You can install different versions of different
linux OS of 32 and 64 bits.
More generally, what is it? :)
chroot command do a simple thing, changes the root "/" to a chosen directory,
but prior to use it, You must install an OS on it.
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.
How much of that does the %config directive take care of?
Until I know, %config tag include the files that must keep on upgrade process,
this is not so useful in this case.
If You upgrade from dmd v1.062 to v2.047, You need to add
"-Ipath/to/includes/druntime/import" on dmd.conf
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