akheron / jansson

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

NetBSD 8.1 and 1 of 5 test suites failed #528

Open noloader opened 4 years ago

noloader commented 4 years ago

Hi Everyone,

I'm building jansson-v2.12.tar.gz from sources. I'm working on NetBSD 8.1.

make check is failing:

# TOTAL: 1
# PASS:  0
# SKIP:  0
# XFAIL: 0
# FAIL:  1
# XPASS: 0
# ERROR: 0
==================================================
See test/test-suite.log
Please report to petri@digip.org
==================================================

I'm having trouble going further, however (even with V=1):

$ cat jansson-2.12/test/test-suite.log
=======================================
   jansson 2.12: 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  2020-03-23 18:43:40.269028200 -0400
+++ logs/api/check-exports/output   2020-03-23 18:43:40.273472727 -0400
@@ -1,3 +1,15 @@
+hashtable_clear
+hashtable_close
+hashtable_del
+hashtable_get
+hashtable_init
+hashtable_iter
+hashtable_iter_at
+hashtable_iter_key
+hashtable_iter_next
+hashtable_iter_set
+hashtable_iter_value
+hashtable_set
 json_array
 json_array_append_new
 json_array_clear
@@ -71,3 +83,27 @@
 json_vpack_ex
 json_vsprintf
 json_vunpack_ex
+jsonp_dtostr
+jsonp_error_init
+jsonp_error_set
+jsonp_error_set_source
+jsonp_error_vset
+jsonp_free
+jsonp_malloc
+jsonp_strdup
+jsonp_stringn_nocheck_own
+jsonp_strndup
+jsonp_strtod
+strbuffer_append_byte
+strbuffer_append_bytes
+strbuffer_clear
+strbuffer_close
+strbuffer_init
+strbuffer_pop
+strbuffer_steal_value
+strbuffer_value
+utf8_check_first
+utf8_check_full
+utf8_check_string
+utf8_encode
+utf8_iterate

=================================================================
Suite: encoding-flags
............
Suite: invalid
..................................................
Suite: invalid-unicode
..................
Suite: valid
..................................
1 of 5 test suites failed
FAIL run-suites (exit status: 1)
coreyfarrell commented 4 years ago

This seems like the linker provided by NetBSD is failing to restrict public symbols. I'm not sure what a good solution to this would be.

noloader commented 4 years ago

Thanks @coreyfarrell.

Maybe configure can check if visibility works, and disable the test for a lame linker?

coreyfarrell commented 4 years ago

This seems reasonable but I'm not sure how it would be accomplished. If someone posts a PR I can review it.

tuxillo commented 3 years ago

@coreyfarrell how do you mean 'restrict public symbols' ?

tuxillo commented 3 years ago

For DragonFly BSD, make check gives a similar error. I've seen that src/jansson.def contains a list of exported symbols but I can't seem to find how this is plugged into gcc/binutils' ld.

Also, if I build with cmake it seems a different set of tests is run:

100% tests passed, 0 tests failed out of 212