[Ecls-list] quite successfull build Tru64 (ev68) 5.1 with gcc 4.2.3

Fausto Saporito fausto.saporito at gmail.com
Thu Aug 14 09:37:53 UTC 2014


Hello all,

eventually I completed the build.

In order to avoid some arbitrary change in the code, I adopted a
different solution.
So, just to recap:

1) build gmp outside the process (using native compiler but using the
source provided in the package). I found some asm errors compiling
within the building process. So I preferred to build separately with
the Compaq CC.

2) some missing definition : UULONG_MAX, etc. I added in src/c/main.d
the following lines (borrowed by INTERNET ... if I remember well they
are from Bruno Haible)

# define TYPE_SIGNED(t) (! ((t) 0 < (t) -1))

# define TYPE_MAXIMUM(t) \
    ((t) (! TYPE_SIGNED (t) \
      ? (t) -1 \
     : ~ (~ (t) 0 << (sizeof (t) * CHAR_BIT - 1))))

# ifndef ULONG_LONG_MAX
#  define ULONG_LONG_MAX TYPE_MAXIMUM (unsigned long long)
# endif
# ifndef LONG_LONG_MAX
#  define LONG_LONG_MAX TYPE_MAXIMUM (long long int)
# endif
# ifndef LONG_LONG_MIN
#  define LONG_LONG_MIN TYPE_MINIMUM (long long int)
# endif

3) setup these env variable, before to run configure:

   a) LIBS="-lpthread -lrt"
   b) CFLAGS="-D_POSIX_PII_SOCKET -DAF_LOCAL=AF_UNIX"

then I used this parameters to configure:

./configure --without-x --disable-shared --enable-c99complex

The item 2) should be fixed in a different way, but I don't know how
to do this... i.e. create a new include file ? or modify source.d in a
permanent way with some #ifdef.

regards,
Fausto

2014-08-13 21:31 GMT+02:00 Fausto Saporito <fausto.saporito at gmail.com>:
> Hello all,
>
> just to say I was quite able to build ecl-13.5.1
>
> some changes to the standard build process:
>
> 1) build gmp outside the process (using native compiler but using the
> source provided in the package). I found some asm errors compiling
> within the building process. So I preferred to build separately with
> the Compaq CC.
>
> 2) ecl_min building: is missing -lpthread and -lrt otherwise we have
> undefined symbols
>
> 3) some missing definition : UULONG_MAX, etc. I added in src/c/main.d
> the following lines (borrowed by INTERNET ... if I remember well they
> are from Bruno Haible)
>
> # define TYPE_SIGNED(t) (! ((t) 0 < (t) -1))
>
> # define TYPE_MAXIMUM(t) \
>     ((t) (! TYPE_SIGNED (t) \
>       ? (t) -1 \
>      : ~ (~ (t) 0 << (sizeof (t) * CHAR_BIT - 1))))
>
> # ifndef ULONG_LONG_MAX
> #  define ULONG_LONG_MAX TYPE_MAXIMUM (unsigned long long)
> # endif
> # ifndef LONG_LONG_MAX
> #  define LONG_LONG_MAX TYPE_MAXIMUM (long long int)
> # endif
> # ifndef LONG_LONG_MIN
> #  define LONG_LONG_MIN TYPE_MINIMUM (long long int)
> # endif
>
> quite at end I have a serious error, compiling ext/socket.c
> complaining that socklen_t is not defined... so I added
>
> typedef unsigned long socklen_t; /* 64-bits */ in ecl-cmp.h
>
> but now, running again the make I have an error:
>
> ;;; Compiling #<concatenated stream 0000000144c36e60>
> (compile-file "ext:sockets;sockets.lisp" :output-file
> #P"BUILD:EXT;SOCKETS.O.NEWEST" :SYSTEM-P T :C-FILE T :DATA-FILE T
> :H-FILE T)
> ;;;
> ;;; Compiling EXT:SOCKETS;SOCKETS.LISP.
> ;;; OPTIMIZE levels: Safety=2, Space=1, Speed=1, Debug=1
> ;;;
>
> Condition of type: SIMPLE-PACKAGE-ERROR
> There exists no package with name "SB-BSD-SOCKETS"
>
> Should I delete build directory and make again everything ?
>
> I used --without-x and --enable-c99complex options, the other ones are
> the default ones.
>
> regards
> Fausto




More information about the ecl-devel mailing list