Can't make babudb for C++

19 views
Skip to first unread message

stephen_...@sbcglobal.net

unread,
Oct 8, 2012, 2:10:43 PM10/8/12
to bab...@googlegroups.com
I downloaded babudb including the C++ parts to an Ubuntu 10.4 system.  I then used cmake to generate make files, by cd'ing to babudb/cpp and issuing "cmake .".  Unfortunately, when I ran make, it failed, with the following output.  I am unfamiliar with cmake and so don't understand why make is failing.  Can you provide me with any help on how to build babudb for C++?

Thanks,

Steve

stephen@StephenMorgan:~/babudb/cpp$ make
Scanning dependencies of target babudb
[  3%] Building CXX object CMakeFiles/babudb.dir/src/test_main.cpp.o
[  6%] Building CXX object CMakeFiles/babudb.dir/src/lookup_iterator.cpp.o
In file included from /home/stephen/babudb/cpp/include/babudb/key.h:12:0,
                 from /home/stephen/babudb/cpp/include/babudb/lookup_iterator.h:17,
                 from /home/stephen/babudb/cpp/src/lookup_iterator.cpp:9:
/home/stephen/babudb/cpp/include/babudb/buffer.h:154:16: warning: class ‘babudb::Buffer’ is implicitly friends with itself
[ 10%] Building CXX object CMakeFiles/babudb.dir/src/merged_index.cpp.o
In file included from /home/stephen/babudb/cpp/src/merged_index.h:18:0,
                 from /home/stephen/babudb/cpp/src/merged_index.cpp:9:
/home/stephen/babudb/cpp/include/babudb/buffer.h:154:16: warning: class ‘babudb::Buffer’ is implicitly friends with itself
[ 13%] Building CXX object CMakeFiles/babudb.dir/src/database.cpp.o
In file included from /home/stephen/babudb/cpp/include/babudb/database.h:34:0,
                 from /home/stephen/babudb/cpp/src/database.cpp:9:
/home/stephen/babudb/cpp/include/babudb/buffer.h:154:16: warning: class ‘babudb::Buffer’ is implicitly friends with itself
[ 17%] Building CXX object CMakeFiles/babudb.dir/src/util.cpp.o
[ 20%] Building CXX object CMakeFiles/babudb.dir/src/string_db.cpp.o
In file included from /home/stephen/babudb/cpp/include/babudb/key.h:12:0,
                 from /home/stephen/babudb/cpp/include/babudb/profiles/string_key.h:17,
                 from /home/stephen/babudb/cpp/include/babudb/profiles/string_db.h:16,
                 from /home/stephen/babudb/cpp/src/string_db.cpp:9:
/home/stephen/babudb/cpp/include/babudb/buffer.h:154:16: warning: class ‘babudb::Buffer’ is implicitly friends with itself
[ 24%] Building CXX object CMakeFiles/babudb.dir/src/log_index.cpp.o
In file included from /home/stephen/babudb/cpp/include/babudb/key.h:12:0,
                 from /home/stephen/babudb/cpp/src/log_index.h:7,
                 from /home/stephen/babudb/cpp/src/log_index.cpp:4:
/home/stephen/babudb/cpp/include/babudb/buffer.h:154:16: warning: class ‘babudb::Buffer’ is implicitly friends with itself
[ 27%] Building CXX object CMakeFiles/babudb.dir/src/log/log_iterator.cpp.o
In file included from /home/stephen/babudb/cpp/include/babudb/log/log_iterator.h:9:0,
                 from /home/stephen/babudb/cpp/src/log/log_iterator.cpp:4:
/home/stephen/babudb/cpp/include/babudb/buffer.h:154:16: warning: class ‘babudb::Buffer’ is implicitly friends with itself
[ 31%] Building CXX object CMakeFiles/babudb.dir/src/log/record_frame.cpp.o
[ 34%] Building CXX object CMakeFiles/babudb.dir/src/log/log.cpp.o
In file included from /home/stephen/babudb/cpp/include/babudb/log/log_section.h:15:0,
                 from /home/stephen/babudb/cpp/include/babudb/log/log.h:29,
                 from /home/stephen/babudb/cpp/src/log/log.cpp:9:
