akheron / jansson

C library for encoding, decoding and manipulating JSON data
http://www.digip.org/jansson/
Other
3.05k stars 808 forks source link

CMake succeeds, but make check fails #613

Closed Steampunkery closed 2 years ago

Steampunkery commented 2 years ago

I am trying to compile jansson for arm-none-eabi to run on an Arm Cortex-M3. I successfully used autoconf with ./configure --target=arm-none-gnueabi --host=arm-none-gnueabi. I then ran make with no errors. I am running Ubuntu 21.10.

When I ran make check, I get the following output:

Making check in doc
make[1]: Entering directory '/home/thomasokeeffe/Downloads/jansson-2.14/doc'
make[1]: Nothing to be done for 'check'.
make[1]: Leaving directory '/home/thomasokeeffe/Downloads/jansson-2.14/doc'
Making check in src
make[1]: Entering directory '/home/thomasokeeffe/Downloads/jansson-2.14/src'
make[1]: Nothing to be done for 'check'.
make[1]: Leaving directory '/home/thomasokeeffe/Downloads/jansson-2.14/src'
Making check in test
make[1]: Entering directory '/home/thomasokeeffe/Downloads/jansson-2.14/test'
Making check in bin
make[2]: Entering directory '/home/thomasokeeffe/Downloads/jansson-2.14/test/bin'
make  json_process
make[3]: Entering directory '/home/thomasokeeffe/Downloads/jansson-2.14/test/bin'
make[3]: 'json_process' is up to date.
make[3]: Leaving directory '/home/thomasokeeffe/Downloads/jansson-2.14/test/bin'
make[2]: Leaving directory '/home/thomasokeeffe/Downloads/jansson-2.14/test/bin'
Making check in suites
make[2]: Entering directory '/home/thomasokeeffe/Downloads/jansson-2.14/test/suites'
Making check in api
make[3]: Entering directory '/home/thomasokeeffe/Downloads/jansson-2.14/test/suites/api'
make  test_array test_chaos test_copy test_dump test_dump_callback test_equal test_fixed_size test_load test_load_callback test_loadb test_memory_funcs test_number test_object test_pack test_simple test_sprintf test_unpack test_version
make[4]: Entering directory '/home/thomasokeeffe/Downloads/jansson-2.14/test/suites/api'
make[4]: 'test_array' is up to date.
make[4]: 'test_chaos' is up to date.
make[4]: 'test_copy' is up to date.
make[4]: 'test_dump' is up to date.
make[4]: 'test_dump_callback' is up to date.
make[4]: 'test_equal' is up to date.
make[4]: 'test_fixed_size' is up to date.
make[4]: 'test_load' is up to date.
make[4]: 'test_load_callback' is up to date.
make[4]: 'test_loadb' is up to date.
make[4]: 'test_memory_funcs' is up to date.
make[4]: 'test_number' is up to date.
make[4]: 'test_object' is up to date.
make[4]: 'test_pack' is up to date.
make[4]: 'test_simple' is up to date.
make[4]: 'test_sprintf' is up to date.
make[4]: 'test_unpack' is up to date.
make[4]: 'test_version' is up to date.
make[4]: Leaving directory '/home/thomasokeeffe/Downloads/jansson-2.14/test/suites/api'
make[3]: Leaving directory '/home/thomasokeeffe/Downloads/jansson-2.14/test/suites/api'
make[3]: Entering directory '/home/thomasokeeffe/Downloads/jansson-2.14/test/suites'
make[3]: Nothing to be done for 'check-am'.
make[3]: Leaving directory '/home/thomasokeeffe/Downloads/jansson-2.14/test/suites'
make[2]: Leaving directory '/home/thomasokeeffe/Downloads/jansson-2.14/test/suites'
Making check in ossfuzz
make[2]: Entering directory '/home/thomasokeeffe/Downloads/jansson-2.14/test/ossfuzz'
make[2]: Nothing to be done for 'check'.
make[2]: Leaving directory '/home/thomasokeeffe/Downloads/jansson-2.14/test/ossfuzz'
make[2]: Entering directory '/home/thomasokeeffe/Downloads/jansson-2.14/test'
make  check-TESTS
make[3]: Entering directory '/home/thomasokeeffe/Downloads/jansson-2.14/test'
make[4]: Entering directory '/home/thomasokeeffe/Downloads/jansson-2.14/test'
FAIL: run-suites
============================================================================
Testsuite summary for jansson 2.14
============================================================================
# TOTAL: 1
# PASS:  0
# SKIP:  0
# XFAIL: 0
# FAIL:  1
# XPASS: 0
# ERROR: 0
============================================================================
See test/test-suite.log
Please report to https://github.com/akheron/jansson/issues
============================================================================
make[4]: *** [Makefile:678: test-suite.log] Error 1
make[4]: Leaving directory '/home/thomasokeeffe/Downloads/jansson-2.14/test'
make[3]: *** [Makefile:786: check-TESTS] Error 2
make[3]: Leaving directory '/home/thomasokeeffe/Downloads/jansson-2.14/test'
make[2]: *** [Makefile:883: check-am] Error 2
make[2]: Leaving directory '/home/thomasokeeffe/Downloads/jansson-2.14/test'
make[1]: *** [Makefile:570: check-recursive] Error 1
make[1]: Leaving directory '/home/thomasokeeffe/Downloads/jansson-2.14/test'
make: *** [Makefile:642: check-recursive] Error 1

