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

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to