2011-12-28 00:29:25 Elias Pipping napisaĆ(a): > 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.
You can call `configure` with --enable-local-library-preloading option. -- Arfrever Frehtes Taifersar Arahesis
signature.asc
Description: This is a digitally signed message part.