Here is the content of test/test-suite.log:

=======================================
   jansson 2.14: test/test-suite.log
=======================================

# TOTAL: 1
# PASS:  0
# SKIP:  0
# XFAIL: 0
# FAIL:  1
# XPASS: 0
# ERROR: 0

.. contents:: :depth: 2

FAIL: run-suites
================

Suite: api
F..................
=================================================================
api/check-exports
=================================================================
--- logs/api/check-exports/exports      2022-05-19 20:41:17.661682341 -0400
+++ logs/api/check-exports/output       2022-05-19 20:41:17.669682551 -0400
@@ -1,81 +1,81 @@
-jansson_version_cmp
-jansson_version_str
-json_array
-json_array_append_new
-json_array_clear
-json_array_extend
-json_array_get
-json_array_insert_new
-json_array_remove
-json_array_set_new
-json_array_size
-json_copy
-json_deep_copy
-json_delete
-json_dumpb
-json_dump_callback
-json_dumpf
-json_dumpfd
-json_dump_file
-json_dumps
-json_equal
-json_false
-json_get_alloc_funcs
-json_integer
-json_integer_set
-json_integer_value
-json_loadb
-json_load_callback
-json_loadf
-json_loadfd
-json_load_file
-json_loads
-json_null
-json_number_value
-json_object
-json_object_clear
-json_object_del
-json_object_deln
-json_object_get
-json_object_getn
-json_object_iter
-json_object_iter_at
-json_object_iter_key
-json_object_iter_key_len
-json_object_iter_next
-json_object_iter_set_new
-json_object_iter_value
-json_object_key_to_iter
-json_object_seed
-json_object_set_new
-json_object_set_new_nocheck
-json_object_setn_new
-json_object_setn_new_nocheck
-json_object_size
-json_object_update
-json_object_update_existing
-json_object_update_missing
-json_object_update_recursive
-json_pack
-json_pack_ex
-json_real
-json_real_set
-json_real_value
-json_set_alloc_funcs
-json_sprintf
-json_string
-json_string_length
-json_stringn
-json_stringn_nocheck
-json_string_nocheck
-json_string_set
-json_string_setn
-json_string_setn_nocheck
-json_string_set_nocheck
-json_string_value
-json_true
-json_unpack
-json_unpack_ex
-json_vpack_ex
-json_vsprintf
-json_vunpack_ex
+jansson_version_cmp@@libjansson.so.4
+jansson_version_str@@libjansson.so.4
+json_array_append_new@@libjansson.so.4
+json_array_clear@@libjansson.so.4
+json_array_extend@@libjansson.so.4
+json_array_get@@libjansson.so.4
+json_array_insert_new@@libjansson.so.4
+json_array@@libjansson.so.4
+json_array_remove@@libjansson.so.4
+json_array_set_new@@libjansson.so.4
+json_array_size@@libjansson.so.4
+json_copy@@libjansson.so.4
+json_deep_copy@@libjansson.so.4
+json_delete@@libjansson.so.4
+json_dumpb@@libjansson.so.4
+json_dump_callback@@libjansson.so.4
+json_dumpfd@@libjansson.so.4
+json_dump_file@@libjansson.so.4
+json_dumpf@@libjansson.so.4
+json_dumps@@libjansson.so.4
+json_equal@@libjansson.so.4
+json_false@@libjansson.so.4
+json_get_alloc_funcs@@libjansson.so.4
+json_integer@@libjansson.so.4
+json_integer_set@@libjansson.so.4
+json_integer_value@@libjansson.so.4
+json_loadb@@libjansson.so.4
+json_load_callback@@libjansson.so.4
+json_loadfd@@libjansson.so.4
+json_load_file@@libjansson.so.4
+json_loadf@@libjansson.so.4
+json_loads@@libjansson.so.4
+json_null@@libjansson.so.4
+json_number_value@@libjansson.so.4
+json_object_clear@@libjansson.so.4
+json_object_del@@libjansson.so.4
+json_object_deln@@libjansson.so.4
+json_object_get@@libjansson.so.4
+json_object_getn@@libjansson.so.4
+json_object_iter_at@@libjansson.so.4
+json_object_iter_key_len@@libjansson.so.4
+json_object_iter_key@@libjansson.so.4
+json_object_iter@@libjansson.so.4
+json_object_iter_next@@libjansson.so.4
+json_object_iter_set_new@@libjansson.so.4
+json_object_iter_value@@libjansson.so.4
+json_object_key_to_iter@@libjansson.so.4
+json_object@@libjansson.so.4
+json_object_seed@@libjansson.so.4
+json_object_set_new@@libjansson.so.4
+json_object_set_new_nocheck@@libjansson.so.4
+json_object_setn_new@@libjansson.so.4
+json_object_setn_new_nocheck@@libjansson.so.4
+json_object_size@@libjansson.so.4
+json_object_update_existing@@libjansson.so.4
+json_object_update@@libjansson.so.4
+json_object_update_missing@@libjansson.so.4
+json_object_update_recursive@@libjansson.so.4
+json_pack_ex@@libjansson.so.4
+json_pack@@libjansson.so.4
+json_real@@libjansson.so.4
+json_real_set@@libjansson.so.4
+json_real_value@@libjansson.so.4
+json_set_alloc_funcs@@libjansson.so.4
+json_sprintf@@libjansson.so.4
+json_string_length@@libjansson.so.4
+json_string@@libjansson.so.4
+json_stringn@@libjansson.so.4
+json_stringn_nocheck@@libjansson.so.4
+json_string_nocheck@@libjansson.so.4
+json_string_set@@libjansson.so.4
+json_string_setn@@libjansson.so.4
+json_string_setn_nocheck@@libjansson.so.4
+json_string_set_nocheck@@libjansson.so.4
+json_string_value@@libjansson.so.4
+json_true@@libjansson.so.4
+json_unpack_ex@@libjansson.so.4
+json_unpack@@libjansson.so.4
+json_vpack_ex@@libjansson.so.4
+json_vsprintf@@libjansson.so.4
+json_vunpack_ex@@libjansson.so.4

=================================================================
Suite: invalid
..................................................
Suite: invalid-unicode
..................
Suite: valid
..................................
1 of 4 test suites failed
FAIL run-suites (exit status: 1)
akheron commented 2 years ago

The test is faulty in jansson 2.14, but has been fixed in master. It only checks that correct symbols are exported in the shared library, no actual functionality is broken :)