Building cairo on a Raspberry Pi 2 (ARM Cortex-A7 MPCore processor) with the following sequence: git clone git://git.cairographics.org/git/cairo git verify-tag 1.14.2 git checkout -b build 1.14.2 ./autogen.sh make make check latter stage fails due to : ... make[4]: Leaving directory '/home/pi/work/cairo/cairo/src' make check-TESTS make[4]: Entering directory '/home/pi/work/cairo/cairo/src' Checking that .libs/libcairo.so has the same symbol list as cairo.def 1a2,3 > __end__ > _bss_end__ FAIL: check-def.sh Checking documentation for incorrect syntax PASS: check-doc-syntax.sh Checking public headers for missing cairo_public decorators PASS: check-headers.sh Checking .libs/libcairo.so for local PLT entries PASS: check-plt.sh Checking that public header files #include "cairo.h" first (or none) Checking that private header files #include "some cairo header" first (or none) Checking that source files #include "cairoint.h" first (or none) Checking that there is no #include <cairo.*.h> Checking that feature conditionals are used with #if only (not #ifdef) PASS: check-preprocessor-syntax.sh Check linking to the just built cairo library PASS: check-link ======================================================================== 1 of 6 tests failed Please report to http://bugs.freedesktop.org/enter_bug.cgi?product=cairo ======================================================================== Makefile:2453: recipe for target 'check-TESTS' failed
Hmm, I'm not reproducing this bug on PC: $ ./check-def.sh Checking that .libs/libcairo.so has the same symbol list as cairo.def $ echo $? But I'm not sure what __end__ and _bss_end__ signify. It looks like the check-def.sh script essentially is running nm on .libs/libcairo.sh and comparing the (filtered) output with what's in cairo.def. Perhaps you could do this manually to figure out what's going on? I notice that the script excludes various things such as lines starting with __bss or _end, so perhaps it ought to also be excluding _bss?
Created attachment 116748 [details] [review] Exclude _bss Here's a patch you could try out to exclude the _bss* symbol that causes it to fail. See if this enables the check to pass.
Ping?
Closing as expired, feel free to reopen if the issue is still relevant for that platform. Feedback on the proposed patch would be appreciated.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.