/home/stephen/babudb/cpp/include/babudb/buffer.h:154:16: warning: class ‘babudb::Buffer’ is implicitly friends with itself
/home/stephen/babudb/cpp/src/log/log.cpp: In function ‘babudb::DiskSections babudb::scanAvailableLogSections(const std::string&)’:
/home/stephen/babudb/cpp/src/log/log.cpp:64:37: warning: ‘auto_ptr’ is deprecated (declared at /usr/include/c++/4.5/backward/auto_ptr.h:86)
[ 37%] Building CXX object CMakeFiles/babudb.dir/src/log/record_iterator.cpp.o
In file included from /home/stephen/babudb/cpp/src/log/record_iterator.cpp:11:0:
/home/stephen/babudb/cpp/include/babudb/buffer.h:154:16: warning: class ‘babudb::Buffer’ is implicitly friends with itself
[ 41%] Building CXX object CMakeFiles/babudb.dir/src/log/log_section.cpp.o
In file included from /home/stephen/babudb/cpp/include/babudb/log/log_section.h:15:0,
                 from /home/stephen/babudb/cpp/src/log/log_section.cpp:9:
/home/stephen/babudb/cpp/include/babudb/buffer.h:154:16: warning: class ‘babudb::Buffer’ is implicitly friends with itself
/home/stephen/babudb/cpp/src/log/log_section.cpp: In member function ‘void babudb::LogSection::Append(const babudb::Serializable&)’:
/home/stephen/babudb/cpp/src/log/log_section.cpp:28:3: warning: comparison between signed and unsigned integer expressions
[ 44%] Building CXX object CMakeFiles/babudb.dir/src/log/log_storage.cpp.o
In file included from /home/stephen/babudb/cpp/include/babudb/log/log_storage.h:13:0,
                 from /home/stephen/babudb/cpp/src/log/log_storage.cpp:8:
/home/stephen/babudb/cpp/include/babudb/buffer.h:154:16: warning: class ‘babudb::Buffer’ is implicitly friends with itself
[ 48%] Building CXX object CMakeFiles/babudb.dir/src/log/sequential_file.cpp.o
In file included from /home/stephen/babudb/cpp/include/babudb/log/log_storage.h:13:0,
                 from /home/stephen/babudb/cpp/src/log/sequential_file.cpp:12:
/home/stephen/babudb/cpp/include/babudb/buffer.h:154:16: warning: class ‘babudb::Buffer’ is implicitly friends with itself
[ 51%] Building CXX object CMakeFiles/babudb.dir/src/log/log_section_iterator.cpp.o
[ 55%] Building CXX object CMakeFiles/babudb.dir/src/index/merger.cpp.o
In file included from /home/stephen/babudb/cpp/include/babudb/key.h:12:0,
                 from /home/stephen/babudb/cpp/src/index/index.h:20,
                 from /home/stephen/babudb/cpp/src/index/merger.h:12,
                 from /home/stephen/babudb/cpp/src/index/merger.cpp:9:
/home/stephen/babudb/cpp/include/babudb/buffer.h:154:16: warning: class ‘babudb::Buffer’ is implicitly friends with itself
[ 58%] Building CXX object CMakeFiles/babudb.dir/src/index/index_writer.cpp.o
In file included from /home/stephen/babudb/cpp/src/index/index_writer.h:11:0,
                 from /home/stephen/babudb/cpp/src/index/index_writer.cpp:9:
/home/stephen/babudb/cpp/include/babudb/buffer.h:154:16: warning: class ‘babudb::Buffer’ is implicitly friends with itself
[ 62%] Building CXX object CMakeFiles/babudb.dir/src/index/index.cpp.o
In file included from /home/stephen/babudb/cpp/include/babudb/key.h:12:0,
                 from /home/stephen/babudb/cpp/src/index/index.h:20,
                 from /home/stephen/babudb/cpp/src/index/index.cpp:9:
/home/stephen/babudb/cpp/include/babudb/buffer.h:154:16: warning: class ‘babudb::Buffer’ is implicitly friends with itself
/home/stephen/babudb/cpp/src/index/index.cpp: In static member function ‘static babudb::ImmutableIndex::DiskIndices babudb::ImmutableIndex::FindIndices(const std::string&)’:
/home/stephen/babudb/cpp/src/index/index.cpp:185:37: warning: ‘auto_ptr’ is deprecated (declared at /usr/include/c++/4.5/backward/auto_ptr.h:86)
Linking CXX static library libbabudb.a
[ 62%] Built target babudb
Scanning dependencies of target babudb_tests
[ 65%] Building CXX object CMakeFiles/babudb_tests.dir/src/database_test.cpp.o
In file included from /home/stephen/babudb/cpp/include/babudb/database.h:34:0,
                 from /home/stephen/babudb/cpp/src/database_test.cpp:9:
/home/stephen/babudb/cpp/include/babudb/buffer.h:154:16: warning: class ‘babudb::Buffer’ is implicitly friends with itself
[ 68%] Building CXX object CMakeFiles/babudb_tests.dir/src/string_db_test.cpp.o
In file included from /home/stephen/babudb/cpp/include/babudb/key.h:12:0,
                 from /home/stephen/babudb/cpp/include/babudb/profiles/string_key.h:17,
                 from /home/stephen/babudb/cpp/include/babudb/profiles/string_db.h:16,
                 from /home/stephen/babudb/cpp/src/string_db_test.cpp:9:
/home/stephen/babudb/cpp/include/babudb/buffer.h:154:16: warning: class ‘babudb::Buffer’ is implicitly friends with itself
[ 72%] Building CXX object CMakeFiles/babudb_tests.dir/src/lookup_iterator_test.cpp.o
In file included from /home/stephen/babudb/cpp/include/babudb/log/log_section.h:15:0,
                 from /home/stephen/babudb/cpp/include/babudb/log/log.h:29,
                 from /home/stephen/babudb/cpp/src/lookup_iterator_test.cpp:10:
/home/stephen/babudb/cpp/include/babudb/buffer.h:154:16: warning: class ‘babudb::Buffer’ is implicitly friends with itself
[ 75%] Building CXX object CMakeFiles/babudb_tests.dir/src/merged_index_test.cpp.o
In file included from /home/stephen/babudb/cpp/include/babudb/database.h:34:0,
                 from /home/stephen/babudb/cpp/src/merged_index_test.cpp:8:
/home/stephen/babudb/cpp/include/babudb/buffer.h:154:16: warning: class ‘babudb::Buffer’ is implicitly friends with itself
[ 79%] Building CXX object CMakeFiles/babudb_tests.dir/src/log_index_test.cpp.o
In file included from /home/stephen/babudb/cpp/include/babudb/database.h:34:0,
                 from /home/stephen/babudb/cpp/src/log_index_test.cpp:4:
/home/stephen/babudb/cpp/include/babudb/buffer.h:154:16: warning: class ‘babudb::Buffer’ is implicitly friends with itself
[ 82%] Building CXX object CMakeFiles/babudb_tests.dir/src/log/sequential_file_test.cpp.o
In file included from /home/stephen/babudb/cpp/include/babudb/log/log_storage.h:13:0,
                 from /home/stephen/babudb/cpp/src/log/sequential_file_test.cpp:10:
/home/stephen/babudb/cpp/include/babudb/buffer.h:154:16: warning: class ‘babudb::Buffer’ is implicitly friends with itself
[ 86%] Building CXX object CMakeFiles/babudb_tests.dir/src/log/log_iterator_test.cpp.o
In file included from /home/stephen/babudb/cpp/include/babudb/key.h:12:0,
                 from /home/stephen/babudb/cpp/include/babudb/profiles/string_key.h:17,
                 from /home/stephen/babudb/cpp/src/log/log_iterator_test.cpp:9:
/home/stephen/babudb/cpp/include/babudb/buffer.h:154:16: warning: class ‘babudb::Buffer’ is implicitly friends with itself
/home/stephen/babudb/cpp/src/log/log_iterator_test.cpp: In member function ‘virtual void LogIteratorTest::runTest()’:
/home/stephen/babudb/cpp/src/log/log_iterator_test.cpp:69:36: warning: ‘auto_ptr’ is deprecated (declared at /usr/include/c++/4.5/backward/auto_ptr.h:86)
/home/stephen/babudb/cpp/src/log/log_iterator_test.cpp: In member function ‘virtual void LogIteratorOneSectionAndEraseTest::runTest()’:
/home/stephen/babudb/cpp/src/log/log_iterator_test.cpp:138:34: warning: ‘auto_ptr’ is deprecated (declared at /usr/include/c++/4.5/backward/auto_ptr.h:86)
[ 89%] Building CXX object CMakeFiles/babudb_tests.dir/src/log/log_test.cpp.o
In file included from /home/stephen/babudb/cpp/include/babudb/log/log_section.h:15:0,
                 from /home/stephen/babudb/cpp/include/babudb/log/log.h:29,
                 from /home/stephen/babudb/cpp/src/log/log_test.cpp:9:
/home/stephen/babudb/cpp/include/babudb/buffer.h:154:16: warning: class ‘babudb::Buffer’ is implicitly friends with itself
[ 93%] Building CXX object CMakeFiles/babudb_tests.dir/src/index/index_writer_test.cpp.o
In file included from /home/stephen/babudb/cpp/include/babudb/key.h:12:0,
                 from /home/stephen/babudb/cpp/include/babudb/profiles/string_key.h:17,
                 from /home/stephen/babudb/cpp/src/index/index_writer_test.cpp:12:
/home/stephen/babudb/cpp/include/babudb/buffer.h:154:16: warning: class ‘babudb::Buffer’ is implicitly friends with itself
[ 96%] Building CXX object CMakeFiles/babudb_tests.dir/src/index/index_test.cpp.o
In file included from /home/stephen/babudb/cpp/include/babudb/key.h:12:0,
                 from /home/stephen/babudb/cpp/include/babudb/profiles/string_key.h:17,
                 from /home/stephen/babudb/cpp/src/index/index_test.cpp:12:
