[Ecls-list] Problem building from git
Jeronimo Pellegrini
jpn at aleph0.info
Fri Jan 30 01:48:36 UTC 2009
Hello;
I'm trying to compile ECL from the git repository (updated
until commit 60af256996e9848439686e3b78559e8c5d1001ec,
"The previous fix did not include all possible values of
structure-type."). This is on an amd64 Debian machine,
with gcc-4.3.3
This is what happens:
rm -rf build
./configure
... (no problems)
make clean
make
...
...
gcc -DECLDIR="\"/usr/local/lib/ecl-9.1.0\"" -c -DECL_API -I. -I/home/jeronimo/pkg/ecl/build -I/home/jeronimo/pkg/ecl/src/c -I../ecl/gc -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -g -O0 -fPIC -D_THREAD_SAFE -Dlinux -o file.o file.c
../../src/c/file.d: In function ‘ecl_make_file_stream_from_fd’:
../../src/c/file.d:3138: warning: cast to pointer from integer of different size
../../src/c/file.d: In function ‘ecl_stream_to_handle’:
../../src/c/file.d:3595: warning: cast from pointer to integer of different size
../../src/c/file.d:3601: warning: cast from pointer to integer of different size
../../src/c/file.d:3605: warning: cast from pointer to integer of different size
../../src/c/file.d: In function ‘ecl_off_t_to_integer’:
../../src/c/file.d:4430: warning: right shift count >= width of type
../../src/c/file.d: In function ‘ecl_integer_to_off_t’:
../../src/c/file.d:4461: warning: left shift count >= width of type
../../src/c/file.d: At top level:
../../src/c/file.d:4621: error: conflicting types for ‘invalid_codepoint’
../../src/c/file.d:97: error: previous declaration of ‘invalid_codepoint’ was here
make[2]: *** [file.o] Error 1
make[2]: Leaving directory `/home/jeronimo/pkg/ecl/build/c'
make[1]: *** [libeclmin.a] Error 2
make[1]: Leaving directory `/home/jeronimo/pkg/ecl/build'
make: *** [all] Error 2
In file.d:
static void invalid_codepoint(cl_object strm, int c);
...
static void
invalid_codepoint(cl_object stream, cl_fixnum c)
{
FEerror("When reading stream ~A with external format ~A,~%"
"found an invalid character code, ~D.",
3, stream, cl_stream_external_format(stream), MAKE_FIXNUM(c));
}
(Declaration and definition have different signatures)
Changing the definition of invalid_codepoint to
tatic void
invalid_codepoint(cl_object stream, cl_fixnum c)
{
...
}
Makes if compile again. (I actually suppose they both should be unsigned
char -- no?)
However, it breaks later:
cp /home/jeronimo/pkg/ecl/src/../contrib/unicode/ucd.dat .
if [ -f CROSS-COMPILER ]; then \
./CROSS-COMPILER compile; \
else \
ECLDIR=`pwd`/ ./ecl_min compile; \
fi
Internal or unrecoverable error in:
Got signal before environment was installed on our thread.
/bin/sh: line 4: 20478 Aborted ECLDIR=`pwd`/ ./ecl_min compile
make[1]: *** [bin/ecl] Error 134
make[1]: Leaving directory `/home/jeronimo/pkg/ecl/build'
make: *** [all] Error 2
I'm not sure if this is a known problem or not, so I'm reporting...
If I configure with --disable-unicode, it still happens:
ln -s /home/jeronimo/pkg/ecl/src/cmp/sysfun.lsp ./
echo "#" `uname -a` > BUILD-STAMP
head -8 config.log | tail -6 >> BUILD-STAMP
head: cannot open `config.log' for reading: No such file or directory
cp /home/jeronimo/pkg/ecl/src/../contrib/unicode/ucd.dat .
if [ -f CROSS-COMPILER ]; then \
./CROSS-COMPILER compile; \
else \
ECLDIR=`pwd`/ ./ecl_min compile; \
fi
Internal or unrecoverable error in:
Got signal before environment was installed on our thread.
/bin/sh: line 4: 31802 Aborted ECLDIR=`pwd`/ ./ecl_min compile
make[1]: *** [bin/ecl] Error 134
make[1]: Leaving directory `/home/jeronimo/pkg/ecl/build'
make: *** [all] Error 2
Is there a workaround?
Thanks!
J.
More information about the ecl-devel
mailing list