Discussion:
[Gc] "make check" failed on my platform
Jerry Brown
2017-04-19 14:49:55 UTC
Permalink
When building this library whose version is 7.6.0 with 'libatomic_ops 7.4.4' on my Linux computer, firstly I successfully ran the './configure' and 'make'. But when I ran 'make check', it is reported that there is one test failed. Because I'm new about this library, I have no idea at all. So could you please tell me whether it's something wrong when doing configure or it's an error in this library?
The sources of those library are downloaded on the website http://www.hboehm.info/gc/.
Looking forward to your reply.
Richard A. O'Keefe
2017-04-20 05:58:32 UTC
Permalink
Which test failed?
Stefan Ring
2017-04-20 08:04:11 UTC
Permalink
Post by Richard A. O'Keefe
Which test failed?
It's harder to spot in the attachment, but we have to give the OP
credit, as the info is in fact there:

FAIL: test_cpp
==============

usage: test_cpp number-of-iterations
Assuming 10 iters
Starting iteration 1
FAIL test_cpp (exit status: 134)

It doesn't work for me either, although I get an interesting crash dump:
*** Error in `./test_cpp': free(): invalid pointer: 0x0000000001a91fe0 ***
======= Backtrace: =========
/lib64/libc.so.6(+0x7570b)[0x7f3392f7170b]
/lib64/libc.so.6(+0x7deaa)[0x7f3392f79eaa]
/lib64/libc.so.6(cfree+0x4c)[0x7f3392f7d40c]
./test_cpp[0x4040bf]
/lib64/libc.so.6(__libc_start_main+0xf1)[0x7f3392f1c731]
./test_cpp[0x405089]
======= Memory map: ========
00400000-00423000 r-xp 00000000 08:13 13923111
/home/sr/temp/g/bdwgc/test_cpp
00622000-00623000 r--p 00022000 08:13 13923111
/home/sr/temp/g/bdwgc/test_cpp
00623000-00624000 rw-p 00023000 08:13 13923111
/home/sr/temp/g/bdwgc/test_cpp
00624000-00758000 rw-p 00000000 00:00 0
0199e000-01c33000 rw-p 00000000 00:00 0 [heap]
[...]
./test-driver: line 107: 18713 Aborted (core dumped)
"$@" > $log_file 2>&1
FAIL: test_cpp

It works when I omit the --disable-shared.
Richard A. O'Keefe
2017-04-21 02:30:36 UTC
Permalink
I thought I'd try this on a Mac to see whether it was different.
gc-7.6.0 came without libatomic_ops but tried to use it.
cc -O -I./include -I./libatomic_ops/src -DGC_ATOMIC_UNCOLLECTABLE -DNO_EXECUTE_PERMISSION -DALL_INTERIOR_POINTERS -c -o fnlz_mlc.o fnlz_mlc.c
make: *** No rule to make target `libatomic_ops/src/atomic_ops.c', needed by `atomic_ops.o'. Stop.

I went back to the web site and followed the instructions:
% mkdir gc.d
% cd gc.d
% git clone git://github.com/ivmai/libatomic_ops.git
% git clone git://github.com/ivmai/bdwgc.git
% ln -s libatomic_ops/ bdwgc/libatomic_ops
% cd bdwgc
% autoreconf -vif
% automake --add-missing
% ./configure --prefix=$HOME/local
...
checking for sys/dg_sys_info.h... no
./configure: line 17050: syntax error near unexpected token `ATOMIC_OPS,'
./configure: line 17050: ` PKG_CHECK_MODULES(ATOMIC_OPS, atomic_ops, ,'

# Note: "syntax error near unexpected token ATOMIC_OPS" reported by configure
# means Autotools pkg.m4 file was not found during aclocal.m4 generation.
missing_libatomic_ops=false
if test x"$with_libatomic_ops" != xno; then :
PKG_CHECK_MODULES(ATOMIC_OPS, atomic_ops, ,
missing_libatomic_ops=true )
fi

I haven't the least idea what to do about this, so I am unable to compare the
Linux result with the OSX result, sorry.

Loading...