/home/stephen/babudb/cpp/include/babudb/buffer.h:154:16: warning: class ‘babudb::Buffer’ is implicitly friends with itself
[100%] Building CXX object CMakeFiles/babudb_tests.dir/src/test_main.cpp.o
Linking CXX executable babudb_tests
CMakeFiles/babudb_tests.dir/src/database_test.cpp.o:(.gcc_except_table+0x17c): undefined reference to `typeinfo for yield::PlatformException'
CMakeFiles/babudb_tests.dir/src/database_test.cpp.o: In function `yield::Path::Path(char const*, unsigned long, bool)':
database_test.cpp:(.text._ZN5yield4PathC2EPKcmb[_ZN5yield4PathC5EPKcmb]+0x61): undefined reference to `yield::Path::init(char const*, unsigned long, bool)'
CMakeFiles/babudb_tests.dir/src/database_test.cpp.o: In function `yield::Path::Path(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)':
database_test.cpp:(.text._ZN5yield4PathC2ERKSsb[_ZN5yield4PathC5ERKSsb]+0x65): undefined reference to `yield::Path::init(char const*, unsigned long, bool)'
CMakeFiles/babudb_tests.dir/src/database_test.cpp.o: In function `yield::Path::operator+(yield::Path const&) const':
database_test.cpp:(.text._ZNK5yield4PathplERKS0_[yield::Path::operator+(yield::Path const&) const]+0x26): undefined reference to `yield::Path::join(yield::Path const&) const'
CMakeFiles/babudb_tests.dir/src/database_test.cpp.o: In function `TestCaseTmpDir::setUp()':
database_test.cpp:(.text._ZN14TestCaseTmpDir5setUpEv[TestCaseTmpDir::setUp()]+0x6e): undefined reference to `yield::DiskOperations::exists(yield::Path const&)'
database_test.cpp:(.text._ZN14TestCaseTmpDir5setUpEv[TestCaseTmpDir::setUp()]+0xfe): undefined reference to `yield::DiskOperations::rmtree(yield::Path const&, unsigned long)'
database_test.cpp:(.text._ZN14TestCaseTmpDir5setUpEv[TestCaseTmpDir::setUp()]+0x154): undefined reference to `yield::DiskOperations::mkdir(yield::Path const&, unsigned long)'
database_test.cpp:(.text._ZN14TestCaseTmpDir5setUpEv[TestCaseTmpDir::setUp()]+0x1d7): undefined reference to `yield::DiskOperations::mkdir(yield::Path const&, unsigned long)'
CMakeFiles/babudb_tests.dir/src/string_db_test.cpp.o:(.gcc_except_table+0xf4): undefined reference to `typeinfo for yield::PlatformException'
CMakeFiles/babudb_tests.dir/src/lookup_iterator_test.cpp.o:(.gcc_except_table+0xf4): undefined reference to `typeinfo for yield::PlatformException'
CMakeFiles/babudb_tests.dir/src/merged_index_test.cpp.o:(.gcc_except_table+0xf4): undefined reference to `typeinfo for yield::PlatformException'
CMakeFiles/babudb_tests.dir/src/log_index_test.cpp.o:(.gcc_except_table+0x164): undefined reference to `typeinfo for yield::PlatformException'
CMakeFiles/babudb_tests.dir/src/log/sequential_file_test.cpp.o:(.gcc_except_table+0xf4): undefined reference to `typeinfo for yield::PlatformException'
CMakeFiles/babudb_tests.dir/src/log/log_iterator_test.cpp.o:(.gcc_except_table+0xf4): more undefined references to `typeinfo for yield::PlatformException' follow
libbabudb.a(database.cpp.o): In function `babudb::Database::ImportIndex(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)':
database.cpp:(.text+0xdfb): undefined reference to `yield::DiskOperations::rename(yield::Path const&, yield::Path const&, unsigned long)'
database.cpp:(.text+0xe2a): undefined reference to `yield::File::CopyFile(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
libbabudb.a(log.cpp.o): In function `babudb::scanAvailableLogSections(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
log.cpp:(.text+0x2fb): undefined reference to `yield::Path::split() const'
log.cpp:(.text+0x348): undefined reference to `yield::DirectoryWalker::DirectoryWalker(yield::Path const&)'
log.cpp:(.text+0x477): undefined reference to `yield::DirectoryWalker::hasNext()'
log.cpp:(.text+0x4b6): undefined reference to `yield::DirectoryWalker::~DirectoryWalker()'
log.cpp:(.text+0x55c): undefined reference to `yield::DirectoryWalker::~DirectoryWalker()'
libbabudb.a(log.cpp.o): In function `babudb::Log::Cleanup(unsigned int, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
log.cpp:(.text+0x67f): undefined reference to `yield::Path::split() const'
log.cpp:(.text+0x70b): undefined reference to `yield::DiskOperations::rename(yield::Path const&, yield::Path const&, unsigned long)'
libbabudb.a(log.cpp.o): In function `std::pair<yield::Path, yield::Path>::pair<yield::Path, yield::Path>(std::pair<yield::Path, yield::Path>&&)':
log.cpp:(.text._ZNSt4pairIN5yield4PathES1_EC2IS1_S1_EEOS_IT_T0_E[_ZNSt4pairIN5yield4PathES1_EC5IS1_S1_EEOS_IT_T0_E]+0x2b): undefined reference to `yield::Path::Path(yield::Path const&)'
log.cpp:(.text._ZNSt4pairIN5yield4PathES1_EC2IS1_S1_EEOS_IT_T0_E[_ZNSt4pairIN5yield4PathES1_EC5IS1_S1_EEOS_IT_T0_E]+0x4e): undefined reference to `yield::Path::Path(yield::Path const&)'
libbabudb.a(log.cpp.o): In function `std::pair<yield::Path, unsigned int>::pair<unsigned int&, void>(yield::Path const&, unsigned int&&&)':
log.cpp:(.text._ZNSt4pairIN5yield4PathEjEC2IRjvEERKS1_OT_[_ZNSt4pairIN5yield4PathEjEC5IRjvEERKS1_OT_]+0x23): undefined reference to `yield::Path::Path(yield::Path const&)'
libbabudb.a(log.cpp.o): In function `std::pair<yield::Path, unsigned int>::pair<yield::Path, unsigned int>(std::pair<yield::Path, unsigned int>&&)':
log.cpp:(.text._ZNSt4pairIN5yield4PathEjEC2IS1_jEEOS_IT_T0_E[_ZNSt4pairIN5yield4PathEjEC5IS1_jEEOS_IT_T0_E]+0x2a): undefined reference to `yield::Path::Path(yield::Path const&)'
libbabudb.a(log.cpp.o): In function `void std::swap<yield::Path>(yield::Path&, yield::Path&)':
log.cpp:(.text._ZSt4swapIN5yield4PathEEvRT_S3_[void std::swap<yield::Path>(yield::Path&, yield::Path&)]+0x2b): undefined reference to `yield::Path::Path(yield::Path const&)'
libbabudb.a(log_storage.cpp.o): In function `babudb::PersistentLogStorage::Open(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
log_storage.cpp:(.text+0x288): undefined reference to `yield::MemoryMappedFile::MemoryMappedFile(yield::Path const&, unsigned long, unsigned long)'
log_storage.cpp:(.text+0x2a4): undefined reference to `yield::File::isOpen()'
libbabudb.a(log_storage.cpp.o): In function `babudb::PersistentLogStorage::OpenReadOnly(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
log_storage.cpp:(.text+0x388): undefined reference to `yield::MemoryMappedFile::MemoryMappedFile(yield::Path const&, unsigned long, unsigned long)'
log_storage.cpp:(.text+0x3a4): undefined reference to `yield::File::isOpen()'
libbabudb.a(log_storage.cpp.o): In function `babudb::PersistentLogStorage::Resize(unsigned long)':
log_storage.cpp:(.text+0x4e7): undefined reference to `yield::MemoryMappedFile::resize(unsigned long)'
libbabudb.a(index.cpp.o): In function `babudb::ImmutableIndex::FindIndices(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
index.cpp:(.text+0xb94): undefined reference to `yield::Path::split() const'
index.cpp:(.text+0xbe1): undefined reference to `yield::DirectoryWalker::DirectoryWalker(yield::Path const&)'
index.cpp:(.text+0xd2f): undefined reference to `yield::DirectoryWalker::hasNext()'
index.cpp:(.text+0xd46): undefined reference to `yield::DirectoryWalker::~DirectoryWalker()'
index.cpp:(.text+0xe00): undefined reference to `yield::DirectoryWalker::~DirectoryWalker()'
libbabudb.a(index.cpp.o): In function `babudb::ImmutableIndex::CleanupObsolete(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
index.cpp:(.text+0x1028): undefined reference to `yield::Path::split() const'
index.cpp:(.text+0x10db): undefined reference to `yield::DiskOperations::rename(yield::Path const&, yield::Path const&, unsigned long)'
libbabudb.a(util.cpp.o): In function `babudb::matchFilename(yield::Path const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int&)':
util.cpp:(.text+0x3a): undefined reference to `yield::Path::split() const'
collect2: ld returned 1 exit status
make[2]: *** [babudb_tests] Error 1
make[1]: *** [CMakeFiles/babudb_tests.dir/all] Error 2
make: *** [all] Error 2
stephen@StephenMorgan:~/babudb/cpp$

stephen_...@sbcglobal.net

unread,
Oct 11, 2012, 12:55:49 PM10/11/12
to bab...@googlegroups.com, stephen_...@sbcglobal.net
Has anyone had any success building BabuDB for C++?  Is it still supported?

Felix Hupfeld

unread,
Oct 11, 2012, 1:02:44 PM10/11/12
to bab...@googlegroups.com
Sorry, Stephan, I didn't have time yet. Let me check...

2012/10/11 <stephen_...@sbcglobal.net>:

Felix Hupfeld

unread,
Oct 11, 2012, 1:16:54 PM10/11/12
to bab...@googlegroups.com, stephen_...@sbcglobal.net
Fixed with r616. Builds on Ubuntu, and unit tests pass. Sorry for the delay!

... Felix

2012/10/11 <stephen_...@sbcglobal.net>:

stephen_...@sbcglobal.net

unread,
Oct 11, 2012, 1:40:26 PM10/11/12
to bab...@googlegroups.com, stephen_...@sbcglobal.net
Thank you!
Reply all
Reply to author
Forward
0 new messages