-
Notifications
You must be signed in to change notification settings - Fork 682
Closed
Description
Steps to reproduce:
$ ./configure --build=i686-pc-linux-gnu --host=i686-pc-linux-gnu CC='clang -m32' CXX='clang++ -m32' && make && make check
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
<..snip...>
make check-TESTS
make[4]: Entering directory '/home/moxian/work/harfbuzz/build/src'
make[5]: Entering directory '/home/moxian/work/harfbuzz/build/src'
PASS: check-c-linkage-decls.sh
FAIL: check-defs.sh
PASS: check-header-guards.sh
PASS: check-includes.sh
PASS: check-libstdc++.sh
PASS: check-static-inits.sh
FAIL: check-symbols.sh
PASS: test-ot-tag
============================================================================
Testsuite summary for HarfBuzz 1.4.6
============================================================================
# TOTAL: 8
# PASS: 6
# SKIP: 0
# XFAIL: 0
# FAIL: 2
# XPASS: 0
# ERROR: 0
============================================================================
See src/test-suite.log
Please report to https://github.com/behdad/harfbuzz/issues/new
============================================================================
The contents of src/check-symbols.sh.log (src/check-defs.sh.log is very similar):
Checking that we are not exposing internal symbols
Processing .libs/libharfbuzz.so
<...~35800 blank lines ommited ...>
Ouch, internal symbols exposed
FAIL check-symbols.sh (exit status: 1)
The reason for that is that nm src/.libs/libharfbuzz.so outputs the following:
00000000 N
0000002d N
0000004b N
00000070 N
00019e85 N
0000007d N
<.. ~38000 of similar lines skipped...>
0006139a N
0000dc71 N
U __assert_fail@@GLIBC_2.0
00052730 t atexit
0008663e r bracket_pairs
00094310 B __bss_start
U calloc@@GLIBC_2.0
<...the rest of "normal" output...>
00074030 r _ZZL14thai_pua_shapej13thai_action_tP9hb_font_tE11SD_mappings
000740e4 r _ZZL14thai_pua_shapej13thai_action_tP9hb_font_tE11SL_mappings
0007409c r _ZZL14thai_pua_shapej13thai_action_tP9hb_font_tE12SDL_mappings
I think empty lines should not be considered to be "exposing internal symbols", and should be filtered for the purpose of the test (e.g. by adding | grep -v '^$' to the EXPORTED_SYMBOLS definition).
Metadata
Metadata
Assignees
Labels
No labels