GNOME Bugzilla – Bug 741348
Make the symbol check test more robust
Last modified: 2015-09-01 15:46:47 UTC
This test fails for some Debian/Ubuntu builds, because certain symbols are placed in the data sections for "small objects", which are denoted in nm's output with "G" or "S". Check these two. Failing output looks like: /usr/bin/make check-local make[4]: Entering directory '/build/buildd/libsoup2.4-2.49.1/libsoup' Checking libsoup-2.4.so symbols --- ./libsoup-2.4.sym 2014-11-22 22:49:36.000000000 +0000 +++ - 2014-12-10 14:13:28.773920956 +0000 @@ -1,21 +0,0 @@ -_SOUP_METHOD_CONNECT -_SOUP_METHOD_COPY -_SOUP_METHOD_DELETE -_SOUP_METHOD_GET -_SOUP_METHOD_HEAD -_SOUP_METHOD_LOCK -_SOUP_METHOD_MKCOL -_SOUP_METHOD_MOVE -_SOUP_METHOD_OPTIONS -_SOUP_METHOD_POST -_SOUP_METHOD_PROPFIND -_SOUP_METHOD_PROPPATCH -_SOUP_METHOD_PUT -_SOUP_METHOD_TRACE -_SOUP_METHOD_UNLOCK -_SOUP_URI_SCHEME_DATA -_SOUP_URI_SCHEME_FILE -_SOUP_URI_SCHEME_FTP -_SOUP_URI_SCHEME_HTTP -_SOUP_URI_SCHEME_HTTPS -_SOUP_URI_SCHEME_RESOURCE @@ -450 +428,0 @@ -soup_ssl_supported and also while we're here, run sort in `env -i', so that the user's environment can't influence the output and it can be compared against the list in tree more reliably.
Created attachment 292459 [details] [review] symbols test: find symbols in the {un,}initialised data section for small objects Sometimes our symbols, particularly global variables, may be placed here. We should output these symbols for comparison with the in-tree .sym file.
Created attachment 292460 [details] [review] Run sort in an `env -i' clean environment So that the user's settings cannot pollute the sorting, meaning that the comparison with the canonical .sym file is stable.
(In reply to comment #2) > Created an attachment (id=292460) [details] [review] > Run sort in an `env -i' clean environment > > So that the user's settings cannot pollute the sorting, meaning that the > comparison with the canonical .sym file is stable. It already sets LANG... is there anything else that could be affecting it? Hm... maybe it should be setting LC_ALL instead
Maybe - I didn't fancy risking not catching something from the session, so just went for the most complete approach.
[mass-moving all "UNCONFIRMED" libsoup bugs to "NEW" after disabling the "UNCONFIRMED" status for this product now that bugzilla.gnome.org allows that. bugspam-libsoup-20150210]
Gentle ping
oops, sorry. I committed the first patch shortly after you filed the bug. The second problem (using LC_ALL rather than LANG) got fixed later.
Ah, awesome, thanks!