[kaffe] libraries/clib/net/InetAddressImpl.c cannot be compiled on old Linux

Dalibor Topic robilad at yahoo.com
Fri May 30 07:06:01 PDT 2003

hi Ito,

--- Ito Kazumitsu <ito.kazumitsu at hitachi-cable.co.jp> wrote:

> Supporting Linux 2.0 may be nothing but a burden for developers,
> but for some users it is badly desired.
> The following is what I did to make the current kaffe run on my
> old Linux machine.  I would NOT insist that this should be
> officially supported.  This is only for reference.

'Officially' supported depends on someone being around paying attention to the
platform in question and raising/fixing the issues coming up. As long as
someone volunteers to fix the problems on a specific platform, I see no problem
supporting it. Some platforms, like m68k-amigaos, can lie asleep for years
until someone comes along and starts getting them up to speed again. I don't
see a problem with that either. 

It seems like you've done a good deal of work necessary to fix the problems on
linux 2.0, so let's see if we can polish it and make sure it works well. Thanks
for providing the patches and figuring out a way to make it work.

> 1. Patch libraries/clib/native/Double.c
>    Strtod() of my Linux is buggy.  So I got a reliable source of
>    strtod.c from somewhere and put it to libraries/clib/native
>    and make Double.c include it.

A better way is to use a replacement mechanism like the one used for getifaddr.

In fact, automake offers bultin support for that using AM_FUNC_STRTOD. I think
that one is supposed to use the strtod.c from libit (libiberty). If that's the
source you used, I'll create a patch that lets kaffe use that strtod function,
in case the system implementation is broken, and post it to the list.

> 2. Patch replace/getifaddrs.c
>    Old Linux does not have linux/netlink.h and linux/rtnetlink.h.
>    So I do not expect kaffe to use replace/getifaddrs.c.

I'll happily let Tim deal with the ipv6 stuff ;)

> 3. Install getaddrinfo.
>    Get getaddrinfo-1.5.1.tar.gz from
>      http://www.sra.co.jp/people/m-kasahr/getaddrinfo/
>    and compile getaddrinfo.c.  This program provides
>    getaddrinfo() and getnameinfo().

License is modified BSD without advertising clause, which is GPL compatible, so
it can be merged in. It's up to Tim to decide if and how it should go in, as he
wrote the IPv6 support.

>    And put getaddrinfo.o to replace/
>    and patch libraries/clib/net/Makefile.in

Linking should work automatically using AC_LIBOBJ(getaddrinfo)

> That is all.  Kaffe can be built on my old Linux machine and runs on it.
> (I am not sure that $(top_builddir)/replace/ is the best place to
> put getaddrinfo.o.)

replace is the 'standard' directory where auto* tools look for replacement
function, afaik. So it should go in there, if Tim 'blesses' it. We'll need a
README file in the replace directory to keep track of where all the files are
coming from ;)

dalibor topic

Do you Yahoo!?
Yahoo! Calendar - Free online calendar with sync to Outlook(TM).

More information about the kaffe mailing list