bug-gnu-utils
[Top][All Lists]
Advanced

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

Re: debian gettext and java


From: Bruno Haible
Subject: Re: debian gettext and java
Date: Mon, 11 Jul 2005 13:04:39 +0200
User-agent: KMail/1.5

Santiago Vila wrote:
> A little bit naively (I admit), I decided to fix this by building
> gettext using gcj, but as a side effect, the gettext package ended up
> depending on libgcj4, which is a very big package, and nobody was
> happy with this.

Very big? libgcj.so.4.0.0 is 8.5 MB (on PowerPC) or 11.5 MB (on x86).
Have you already seen gcc-4.0.0: it installs a libgcj.so.6.0.0, which
is 15.5 MB when stripped and 63 MB with debug information (on x86).
The static library that accompanies it, libgcj.a, is 14 MB when stripped
and 127 MB with debug information (on x86).
Is this enough to readjust your notion of "big"? :-)
(And don't even attempt to build it if you have less than 1.2 GB of
free disk space!)

> A closer look at the problem in #244215 (thanks go to Denis Barbier)
> showed that the ugly warning message could be avoided with little effort.
> ...
> So what I did as a simple and effective fix to remove the ugly warning 
> was to apply the following patch to the Debian gettext package:
>
> diff -ru gettext-0.14.5.orig/gettext-tools/src/urlget.c
> gettext-0.14.5/gettext-tools/src/urlget.c ---
> gettext-0.14.5.orig/gettext-tools/src/urlget.c        2005-05-20
> 22:44:41.000000000 +0200 +++
> gettext-0.14.5/gettext-tools/src/urlget.c     2005-05-25 19:37:23.657696728
> +0200 @@ -239,7 +239,7 @@
>  fetch (const char *url, const char *file)
>  {
>    /* First try: using Java.  */
> -  {
> +  if (0) {
>      const char *class_name = "gnu.gettext.GetURL";
>      const char *gettextjexedir;
>      const char *gettextjar;
>
> and then added a fields "Recommends: curl | wget | lynx" to the package
> to ensure that people honoring the recommends have at least one of the
> other alternatives.

It's logical that if you don't install the gnu.gettext.GetURL program,
you also have to comment out its invocation.

> However, it would be nice if gnu.gettext.GetURL.main could handle
> a --version option, as suggested by Denis, so that I do not need to
> disable the java part in urlget.c.

No, that's not enough reason to treat GetURL like a program from a
separate package. I distribute code that fits nicely together; it's
logical that if you remove a program from a package, you also have
to comment out its invocation.

> Quoting Denis:
> > I did not have a close look at gnu.gettext.DumpResource, but
> > gnu.gettext.GetURL (which triggered #244215) is only used by
> > /usr/lib/gettext/urlget.

Whereas gnu.gettext.DumpResource is impossible to get rid of, without
limiting the functionality of the 'msgunfmt' program. IIRC, there are
2 tests from the testsuite which fail if you attempt this.

So, instead of asking the question "how to get rid of all pieces of
Java code", the question should be "how to install a Java execution
environment that doesn't eat up so much disk space". The answer to
this question is libgcj.jar (in /usr/share/java/): For gcc-3.3,
libgcj.jar is 4.4 MB, and for gcc-4.0.0, libgcj.jar is 9 MB, i.e.
roughly half the size of the .so. Unfortunately 'gij' is linked
against libgcj.so. It would be interesting to see if you can compile
a small part of libgcj to a libgcjboot.so - enough so that gij can
run - and use libgcj.jar for the rest.

Bruno





reply via email to

[Prev in Thread] Current Thread [Next in Thread]