Hello,
I get a couple of test failures with subversion 1.7.2; using the trunk
instead does not help.
Here are the test failures:
Running tests in db-test [7/85]FAILURE
Running tests in entries-compat-test [10/85]FAILURE
Running tests in op-depth-test [17/85]FAILURE
Running tests in pristine-store-test [21/85]FAILURE
Running tests in tree-conflict-data-test [34/85]FAILURE
Running tests in authz_tests.py [37/85][SKIPPED] Python sqlite3 module required
Let me take just one of those tests, db-test:
% python ./build/run_tests.py --config-file ./subversion/tests/tests.conf . . subversion/tests/libsvn_wc/db-test
Running tests in db-test [1/1]FAILURE
At least one test FAILED, checking /home/pipping/subversion-1.7.2/tests.log
FAIL: db-test: Unknown test failure; see tests.log.
Summary of test results:
1 test FAILED
%
A look at the log file reveals:
% < tests.log
START: db-test
/home/pipping/subversion-1.7.2/subversion/tests/libsvn_wc/.libs/db-test: symbol lookup error: /home/pipping/subversion
-1.7.2/subversion/tests/libsvn_wc/.libs/db-test: undefined symbol: svn_io_remove_file2
FAIL: db-test: Unknown test failure; see tests.log.
END: db-test
ELAPSED: db-test 0:00:00.106494
%
And indeed, running the test manually yields:
% libtool --mode execute ./subversion/tests/libsvn_wc/db-test
/home/pipping/subversion-1.7.2/subversion/tests/libsvn_wc/.libs/db-test: symbol lookup error: /home/pipping/subversion-1.7.2/subversion/tests/libsvn_wc/.libs/db-test: undefined symbol: svn_io_remove_file2
%
That symbol is there, however.
This happens if I set the LD_LIBRARY_PATH correctly (the way libtool
--mode execute should):
% LD_LIBRARY_PATH=./subversion/libsvn_wc/.libs/:./subversion/libsvn_subr/.libs:./subversion/tests/.libs ./subversion/tests/libsvn_wc/.libs/db-test
PASS: db-test 1: get information from wc.db
PASS: db-test 2: insert different nodes into wc.db
PASS: db-test 3: getting the list of BASE or WORKING children
PASS: db-test 4: reading information about the WORKING tree
PASS: db-test 5: creation of per-directory handles
PASS: db-test 6: scanning added working nodes
PASS: db-test 7: deletion introspection functions
PASS: db-test 8: relocating a node
PASS: db-test 9: work queue processing
PASS: db-test 10: externals store
%
Here's what libtool sets LD_LIBRARY_PATH to:
% grep LD_LIBRARY_PATH=\" ./subversion/tests/libsvn_wc/db-test
LD_LIBRARY_PATH="/home/pipping/subversion-1.7.2/subversion/libsvn_client/.libs:/home/pipping/subversion-1.7.2/subversion/libsvn_wc/.libs:/home/pipping/subversion-1.7.2/subversion/libsvn_ra/.libs:/home/pipping/subversion-1.7.2/subversion/libsvn_ra_local/.libs:/home/pipping/subversion-1.7.2/subversion/libsvn_ra_svn/.libs:/home/pipping/subversion-1.7.2/subversion/libsvn_ra_neon/.libs:/usr/lib64:/home/pipping/subversion-1.7.2/subversion/tests/.libs:/home/pipping/subversion-1.7.2/subversion/libsvn_repos/.libs:/home/pipping/subversion-1.7.2/subversion/libsvn_fs/.libs:/home/pipping/subversion-1.7.2/subversion/libsvn_fs_fs/.libs:/home/pipping/subversion-1.7.2/subversion/libsvn_fs_util/.libs:/home/pipping/subversion-1.7.2/subversion/libsvn_delta/.libs:/home/pipping/subversion-1.7.2/subversion/libsvn_diff/.libs:/home/pipping/subversion-1.7.2/subversion/libsvn_subr/.libs:$LD_LIBRARY_PATH"
%
Given how hard to read that is, here's that string again with colons
replaced by newlines:
/home/pipping/subversion-1.7.2/subversion/libsvn_client/.libs
/home/pipping/subversion-1.7.2/subversion/libsvn_wc/.libs
/home/pipping/subversion-1.7.2/subversion/libsvn_ra/.libs
/home/pipping/subversion-1.7.2/subversion/libsvn_ra_local/.libs
/home/pipping/subversion-1.7.2/subversion/libsvn_ra_svn/.libs
/home/pipping/subversion-1.7.2/subversion/libsvn_ra_neon/.libs
/usr/lib64
/home/pipping/subversion-1.7.2/subversion/tests/.libs
/home/pipping/subversion-1.7.2/subversion/libsvn_repos/.libs
/home/pipping/subversion-1.7.2/subversion/libsvn_fs/.libs
/home/pipping/subversion-1.7.2/subversion/libsvn_fs_fs/.libs
/home/pipping/subversion-1.7.2/subversion/libsvn_fs_util/.libs
/home/pipping/subversion-1.7.2/subversion/libsvn_delta/.libs
/home/pipping/subversion-1.7.2/subversion/libsvn_diff/.libs
/home/pipping/subversion-1.7.2/subversion/libsvn_subr/.libs
$LD_LIBRARY_PATH
The problem is with /usr/lib64. That is where an old version of
subversion (1.6.17) lives. Removing /usr/lib64 from that string makes
the db-test pass. Consequently, the aforementioned problem occurs if an
old version of subversion is installed and vanishes immediately once
that version is uninstalled.
This is clearly not desirable -- had I had e.g. subversion 1.7.1
installed instead of 1.6.17, I take it the tests would've passed,
fooling me into thinking what I had built had passed its tests when in
fact they'd never been run.
Best regards,
Elias Pipping
Received on 2011-12-28 00:30:02 CET