1:BUILD_BY[name] student5 1:BUILD_ENVIRONMENT[operating system 32 vs 64] 1:END_BUILD_ENVIRONMENT 1:DEPENDENCIES[list of dependencies with where to get them] TCL/TK license (BSD-style) http://code.google.com/p/stasis/source/browse/trunk/COPYING http://code.google.com/p/stasis/ bLSM includes an example MapKeeper-compatible storage server, which relies upon the MapKeeper prototocol specification, which we also maintain: https://github.com/m1ch1/mapkeeper Apache 2.0 license: https://github.com/m1ch1/mapkeeper/blob/master/LICENSE.txt The generated MapKeeper files (and, therefore the bLSM MapKeeper bindings) also require Thrift and Boost. Thrift is a serialization and RPC framework: http://thrift.apache.org/ Apache 2.0 license: http://svn.apache.org/viewvc/thrift/trunk/LICENSE?view=markup Boost is a collection of utility libraries for C++: http://www.boost.org/ 1:END_DEPENDENCIES 1:NOTES[notes on attempted build] Failed to build pre-reqs - boost 1:END_NOTES 2:BUILD_BY[name] student4 2:BUILD_ENVIRONMENT[operating system 32 vs 64] >>>> lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 12.04.4 LTS Release: 12.04 Codename: precise >>>> uname -a Linux student-VPCSE13FX 3.2.0-60-generic #91-Ubuntu SMP Wed Feb 19 03:54:44 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux >>>> lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 4 On-line CPU(s) list: 0-3 Thread(s) per core: 2 Core(s) per socket: 2 Socket(s): 1 NUMA node(s): 1 Vendor ID: GenuineIntel CPU family: 6 Model: 42 Stepping: 7 CPU MHz: 800.000 BogoMIPS: 4789.10 Virtualization: VT-x L1d cache: 32K L1i cache: 32K L2 cache: 256K L3 cache: 3072K NUMA node0 CPU(s): 0-3 >>>> javac -version javac 1.7.0_51 >>>> gcc --version gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3 >>>> ./boost #gives version (special exec) Using Boost 1.46.1 2:END_BUILD_ENVIRONMENT 2:DEPENDENCIES[list of dependencies with where to get them] TCL/TK license (BSD-style) http://code.google.com/p/stasis/source/browse/trunk/COPYING http://code.google.com/p/stasis/ bLSM includes an example MapKeeper-compatible storage server, which relies upon the MapKeeper prototocol specification, which we also maintain: https://github.com/m1ch1/mapkeeper Apache 2.0 license: https://github.com/m1ch1/mapkeeper/blob/master/LICENSE.txt The generated MapKeeper files (and, therefore the bLSM MapKeeper bindings) also require Thrift and Boost. Thrift http://thrift.apache.org/ Boost 2:END_DEPENDENCIES 2:NOTES[notes on attempted build] Installed Stasis Issue when installing thrift, not clear the source of the issues, had all the dependencies listed for it. student@student-VPCSE13FX:~/temp/SearsR12/thrift-0.9.1$ ./configure | grep thrift_protocol === configuring in lib/php/src/ext/thrift_protocol (/home/student/temp/SearsR12/thrift-0.9.1/lib/php/src/ext/thrift_protocol) configure: WARNING: no configuration information is in lib/php/src/ext/thrift_protocol > make ... ... make[5]: Entering directory `/home/student/temp/SearsR12/thrift-0.9.1/lib/php/src/ext/thrift_protocol' make[5]: *** No targets specified and no makefile found. Stop. make[5]: Leaving directory `/home/student/temp/SearsR12/thrift-0.9.1/lib/php/src/ext/thrift_protocol' make[4]: *** [src/ext/thrift_protocol/modules/thrift_protocol.so] Error 2 make[4]: Leaving directory `/home/student/temp/SearsR12/thrift-0.9.1/lib/php' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/home/student/temp/SearsR12/thrift-0.9.1/lib/php' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/home/student/temp/SearsR12/thrift-0.9.1/lib' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/student/temp/SearsR12/thrift-0.9.1' make: *** [all] Error 2 Issue appears to be with php related bindings, so try without them but now a new make error: > ./configure --without-php > make ... ... make[3]: Entering directory `/home/student/temp/SearsR12/thrift-0.9.1/test/cpp' Makefile:832: warning: overriding commands for target `gen-cpp/ThriftTest.cpp' Makefile:829: warning: ignoring old commands for target `gen-cpp/ThriftTest.cpp' /bin/bash ../../libtool --tag=CXX --mode=link g++ -Wall -g -O2 -L/usr/lib -o libtestgencpp.la ThriftTest_constants.lo ThriftTest_types.lo ../../lib/cpp/libthrift.la -lssl -lcrypto -lrt -lpthread libtool: link: ar cru .libs/libtestgencpp.a .libs/ThriftTest_constants.o .libs/ThriftTest_types.o ar: .libs/ThriftTest_constants.o: No such file or directory make[3]: *** [libtestgencpp.la] Error 1 make[3]: Leaving directory `/home/student/temp/SearsR12/thrift-0.9.1/test/cpp' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/home/student/temp/SearsR12/thrift-0.9.1/test' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/student/temp/SearsR12/thrift-0.9.1' make: *** [all] Error 2 Having already spent over 40min working on this build, giving up. 2:END_NOTES 3:BUILD_BY[name] student3 3:BUILD_ENVIRONMENT[operating system 32 vs 64] Ubuntu 13.04 64 3:DEPENDENCIES[list of dependencies with where to get them] TCL/TK license (BSD-style) http://code.google.com/p/stasis/source/browse/trunk/COPYING http://code.google.com/p/stasis/ bLSM includes an example MapKeeper-compatible storage server, which relies upon the MapKeeper prototocol specification, which we also maintain: https://github.com/m1ch1/mapkeeper Apache 2.0 license: https://github.com/m1ch1/mapkeeper/blob/master/LICENSE.txt The generated MapKeeper files (and, therefore the bLSM MapKeeper bindings) also require Thrift and Boost. Thrift is a serialization and RPC framework: http://thrift.apache.org/ Apache 2.0 license: http://svn.apache.org/viewvc/thrift/trunk/LICENSE?view=markup Boost is a collection of utility libraries for C++: http://www.boost.org/ 3:END_DEPENDENCIES 3:NOTES[notes on attempted build] ~Note:Failed to build pre-reqs - stasis undefined reference to `pthread_mutex_trylock' ~Note: I notice this in the error and when looking up how to fix it said to add "-lpthread" to the make file, but this calls a number of OTHER make files and not sure if it takes changing all of them or if there is something in configuration that takes care of this... 3:END_NOTES 4:BUILD_BY[name] student8 4:BUILD_ENVIRONMENT[operating system 32 vs 64] Ubuntu 14.04 64-bit 4:DEPENDENCIES[list of dependencies with where to get them] sudo apt-get install build-essential cmake stasis: svn co http://stasis.googlecode.com/svn/trunk mapkeeper: git clone https://github.com/m1ch1/mapkeeper.git apache-maven 3.2.2 from http://mirror.olnevhost.net/pub/apache/maven/maven-3/3.2.2/binaries/apache-maven-3.2.2-bin.zip libevent-2.0.12 from http://monkey.org/~provos/libevent-2.0.12-stable.tar.gz boost 1.48.0 from http://colocrossing.dl.sourceforge.net/project/boost/boost/1.48.0/boost_1_48_0.tar.bz2 thrift-0.8.0 from http://archive.apache.org/dist/thrift/0.8.0/thrift-0.8.0.tar.gz 4:END_DEPENDENCIES 4:NOTES[notes on attempted build] $ unzip bLSM-master.zip $ cd bLSM-master $ make Makefile:17: ../mapkeeper/Makefile.config: No such file or directory Makefile:40: ../stasis/config/Makefile.stasis: No such file or directory make: *** No rule to make target `../stasis/config/Makefile.stasis'. Stop. I figured I needed to download the dependencies first. $ cd .. $ svn co http://stasis.googlecode.com/svn/trunk $ mv trunk stasis $ git clone https://github.com/m1ch1/mapkeeper.git $ sudo apt-get install build-essential cmake $ cd bLSM-master $ make C++ bLSM.cpp C++ dataPage.cpp C++ diskTreeComponent.cpp C++ memTreeComponent.cpp C++ mergeManager.cpp C++ mergeScheduler.cpp C++ mergeStats.cpp C++ tupleMerger.cpp LINK bin/libblsm.so AR bin/libblsm.a STATIC_EXE bin/servers/mapkeeper/main/blsm_client.static g++-4.6.real: error: ../mapkeeper/thrift/gen-cpp/libmapkeeper.a: No such file or directory g++-4.6.real: error: ../stasis/bin/libstasis.a: No such file or directory make: *** [bin/servers/mapkeeper/main/blsm_client.static] Error 1 Two files missing. I figured I needed to build the dependencies first. ### To build mapkeeper ### $ cd .. $ wget http://mirror.olnevhost.net/pub/apache/maven/maven-3/3.2.2/binaries/apache-maven-3.2.2-bin.zip $ unzip apache-maven-3.2.2-bin.zip $ cd apache-maven-3.2.2/bin $ export PATH=$PATH:`pwd` $ cd ../../ $ wget http://monkey.org/~provos/libevent-2.0.12-stable.tar.gz $ tar xfvz libevent-2.0.12-stable.tar.gz $ cd libevent-2.0.12-stable $ ./configure --prefix=/usr/local $ make && sudo make install $ cd .. $ wget http://colocrossing.dl.sourceforge.net/project/boost/boost/1.48.0/boost_1_48_0.tar.bz2 $ tar xjf boost_1_48_0.tar.bz2 $ cd boost_1_48_0 $ ./bootstrap.sh --prefix=/usr/local $ sudo ./b2 install $ cd .. $ wget http://archive.apache.org/dist/thrift/0.8.0/thrift-0.8.0.tar.gz $ tar xfvz thrift-0.8.0.tar.gz $ cd thrift-0.8.0 $ ./configure --prefix=/usr/local --without-haskell $ make && sudo make install $ cd .. $ cd mapkeeper $ export MKROOT=`pwd` $ cd $MKROOT/thrift $ make /usr/local/bin/thrift --gen cpp mapkeeper.thrift make -C gen-cpp make[1]: Entering directory `/home/student/sear/mapkeeper/thrift/gen-cpp' g++ -c -Wall -I /usr/local/include/thrift -I /usr/local/include -fPIC -c -o mapkeeper_constants.o mapkeeper_constants.cpp In file included from mapkeeper_types.h:11:0, from mapkeeper_constants.h:10, from mapkeeper_constants.cpp:7: /usr/local/include/thrift/TApplicationException.h:94:3: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/TApplicationException.h:95:3: error: ‘uint32_t’ does not name a type In file included from /usr/local/include/thrift/protocol/TProtocol.h:23:0, from mapkeeper_types.h:12, from mapkeeper_constants.h:10, from mapkeeper_constants.cpp:7: /usr/local/include/thrift/transport/TTransport.h:34:1: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/transport/TTransport.h:107:3: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/transport/TTransport.h:111:11: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/transport/TTransport.h:124:3: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/transport/TTransport.h:128:11: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/transport/TTransport.h:139:11: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/transport/TTransport.h:156:20: error: ‘uint8_t’ does not name a type /usr/local/include/thrift/transport/TTransport.h:156:29: error: ISO C++ forbids declaration of ‘buf’ with no type [-fpermissive] /usr/local/include/thrift/transport/TTransport.h:156:34: error: ‘uint32_t’ has not been declared /usr/local/include/thrift/transport/TTransport.h:160:33: error: ‘uint8_t’ does not name a type /usr/local/include/thrift/transport/TTransport.h:160:40: error: ISO C++ forbids declaration of ‘parameter’ with no type [-fpermissive] /usr/local/include/thrift/transport/TTransport.h:160:53: error: ‘uint32_t’ has not been declared /usr/local/include/thrift/transport/TTransport.h:172:11: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/transport/TTransport.h:214:9: error: ‘uint8_t’ does not name a type /usr/local/include/thrift/transport/TTransport.h:218:17: error: ‘uint8_t’ does not name a type /usr/local/include/thrift/transport/TTransport.h:231:16: error: ‘uint32_t’ has not been declared /usr/local/include/thrift/transport/TTransport.h:235:29: error: ‘uint32_t’ has not been declared In file included from mapkeeper_types.h:12:0, from mapkeeper_constants.h:10, from mapkeeper_constants.cpp:7: /usr/local/include/thrift/protocol/TProtocol.h:184:1: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:305:11: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:309:11: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:312:11: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:314:11: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:316:11: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:320:11: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:322:11: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:324:11: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:328:11: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:330:11: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:333:11: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:335:11: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:338:11: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:340:11: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:342:11: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:344:11: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:346:11: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:348:11: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:350:11: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:352:11: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:354:11: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:356:3: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:363:3: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:369:3: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:374:3: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:379:3: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:386:3: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:391:3: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:396:3: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:403:3: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:408:3: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:413:3: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:418:3: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:423:3: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:428:3: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:433:3: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:438:3: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:443:3: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:448:3: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:453:3: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:458:3: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:463:3: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:472:11: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:476:11: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:478:11: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:480:11: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:482:11: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:486:11: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:488:11: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:492:11: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:494:11: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:497:11: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:499:11: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:502:11: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:504:11: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:506:11: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:508:11: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:510:11: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:512:11: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:514:11: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:516:11: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:518:11: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:520:11: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:522:3: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:529:3: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:534:3: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:539:3: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:544:3: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:551:3: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:556:3: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:561:3: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:566:3: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:571:3: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:576:3: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:581:3: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:586:3: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:591:3: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:596:3: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:601:3: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:606:3: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:611:3: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:616:3: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:621:3: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:631:3: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:639:3: error: ‘uint32_t’ does not name a type /usr/local/include/thrift/protocol/TProtocol.h:643:11: error: ‘uint32_t’ does not name a type In file included from mapkeeper_constants.h:10:0, from mapkeeper_constants.cpp:7: mapkeeper_types.h:52:16: error: ‘uint8_t’ does not name a type In file included from mapkeeper_constants.h:10:0, from mapkeeper_constants.cpp:7: mapkeeper_types.h:86:3: error: ‘uint32_t’ does not name a type mapkeeper_types.h:87:3: error: ‘uint32_t’ does not name a type mapkeeper_types.h:101:16: error: ‘uint8_t’ does not name a type mapkeeper_types.h:135:3: error: ‘uint32_t’ does not name a type mapkeeper_types.h:136:3: error: ‘uint32_t’ does not name a type mapkeeper_types.h:150:16: error: ‘uint8_t’ does not name a type mapkeeper_types.h:184:3: error: ‘uint32_t’ does not name a type mapkeeper_types.h:185:3: error: ‘uint32_t’ does not name a type mapkeeper_types.h:199:16: error: ‘uint8_t’ does not name a type mapkeeper_types.h:233:3: error: ‘uint32_t’ does not name a type mapkeeper_types.h:234:3: error: ‘uint32_t’ does not name a type make[1]: *** [mapkeeper_constants.o] Error 1 make[1]: Leaving directory `/home/student/sear/mapkeeper/thrift/gen-cpp' make: *** [all] Error 2 Modified /usr/local/include/thrift/protocol/TProtocol.h and /usr/local/include/thrift/TApplicationException.h to include $ make It was successful. $ sudo make install $ cd ../../ ### To build stasis ### Created a new Makefile in stasis with the following content: ===== New Makefile for stasis begins ===== LIBSRC = $(wildcard src/stasis/*.c) $(wildcard src/stasis/*/*.c) $(wildcard src/stasis/*/*/*.c) \ $(wildcard src/stasis/*.cpp) $(wildcard src/stasis/*/*.cpp) $(wildcard src/stasis/*/*/*.cpp) LIBNAME = stasis include config/Makefile.stasis ===== New Makefile for stasis ends ===== Then, at stasis source directory: $ make After building the dependencies, I tried to build bLSM-master again. $ cd bLSM-master $ make STATIC_EXE bin/servers/mapkeeper/main/blsm_client.static In file included from servers/mapkeeper/main/blsm_client.cpp:20:0: /usr/local/include/thrift/transport/TSocket.h:216:3: error: ‘sockaddr’ does not name a type /usr/local/include/thrift/transport/TSocket.h:237:31: error: ‘sockaddr’ does not name a type /usr/local/include/thrift/transport/TSocket.h:237:41: error: ISO C++ forbids declaration of ‘addr’ with no type [-fpermissive] /usr/local/include/thrift/transport/TSocket.h:290:5: error: ‘sockaddr_in’ does not name a type /usr/local/include/thrift/transport/TSocket.h:291:5: error: ‘sockaddr_in6’ does not name a type In file included from /usr/local/include/thrift/protocol/TBinaryProtocol.h:277:0, from servers/mapkeeper/main/blsm_client.cpp:22: /usr/local/include/thrift/protocol/TBinaryProtocol.tcc: In member function ‘uint32_t apache::thrift::protocol::TBinaryProtocolT::writeI16(int16_t)’: /usr/local/include/thrift/protocol/TBinaryProtocol.tcc:147:35: error: there are no arguments to ‘htons’ that depend on a template parameter, so a declaration of ‘htons’ must be available [-fpermissive] /usr/local/include/thrift/protocol/TBinaryProtocol.tcc:147:35: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated) /usr/local/include/thrift/protocol/TBinaryProtocol.tcc: In member function ‘uint32_t apache::thrift::protocol::TBinaryProtocolT::writeI32(int32_t)’: /usr/local/include/thrift/protocol/TBinaryProtocol.tcc:154:35: error: there are no arguments to ‘htonl’ that depend on a template parameter, so a declaration of ‘htonl’ must be available [-fpermissive] /usr/local/include/thrift/protocol/TBinaryProtocol.tcc: In member function ‘uint32_t apache::thrift::protocol::TBinaryProtocolT::writeI16(int16_t) [with Transport_ = apache::thrift::transport::TTransport, uint32_t = unsigned int, int16_t = short int]’: /usr/local/include/thrift/protocol/TVirtualProtocol.h:401:55: instantiated from ‘uint32_t apache::thrift::protocol::TVirtualProtocol::writeI16_virt(int16_t) [with Protocol_ = apache::thrift::protocol::TBinaryProtocolT, Super_ = apache::thrift::protocol::TProtocolDefaults, uint32_t = unsigned int, int16_t = short int]’ servers/mapkeeper/main/blsm_client.cpp:127:1: instantiated from here /usr/local/include/thrift/protocol/TBinaryProtocol.tcc:147:35: error: ‘htons’ was not declared in this scope /usr/local/include/thrift/protocol/TBinaryProtocol.tcc: In member function ‘uint32_t apache::thrift::protocol::TBinaryProtocolT::writeI32(int32_t) [with Transport_ = apache::thrift::transport::TTransport, uint32_t = unsigned int, int32_t = int]’: /usr/local/include/thrift/protocol/TVirtualProtocol.h:405:55: instantiated from ‘uint32_t apache::thrift::protocol::TVirtualProtocol::writeI32_virt(int32_t) [with Protocol_ = apache::thrift::protocol::TBinaryProtocolT, Super_ = apache::thrift::protocol::TProtocolDefaults, uint32_t = unsigned int, int32_t = int]’ servers/mapkeeper/main/blsm_client.cpp:127:1: instantiated from here /usr/local/include/thrift/protocol/TBinaryProtocol.tcc:154:35: error: ‘htonl’ was not declared in this scope In file included from /usr/local/include/thrift/protocol/TBinaryProtocol.h:277:0, from servers/mapkeeper/main/blsm_client.cpp:22: /usr/local/include/thrift/protocol/TBinaryProtocol.tcc: In member function ‘uint32_t apache::thrift::protocol::TBinaryProtocolT::readI16(int16_t&) [with Transport_ = apache::thrift::transport::TTransport, uint32_t = unsigned int, int16_t = short int]’: /usr/local/include/thrift/protocol/TVirtualProtocol.h:499:54: instantiated from ‘uint32_t apache::thrift::protocol::TVirtualProtocol::readI16_virt(int16_t&) [with Protocol_ = apache::thrift::protocol::TBinaryProtocolT, Super_ = apache::thrift::protocol::TProtocolDefaults, uint32_t = unsigned int, int16_t = short int]’ servers/mapkeeper/main/blsm_client.cpp:127:1: instantiated from here /usr/local/include/thrift/protocol/TBinaryProtocol.tcc:362:3: error: ‘ntohs’ was not declared in this scope /usr/local/include/thrift/protocol/TBinaryProtocol.tcc: In member function ‘uint32_t apache::thrift::protocol::TBinaryProtocolT::readI32(int32_t&) [with Transport_ = apache::thrift::transport::TTransport, uint32_t = unsigned int, int32_t = int]’: /usr/local/include/thrift/protocol/TVirtualProtocol.h:503:54: instantiated from ‘uint32_t apache::thrift::protocol::TVirtualProtocol::readI32_virt(int32_t&) [with Protocol_ = apache::thrift::protocol::TBinaryProtocolT, Super_ = apache::thrift::protocol::TProtocolDefaults, uint32_t = unsigned int, int32_t = int]’ servers/mapkeeper/main/blsm_client.cpp:127:1: instantiated from here /usr/local/include/thrift/protocol/TBinaryProtocol.tcc:373:3: error: ‘ntohl’ was not declared in this scope ../mapkeeper/thrift/gen-cpp/MapKeeper.h: In member function ‘virtual mapkeeper::ResponseCode::type mapkeeper::MapKeeperMultiface::remove(const string&, const string&)’: ../mapkeeper/thrift/gen-cpp/MapKeeper.h:1509:3: warning: control reaches end of non-void function [-Wreturn-type] ../mapkeeper/thrift/gen-cpp/MapKeeper.h: In member function ‘virtual mapkeeper::ResponseCode::type mapkeeper::MapKeeperMultiface::update(const string&, const string&, const string&)’: ../mapkeeper/thrift/gen-cpp/MapKeeper.h:1498:3: warning: control reaches end of non-void function [-Wreturn-type] ../mapkeeper/thrift/gen-cpp/MapKeeper.h: In member function ‘virtual mapkeeper::ResponseCode::type mapkeeper::MapKeeperMultiface::insert(const string&, const string&, const string&)’: ../mapkeeper/thrift/gen-cpp/MapKeeper.h:1487:3: warning: control reaches end of non-void function [-Wreturn-type] ../mapkeeper/thrift/gen-cpp/MapKeeper.h: In member function ‘virtual mapkeeper::ResponseCode::type mapkeeper::MapKeeperMultiface::put(const string&, const string&, const string&)’: ../mapkeeper/thrift/gen-cpp/MapKeeper.h:1476:3: warning: control reaches end of non-void function [-Wreturn-type] ../mapkeeper/thrift/gen-cpp/MapKeeper.h: In member function ‘virtual mapkeeper::ResponseCode::type mapkeeper::MapKeeperMultiface::dropMap(const string&)’: ../mapkeeper/thrift/gen-cpp/MapKeeper.h:1429:3: warning: control reaches end of non-void function [-Wreturn-type] ../mapkeeper/thrift/gen-cpp/MapKeeper.h: In member function ‘virtual mapkeeper::ResponseCode::type mapkeeper::MapKeeperMultiface::addMap(const string&)’: ../mapkeeper/thrift/gen-cpp/MapKeeper.h:1418:3: warning: control reaches end of non-void function [-Wreturn-type] ../mapkeeper/thrift/gen-cpp/MapKeeper.h: In member function ‘virtual mapkeeper::ResponseCode::type mapkeeper::MapKeeperMultiface::ping()’: ../mapkeeper/thrift/gen-cpp/MapKeeper.h:1407:3: warning: control reaches end of non-void function [-Wreturn-type] In file included from /usr/local/include/thrift/protocol/TBinaryProtocol.h:277:0, from servers/mapkeeper/bLSMRequestHandler.h:19, from servers/mapkeeper/bLSMRequestHandler.cpp:27: /usr/local/include/thrift/protocol/TBinaryProtocol.tcc: In member function ‘uint32_t apache::thrift::protocol::TBinaryProtocolT::writeI16(int16_t)’: /usr/local/include/thrift/protocol/TBinaryProtocol.tcc:147:35: error: there are no arguments to ‘htons’ that depend on a template parameter, so a declaration of ‘htons’ must be available [-fpermissive] /usr/local/include/thrift/protocol/TBinaryProtocol.tcc:147:35: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated) /usr/local/include/thrift/protocol/TBinaryProtocol.tcc: In member function ‘uint32_t apache::thrift::protocol::TBinaryProtocolT::writeI32(int32_t)’: /usr/local/include/thrift/protocol/TBinaryProtocol.tcc:154:35: error: there are no arguments to ‘htonl’ that depend on a template parameter, so a declaration of ‘htonl’ must be available [-fpermissive] servers/mapkeeper/bLSMRequestHandler.cpp: In member function ‘dataTuple* LSMServerHandler::buildTuple(uint32_t, const string&, const void*, uint32_t)’: servers/mapkeeper/bLSMRequestHandler.cpp:526:39: error: ‘htonl’ was not declared in this scope ../mapkeeper/thrift/gen-cpp/MapKeeper.h: In member function ‘virtual mapkeeper::ResponseCode::type mapkeeper::MapKeeperMultiface::remove(const string&, const string&)’: ../mapkeeper/thrift/gen-cpp/MapKeeper.h:1509:3: warning: control reaches end of non-void function [-Wreturn-type] ../mapkeeper/thrift/gen-cpp/MapKeeper.h: In member function ‘virtual mapkeeper::ResponseCode::type mapkeeper::MapKeeperMultiface::update(const string&, const string&, const string&)’: ../mapkeeper/thrift/gen-cpp/MapKeeper.h:1498:3: warning: control reaches end of non-void function [-Wreturn-type] ../mapkeeper/thrift/gen-cpp/MapKeeper.h: In member function ‘virtual mapkeeper::ResponseCode::type mapkeeper::MapKeeperMultiface::insert(const string&, const string&, const string&)’: ../mapkeeper/thrift/gen-cpp/MapKeeper.h:1487:3: warning: control reaches end of non-void function [-Wreturn-type] ../mapkeeper/thrift/gen-cpp/MapKeeper.h: In member function ‘virtual mapkeeper::ResponseCode::type mapkeeper::MapKeeperMultiface::put(const string&, const string&, const string&)’: ../mapkeeper/thrift/gen-cpp/MapKeeper.h:1476:3: warning: control reaches end of non-void function [-Wreturn-type] ../mapkeeper/thrift/gen-cpp/MapKeeper.h: In member function ‘virtual mapkeeper::ResponseCode::type mapkeeper::MapKeeperMultiface::dropMap(const string&)’: ../mapkeeper/thrift/gen-cpp/MapKeeper.h:1429:3: warning: control reaches end of non-void function [-Wreturn-type] ../mapkeeper/thrift/gen-cpp/MapKeeper.h: In member function ‘virtual mapkeeper::ResponseCode::type mapkeeper::MapKeeperMultiface::addMap(const string&)’: ../mapkeeper/thrift/gen-cpp/MapKeeper.h:1418:3: warning: control reaches end of non-void function [-Wreturn-type] ../mapkeeper/thrift/gen-cpp/MapKeeper.h: In member function ‘virtual mapkeeper::ResponseCode::type mapkeeper::MapKeeperMultiface::ping()’: ../mapkeeper/thrift/gen-cpp/MapKeeper.h:1407:3: warning: control reaches end of non-void function [-Wreturn-type] make: *** [bin/servers/mapkeeper/main/blsm_client.static] Error 1 Added the following two lines to /usr/local/include/thrift/transport/TSocket.h: #include #include $ make STATIC_EXE bin/servers/mapkeeper/main/blsm_client.static ../mapkeeper/thrift/gen-cpp/MapKeeper.h: In member function ‘virtual mapkeeper::ResponseCode::type mapkeeper::MapKeeperMultiface::remove(const string&, const string&)’: ../mapkeeper/thrift/gen-cpp/MapKeeper.h:1509:3: warning: control reaches end of non-void function [-Wreturn-type] ../mapkeeper/thrift/gen-cpp/MapKeeper.h: In member function ‘virtual mapkeeper::ResponseCode::type mapkeeper::MapKeeperMultiface::update(const string&, const string&, const string&)’: ../mapkeeper/thrift/gen-cpp/MapKeeper.h:1498:3: warning: control reaches end of non-void function [-Wreturn-type] ../mapkeeper/thrift/gen-cpp/MapKeeper.h: In member function ‘virtual mapkeeper::ResponseCode::type mapkeeper::MapKeeperMultiface::insert(const string&, const string&, const string&)’: ../mapkeeper/thrift/gen-cpp/MapKeeper.h:1487:3: warning: control reaches end of non-void function [-Wreturn-type] ../mapkeeper/thrift/gen-cpp/MapKeeper.h: In member function ‘virtual mapkeeper::ResponseCode::type mapkeeper::MapKeeperMultiface::put(const string&, const string&, const string&)’: ../mapkeeper/thrift/gen-cpp/MapKeeper.h:1476:3: warning: control reaches end of non-void function [-Wreturn-type] ../mapkeeper/thrift/gen-cpp/MapKeeper.h: In member function ‘virtual mapkeeper::ResponseCode::type mapkeeper::MapKeeperMultiface::dropMap(const string&)’: ../mapkeeper/thrift/gen-cpp/MapKeeper.h:1429:3: warning: control reaches end of non-void function [-Wreturn-type] ../mapkeeper/thrift/gen-cpp/MapKeeper.h: In member function ‘virtual mapkeeper::ResponseCode::type mapkeeper::MapKeeperMultiface::addMap(const string&)’: ../mapkeeper/thrift/gen-cpp/MapKeeper.h:1418:3: warning: control reaches end of non-void function [-Wreturn-type] ../mapkeeper/thrift/gen-cpp/MapKeeper.h: In member function ‘virtual mapkeeper::ResponseCode::type mapkeeper::MapKeeperMultiface::ping()’: ../mapkeeper/thrift/gen-cpp/MapKeeper.h:1407:3: warning: control reaches end of non-void function [-Wreturn-type] In file included from /usr/local/include/thrift/protocol/TBinaryProtocol.h:277:0, from servers/mapkeeper/bLSMRequestHandler.h:19, from servers/mapkeeper/bLSMRequestHandler.cpp:27: /usr/local/include/thrift/protocol/TBinaryProtocol.tcc: In member function ‘uint32_t apache::thrift::protocol::TBinaryProtocolT::writeI16(int16_t)’: /usr/local/include/thrift/protocol/TBinaryProtocol.tcc:147:35: error: there are no arguments to ‘htons’ that depend on a template parameter, so a declaration of ‘htons’ must be available [-fpermissive] /usr/local/include/thrift/protocol/TBinaryProtocol.tcc:147:35: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated) /usr/local/include/thrift/protocol/TBinaryProtocol.tcc: In member function ‘uint32_t apache::thrift::protocol::TBinaryProtocolT::writeI32(int32_t)’: /usr/local/include/thrift/protocol/TBinaryProtocol.tcc:154:35: error: there are no arguments to ‘htonl’ that depend on a template parameter, so a declaration of ‘htonl’ must be available [-fpermissive] servers/mapkeeper/bLSMRequestHandler.cpp: In member function ‘dataTuple* LSMServerHandler::buildTuple(uint32_t, const string&, const void*, uint32_t)’: servers/mapkeeper/bLSMRequestHandler.cpp:526:39: error: ‘htonl’ was not declared in this scope ../mapkeeper/thrift/gen-cpp/MapKeeper.h: In member function ‘virtual mapkeeper::ResponseCode::type mapkeeper::MapKeeperMultiface::remove(const string&, const string&)’: ../mapkeeper/thrift/gen-cpp/MapKeeper.h:1509:3: warning: control reaches end of non-void function [-Wreturn-type] ../mapkeeper/thrift/gen-cpp/MapKeeper.h: In member function ‘virtual mapkeeper::ResponseCode::type mapkeeper::MapKeeperMultiface::update(const string&, const string&, const string&)’: ../mapkeeper/thrift/gen-cpp/MapKeeper.h:1498:3: warning: control reaches end of non-void function [-Wreturn-type] ../mapkeeper/thrift/gen-cpp/MapKeeper.h: In member function ‘virtual mapkeeper::ResponseCode::type mapkeeper::MapKeeperMultiface::insert(const string&, const string&, const string&)’: ../mapkeeper/thrift/gen-cpp/MapKeeper.h:1487:3: warning: control reaches end of non-void function [-Wreturn-type] ../mapkeeper/thrift/gen-cpp/MapKeeper.h: In member function ‘virtual mapkeeper::ResponseCode::type mapkeeper::MapKeeperMultiface::put(const string&, const string&, const string&)’: ../mapkeeper/thrift/gen-cpp/MapKeeper.h:1476:3: warning: control reaches end of non-void function [-Wreturn-type] ../mapkeeper/thrift/gen-cpp/MapKeeper.h: In member function ‘virtual mapkeeper::ResponseCode::type mapkeeper::MapKeeperMultiface::dropMap(const string&)’: ../mapkeeper/thrift/gen-cpp/MapKeeper.h:1429:3: warning: control reaches end of non-void function [-Wreturn-type] ../mapkeeper/thrift/gen-cpp/MapKeeper.h: In member function ‘virtual mapkeeper::ResponseCode::type mapkeeper::MapKeeperMultiface::addMap(const string&)’: ../mapkeeper/thrift/gen-cpp/MapKeeper.h:1418:3: warning: control reaches end of non-void function [-Wreturn-type] ../mapkeeper/thrift/gen-cpp/MapKeeper.h: In member function ‘virtual mapkeeper::ResponseCode::type mapkeeper::MapKeeperMultiface::ping()’: ../mapkeeper/thrift/gen-cpp/MapKeeper.h:1407:3: warning: control reaches end of non-void function [-Wreturn-type] make: *** [bin/servers/mapkeeper/main/blsm_client.static] Error 1 Modified stasis/config/Makefile.stasis to add -DHAVE_NETINET_IN_H to the CXX_FLAGS $ make ... ... ... /home/student/sear/bLSM-master/diskTreeComponent.cpp:198: undefined reference to `stasis_record_write_begin' /home/student/sear/bLSM-master/diskTreeComponent.cpp:201: undefined reference to `stasis_record_write_done' bin/libblsm.a(diskTreeComponent.o): In function `regionAllocator::get_lsn(int)': /home/student/sear/bLSM-master/regionAllocator.h:137: undefined reference to `stasis_runtime_transaction_table' /home/student/sear/bLSM-master/regionAllocator.h:137: undefined reference to `stasis_transaction_table_get' /home/student/sear/bLSM-master/regionAllocator.h:138: undefined reference to `stasis_log' /home/student/sear/bLSM-master/regionAllocator.h:138: undefined reference to `stasis_log' bin/libblsm.a(diskTreeComponent.o): In function `regionAllocator': /home/student/sear/bLSM-master/regionAllocator.h:46: undefined reference to `stasis_runtime_buffer_manager' /home/student/sear/bLSM-master/regionAllocator.h:49: undefined reference to `Talloc' /home/student/sear/bLSM-master/regionAllocator.h:50: undefined reference to `TarrayListAlloc' /home/student/sear/bLSM-master/regionAllocator.h:52: undefined reference to `Tset' /home/student/sear/bLSM-master/regionAllocator.h:46: undefined reference to `stasis_runtime_buffer_manager' /home/student/sear/bLSM-master/regionAllocator.h:49: undefined reference to `Talloc' /home/student/sear/bLSM-master/regionAllocator.h:50: undefined reference to `TarrayListAlloc' /home/student/sear/bLSM-master/regionAllocator.h:52: undefined reference to `Tset' /home/student/sear/bLSM-master/regionAllocator.h:35: undefined reference to `stasis_runtime_buffer_manager' /home/student/sear/bLSM-master/regionAllocator.h:38: undefined reference to `Tread' /home/student/sear/bLSM-master/regionAllocator.h:39: undefined reference to `TarrayListLength' /home/student/sear/bLSM-master/regionAllocator.h:35: undefined reference to `stasis_runtime_buffer_manager' /home/student/sear/bLSM-master/regionAllocator.h:38: undefined reference to `Tread' /home/student/sear/bLSM-master/regionAllocator.h:39: undefined reference to `TarrayListLength' bin/libblsm.a(diskTreeComponent.o): In function `diskTreeComponent::internalNodes::buildPathToLeaf(int, recordid, Page_s*, long, unsigned char const*, unsigned long, long long)': /home/student/sear/bLSM-master/diskTreeComponent.cpp:476: undefined reference to `loadPage' bin/libblsm.a(diskTreeComponent.o): In function `diskTreeComponent::internalNodes::initializeNodePage(int, Page_s*)': /home/student/sear/bLSM-master/diskTreeComponent.cpp:206: undefined reference to `stasis_page_slotted_initialize_page' /home/student/sear/bLSM-master/diskTreeComponent.cpp:207: undefined reference to `stasis_record_alloc_begin' /home/student/sear/bLSM-master/diskTreeComponent.cpp:208: undefined reference to `stasis_record_alloc_done' /home/student/sear/bLSM-master/diskTreeComponent.cpp:209: undefined reference to `stasis_record_alloc_begin' /home/student/sear/bLSM-master/diskTreeComponent.cpp:210: undefined reference to `stasis_record_alloc_done' bin/libblsm.a(diskTreeComponent.o): In function `diskTreeComponent::internalNodes::buildPathToLeaf(int, recordid, Page_s*, long, unsigned char const*, unsigned long, long long)': /home/student/sear/bLSM-master/diskTreeComponent.cpp:483: undefined reference to `stasis_record_alloc_begin' /home/student/sear/bLSM-master/diskTreeComponent.cpp:485: undefined reference to `stasis_record_alloc_done' /home/student/sear/bLSM-master/diskTreeComponent.cpp:490: undefined reference to `releasePage' bin/libblsm.a(diskTreeComponent.o): In function `regionAllocator::alloc_extent(int, long long)': /home/student/sear/bLSM-master/regionAllocator.h:73: undefined reference to `TregionAlloc' /home/student/sear/bLSM-master/regionAllocator.h:74: undefined reference to `TarrayListExtend' /home/student/sear/bLSM-master/regionAllocator.h:77: undefined reference to `Tset' /home/student/sear/bLSM-master/regionAllocator.h:82: undefined reference to `TarrayListLength' bin/libblsm.a(diskTreeComponent.o): In function `diskTreeComponent::internalNodes::buildPathToLeaf(int, recordid, Page_s*, long, unsigned char const*, unsigned long, long long)': /home/student/sear/bLSM-master/diskTreeComponent.cpp:497: undefined reference to `stasis_record_write' /home/student/sear/bLSM-master/diskTreeComponent.cpp:502: undefined reference to `stasis_record_write' /home/student/sear/bLSM-master/diskTreeComponent.cpp:505: undefined reference to `stasis_record_alloc_begin' /home/student/sear/bLSM-master/diskTreeComponent.cpp:509: undefined reference to `stasis_record_alloc_done' bin/libblsm.a(diskTreeComponent.o): In function `regionAllocator::get_lsn(int)': /home/student/sear/bLSM-master/regionAllocator.h:137: undefined reference to `stasis_runtime_transaction_table' /home/student/sear/bLSM-master/regionAllocator.h:137: undefined reference to `stasis_transaction_table_get' /home/student/sear/bLSM-master/regionAllocator.h:138: undefined reference to `stasis_log' /home/student/sear/bLSM-master/regionAllocator.h:138: undefined reference to `stasis_log' bin/libblsm.a(diskTreeComponent.o): In function `diskTreeComponent::internalNodes::buildPathToLeaf(int, recordid, Page_s*, long, unsigned char const*, unsigned long, long long)': /home/student/sear/bLSM-master/diskTreeComponent.cpp:514: undefined reference to `stasis_page_lsn_write' /home/student/sear/bLSM-master/diskTreeComponent.cpp:515: undefined reference to `releasePage' /home/student/sear/bLSM-master/diskTreeComponent.cpp:518: undefined reference to `loadPage' /home/student/sear/bLSM-master/diskTreeComponent.cpp:521: undefined reference to `stasis_record_write' bin/libblsm.a(diskTreeComponent.o): In function `regionAllocator::get_lsn(int)': /home/student/sear/bLSM-master/regionAllocator.h:137: undefined reference to `stasis_runtime_transaction_table' /home/student/sear/bLSM-master/regionAllocator.h:137: undefined reference to `stasis_transaction_table_get' /home/student/sear/bLSM-master/regionAllocator.h:138: undefined reference to `stasis_log' /home/student/sear/bLSM-master/regionAllocator.h:138: undefined reference to `stasis_log' bin/libblsm.a(diskTreeComponent.o): In function `diskTreeComponent::internalNodes::buildPathToLeaf(int, recordid, Page_s*, long, unsigned char const*, unsigned long, long long)': /home/student/sear/bLSM-master/diskTreeComponent.cpp:522: undefined reference to `stasis_page_lsn_write' /home/student/sear/bLSM-master/diskTreeComponent.cpp:524: undefined reference to `releasePage' bin/libblsm.a(diskTreeComponent.o): In function `diskTreeComponent::internalNodes::appendInternalNode(int, Page_s*, long, unsigned char const*, unsigned long, long long)': /home/student/sear/bLSM-master/diskTreeComponent.cpp:413: undefined reference to `stasis_record_alloc_begin' /home/student/sear/bLSM-master/diskTreeComponent.cpp:415: undefined reference to `stasis_record_alloc_done' bin/libblsm.a(diskTreeComponent.o): In function `regionAllocator::get_lsn(int)': /home/student/sear/bLSM-master/regionAllocator.h:137: undefined reference to `stasis_runtime_transaction_table' /home/student/sear/bLSM-master/regionAllocator.h:137: undefined reference to `stasis_transaction_table_get' /home/student/sear/bLSM-master/regionAllocator.h:138: undefined reference to `stasis_log' /home/student/sear/bLSM-master/regionAllocator.h:138: undefined reference to `stasis_log' bin/libblsm.a(diskTreeComponent.o): In function `diskTreeComponent::internalNodes::appendInternalNode(int, Page_s*, long, unsigned char const*, unsigned long, long long)': /home/student/sear/bLSM-master/diskTreeComponent.cpp:417: undefined reference to `stasis_page_lsn_write' /home/student/sear/bLSM-master/diskTreeComponent.cpp:423: undefined reference to `stasis_record_last' /home/student/sear/bLSM-master/diskTreeComponent.cpp:426: undefined reference to `stasis_record_read_begin' /home/student/sear/bLSM-master/diskTreeComponent.cpp:429: undefined reference to `stasis_record_read_done' /home/student/sear/bLSM-master/diskTreeComponent.cpp:432: undefined reference to `loadPage' /home/student/sear/bLSM-master/diskTreeComponent.cpp:435: undefined reference to `releasePage' /home/student/sear/bLSM-master/diskTreeComponent.cpp:439: undefined reference to `stasis_record_alloc_begin' /home/student/sear/bLSM-master/diskTreeComponent.cpp:448: undefined reference to `stasis_record_alloc_done' bin/libblsm.a(diskTreeComponent.o): In function `diskTreeComponent::internalNodes::findLastLeaf(int, Page_s*, long)': /home/student/sear/bLSM-master/diskTreeComponent.cpp:551: undefined reference to `stasis_record_last' /home/student/sear/bLSM-master/diskTreeComponent.cpp:553: undefined reference to `stasis_record_read_begin' /home/student/sear/bLSM-master/diskTreeComponent.cpp:555: undefined reference to `stasis_record_read_done' /home/student/sear/bLSM-master/diskTreeComponent.cpp:558: undefined reference to `loadPage' /home/student/sear/bLSM-master/diskTreeComponent.cpp:560: undefined reference to `releasePage' bin/libblsm.a(diskTreeComponent.o): In function `diskTreeComponent::internalNodes::appendPage(int, unsigned char const*, unsigned long, long long)': /home/student/sear/bLSM-master/diskTreeComponent.cpp:218: undefined reference to `loadPage' /home/student/sear/bLSM-master/diskTreeComponent.cpp:224: undefined reference to `stasis_record_read_begin' /home/student/sear/bLSM-master/diskTreeComponent.cpp:226: undefined reference to `stasis_record_read_done' /home/student/sear/bLSM-master/diskTreeComponent.cpp:235: undefined reference to `loadPage' /home/student/sear/bLSM-master/diskTreeComponent.cpp:243: undefined reference to `stasis_record_alloc_begin' /home/student/sear/bLSM-master/diskTreeComponent.cpp:351: undefined reference to `stasis_record_alloc_done' /home/student/sear/bLSM-master/diskTreeComponent.cpp:358: undefined reference to `releasePage' bin/libblsm.a(diskTreeComponent.o): In function `regionAllocator::get_lsn(int)': /home/student/sear/bLSM-master/regionAllocator.h:137: undefined reference to `stasis_runtime_transaction_table' /home/student/sear/bLSM-master/regionAllocator.h:137: undefined reference to `stasis_transaction_table_get' /home/student/sear/bLSM-master/regionAllocator.h:138: undefined reference to `stasis_log' /home/student/sear/bLSM-master/regionAllocator.h:138: undefined reference to `stasis_log' bin/libblsm.a(diskTreeComponent.o): In function `diskTreeComponent::internalNodes::appendPage(int, unsigned char const*, unsigned long, long long)': /home/student/sear/bLSM-master/diskTreeComponent.cpp:362: undefined reference to `stasis_page_lsn_write' /home/student/sear/bLSM-master/diskTreeComponent.cpp:364: undefined reference to `releasePage' /home/student/sear/bLSM-master/diskTreeComponent.cpp:249: undefined reference to `releasePage' /home/student/sear/bLSM-master/diskTreeComponent.cpp:264: undefined reference to `stasis_record_last' /home/student/sear/bLSM-master/diskTreeComponent.cpp:266: undefined reference to `loadPage' bin/libblsm.a(diskTreeComponent.o): In function `diskTreeComponent::internalNodes::initializeNodePage(int, Page_s*)': /home/student/sear/bLSM-master/diskTreeComponent.cpp:206: undefined reference to `stasis_page_slotted_initialize_page' /home/student/sear/bLSM-master/diskTreeComponent.cpp:207: undefined reference to `stasis_record_alloc_begin' /home/student/sear/bLSM-master/diskTreeComponent.cpp:208: undefined reference to `stasis_record_alloc_done' /home/student/sear/bLSM-master/diskTreeComponent.cpp:209: undefined reference to `stasis_record_alloc_begin' /home/student/sear/bLSM-master/diskTreeComponent.cpp:210: undefined reference to `stasis_record_alloc_done' bin/libblsm.a(diskTreeComponent.o): In function `diskTreeComponent::internalNodes::appendPage(int, unsigned char const*, unsigned long, long long)': /home/student/sear/bLSM-master/diskTreeComponent.cpp:277: undefined reference to `stasis_record_length_read' /home/student/sear/bLSM-master/diskTreeComponent.cpp:278: undefined reference to `stasis_record_read_begin' /home/student/sear/bLSM-master/diskTreeComponent.cpp:279: undefined reference to `stasis_record_alloc_begin' /home/student/sear/bLSM-master/diskTreeComponent.cpp:284: undefined reference to `stasis_record_alloc_done' /home/student/sear/bLSM-master/diskTreeComponent.cpp:285: undefined reference to `stasis_record_write' /home/student/sear/bLSM-master/diskTreeComponent.cpp:286: undefined reference to `stasis_record_read_done' bin/libblsm.a(diskTreeComponent.o): In function `regionAllocator::get_lsn(int)': /home/student/sear/bLSM-master/regionAllocator.h:137: undefined reference to `stasis_runtime_transaction_table' /home/student/sear/bLSM-master/regionAllocator.h:137: undefined reference to `stasis_transaction_table_get' /home/student/sear/bLSM-master/regionAllocator.h:138: undefined reference to `stasis_log' /home/student/sear/bLSM-master/regionAllocator.h:138: undefined reference to `stasis_log' bin/libblsm.a(diskTreeComponent.o): In function `diskTreeComponent::internalNodes::appendPage(int, unsigned char const*, unsigned long, long long)': /home/student/sear/bLSM-master/diskTreeComponent.cpp:298: undefined reference to `stasis_page_lsn_write' /home/student/sear/bLSM-master/diskTreeComponent.cpp:299: undefined reference to `releasePage' /home/student/sear/bLSM-master/diskTreeComponent.cpp:313: undefined reference to `stasis_record_free' /home/student/sear/bLSM-master/diskTreeComponent.cpp:315: undefined reference to `stasis_record_last' /home/student/sear/bLSM-master/diskTreeComponent.cpp:323: undefined reference to `stasis_record_write_begin' /home/student/sear/bLSM-master/diskTreeComponent.cpp:327: undefined reference to `stasis_record_write_done' /home/student/sear/bLSM-master/diskTreeComponent.cpp:332: undefined reference to `stasis_record_write' bin/libblsm.a(diskTreeComponent.o): In function `regionAllocator::alloc_extent(int, long long)': /home/student/sear/bLSM-master/regionAllocator.h:73: undefined reference to `TregionAlloc' /home/student/sear/bLSM-master/regionAllocator.h:74: undefined reference to `TarrayListExtend' /home/student/sear/bLSM-master/regionAllocator.h:77: undefined reference to `Tset' /home/student/sear/bLSM-master/regionAllocator.h:82: undefined reference to `TarrayListLength' bin/libblsm.a(diskTreeComponent.o): In function `diskTreeComponent::internalNodes::appendPage(int, unsigned char const*, unsigned long, long long)': /home/student/sear/bLSM-master/diskTreeComponent.cpp:293: undefined reference to `stasis_record_write' /home/student/sear/bLSM-master/diskTreeComponent.cpp:295: undefined reference to `stasis_record_write' bin/libblsm.a(diskTreeComponent.o): In function `diskTreeComponent::insertTuple(int, dataTuple*)': /home/student/sear/bLSM-master/diskTreeComponent.cpp:82: undefined reference to `stasis_bloom_filter_insert' bin/libblsm.a(diskTreeComponent.o): In function `diskTreeComponent::internalNodes::findFirstLeaf(int, Page_s*, long)': /home/student/sear/bLSM-master/diskTreeComponent.cpp:578: undefined reference to `stasis_record_read_begin' /home/student/sear/bLSM-master/diskTreeComponent.cpp:581: undefined reference to `loadPage' /home/student/sear/bLSM-master/diskTreeComponent.cpp:583: undefined reference to `releasePage' bin/libblsm.a(diskTreeComponent.o): In function `diskTreeComponent::internalNodes::lookupLeafPageFromRid(int, recordid)': /home/student/sear/bLSM-master/diskTreeComponent.cpp:613: undefined reference to `loadPage' /home/student/sear/bLSM-master/diskTreeComponent.cpp:615: undefined reference to `stasis_record_read_begin' /home/student/sear/bLSM-master/diskTreeComponent.cpp:617: undefined reference to `stasis_record_read_done' /home/student/sear/bLSM-master/diskTreeComponent.cpp:619: undefined reference to `releasePage' bin/libblsm.a(diskTreeComponent.o): In function `diskTreeComponent::internalNodes::lookup(int, Page_s*, long, unsigned char const*, unsigned long)': /home/student/sear/bLSM-master/diskTreeComponent.cpp:631: undefined reference to `stasis_record_last' /home/student/sear/bLSM-master/diskTreeComponent.cpp:646: undefined reference to `stasis_record_length_read' /home/student/sear/bLSM-master/diskTreeComponent.cpp:648: undefined reference to `stasis_record_read_begin' /home/student/sear/bLSM-master/diskTreeComponent.cpp:651: undefined reference to `stasis_record_read_done' /home/student/sear/bLSM-master/diskTreeComponent.cpp:651: undefined reference to `stasis_record_read_done' /home/student/sear/bLSM-master/diskTreeComponent.cpp:651: undefined reference to `stasis_record_read_done' /home/student/sear/bLSM-master/diskTreeComponent.cpp:662: undefined reference to `stasis_record_read_begin' /home/student/sear/bLSM-master/diskTreeComponent.cpp:664: undefined reference to `stasis_record_read_done' /home/student/sear/bLSM-master/diskTreeComponent.cpp:667: undefined reference to `loadPage' /home/student/sear/bLSM-master/diskTreeComponent.cpp:670: undefined reference to `releasePage' bin/libblsm.a(diskTreeComponent.o): In function `diskTreeComponent::internalNodes::findPage(int, unsigned char const*, unsigned long)': /home/student/sear/bLSM-master/diskTreeComponent.cpp:591: undefined reference to `loadPage' /home/student/sear/bLSM-master/diskTreeComponent.cpp:595: undefined reference to `stasis_record_read_begin' /home/student/sear/bLSM-master/diskTreeComponent.cpp:597: undefined reference to `stasis_record_read_done' /home/student/sear/bLSM-master/diskTreeComponent.cpp:603: undefined reference to `releasePage' bin/libblsm.a(diskTreeComponent.o): In function `diskTreeComponent::findTuple(int, unsigned char*, unsigned long)': /home/student/sear/bLSM-master/diskTreeComponent.cpp:138: undefined reference to `stasis_bloom_filter_lookup' bin/libblsm.a(diskTreeComponent.o): In function `diskTreeComponent::internalNodes::print_tree(int, long long, long)': /home/student/sear/bLSM-master/diskTreeComponent.cpp:697: undefined reference to `loadPage' /home/student/sear/bLSM-master/diskTreeComponent.cpp:700: undefined reference to `stasis_record_last' /home/student/sear/bLSM-master/diskTreeComponent.cpp:734: undefined reference to `stasis_record_read_begin' /home/student/sear/bLSM-master/diskTreeComponent.cpp:737: undefined reference to `stasis_record_read_done' /home/student/sear/bLSM-master/diskTreeComponent.cpp:742: undefined reference to `stasis_record_read_begin' /home/student/sear/bLSM-master/diskTreeComponent.cpp:745: undefined reference to `stasis_record_read_done' /home/student/sear/bLSM-master/diskTreeComponent.cpp:748: undefined reference to `releasePage' /home/student/sear/bLSM-master/diskTreeComponent.cpp:717: undefined reference to `stasis_record_read_begin' /home/student/sear/bLSM-master/diskTreeComponent.cpp:720: undefined reference to `stasis_record_read_done' /home/student/sear/bLSM-master/diskTreeComponent.cpp:725: undefined reference to `stasis_record_read_begin' /home/student/sear/bLSM-master/diskTreeComponent.cpp:727: undefined reference to `stasis_record_read_done' /home/student/sear/bLSM-master/diskTreeComponent.cpp:717: undefined reference to `stasis_record_read_begin' /home/student/sear/bLSM-master/diskTreeComponent.cpp:720: undefined reference to `stasis_record_read_done' bin/libblsm.a(diskTreeComponent.o): In function `diskTreeComponent::internalNodes::print_tree(int)': /home/student/sear/bLSM-master/diskTreeComponent.cpp:680: undefined reference to `loadPage' /home/student/sear/bLSM-master/diskTreeComponent.cpp:683: undefined reference to `stasis_record_read_begin' /home/student/sear/bLSM-master/diskTreeComponent.cpp:686: undefined reference to `stasis_record_read_done' bin/libblsm.a(diskTreeComponent.o): In function `iterator': /home/student/sear/bLSM-master/diskTreeComponent.cpp:764: undefined reference to `stasis_record_read_begin' /home/student/sear/bLSM-master/diskTreeComponent.cpp:769: undefined reference to `stasis_record_read_done' /home/student/sear/bLSM-master/diskTreeComponent.cpp:780: undefined reference to `releasePage' /home/student/sear/bLSM-master/diskTreeComponent.cpp:810: undefined reference to `stasis_record_read_begin' /home/student/sear/bLSM-master/diskTreeComponent.cpp:813: undefined reference to `stasis_record_read_done' /home/student/sear/bLSM-master/diskTreeComponent.cpp:830: undefined reference to `releasePage' /home/student/sear/bLSM-master/diskTreeComponent.cpp:819: undefined reference to `releasePage' bin/libblsm.a(diskTreeComponent.o): In function `diskTreeComponent::internalNodes::iterator::next()': /home/student/sear/bLSM-master/diskTreeComponent.cpp:859: undefined reference to `stasis_record_next' /home/student/sear/bLSM-master/diskTreeComponent.cpp:890: undefined reference to `stasis_record_read_begin' /home/student/sear/bLSM-master/diskTreeComponent.cpp:892: undefined reference to `stasis_record_read_done' /home/student/sear/bLSM-master/diskTreeComponent.cpp:864: undefined reference to `stasis_record_read_begin' /home/student/sear/bLSM-master/diskTreeComponent.cpp:866: undefined reference to `stasis_record_read_done' /home/student/sear/bLSM-master/diskTreeComponent.cpp:869: undefined reference to `releasePage' /home/student/sear/bLSM-master/diskTreeComponent.cpp:878: undefined reference to `stasis_record_length_read' bin/libblsm.a(diskTreeComponent.o): In function `diskTreeComponent::internalNodes::iterator::close()': /home/student/sear/bLSM-master/diskTreeComponent.cpp:906: undefined reference to `releasePage' bin/libblsm.a(diskTreeComponent.o): In function `regionAllocator': /home/student/sear/bLSM-master/regionAllocator.h:57: undefined reference to `stasis_runtime_buffer_manager' /home/student/sear/bLSM-master/regionAllocator.h:57: undefined reference to `stasis_runtime_buffer_manager' bin/libblsm.a(diskTreeComponent.o): In function `diskTreeComponent::internalNodes::writeNodeRecord(int, Page_s*, recordid&, unsigned char const*, unsigned long, long long)': /home/student/sear/bLSM-master/diskTreeComponent.cpp:202: undefined reference to `stasis_page_lsn_write' bin/libblsm.a(diskTreeComponent.o): In function `diskTreeComponent::internalNodes::print_tree(int)': /home/student/sear/bLSM-master/diskTreeComponent.cpp:691: undefined reference to `releasePage' bin/libblsm.a(mergeScheduler.o): In function `diskTreeComponent_hash_func_b': /home/student/sear/bLSM-master/diskTreeComponent.h:37: undefined reference to `stasis_crc32' bin/libblsm.a(mergeScheduler.o): In function `diskTreeComponent_hash_func_a': /home/student/sear/bLSM-master/diskTreeComponent.h:33: undefined reference to `stasis_crc32' bin/libblsm.a(mergeScheduler.o): In function `bLSM::mightBeAfterMemMerge(dataTuple*)': /home/student/sear/bLSM-master/bLSM.h:205: undefined reference to `stasis_bloom_filter_lookup' /home/student/sear/bLSM-master/bLSM.h:211: undefined reference to `stasis_bloom_filter_lookup' bin/libblsm.a(mergeScheduler.o): In function `mergeScheduler::memMergeThread()': /home/student/sear/bLSM-master/mergeScheduler.cpp:118: undefined reference to `Tbegin' bin/libblsm.a(mergeScheduler.o): In function `merge_iterators': /home/student/sear/bLSM-master/mergeScheduler.cpp:399: undefined reference to `stasis_log' bin/libblsm.a(mergeScheduler.o): In function `~diskTreeComponent': /home/student/sear/bLSM-master/diskTreeComponent.h:68: undefined reference to `stasis_bloom_filter_destroy' bin/libblsm.a(mergeScheduler.o): In function `mergeScheduler::memMergeThread()': /home/student/sear/bLSM-master/mergeScheduler.cpp:172: undefined reference to `Tcommit' /home/student/sear/bLSM-master/mergeScheduler.cpp:210: undefined reference to `Tbegin' bin/libblsm.a(mergeScheduler.o): In function `diskTreeComponent': /home/student/sear/bLSM-master/diskTreeComponent.h:55: undefined reference to `stasis_bloom_filter_create' /home/student/sear/bLSM-master/diskTreeComponent.h:56: undefined reference to `stasis_bloom_filter_print_stats' bin/libblsm.a(mergeScheduler.o): In function `mergeScheduler::memMergeThread()': /home/student/sear/bLSM-master/mergeScheduler.cpp:223: undefined reference to `Tcommit' bin/libblsm.a(mergeScheduler.o): In function `diskTreeComponent': /home/student/sear/bLSM-master/diskTreeComponent.h:55: undefined reference to `stasis_bloom_filter_create' /home/student/sear/bLSM-master/diskTreeComponent.h:56: undefined reference to `stasis_bloom_filter_print_stats' bin/libblsm.a(mergeScheduler.o): In function `mergeScheduler::diskMergeThread()': /home/student/sear/bLSM-master/mergeScheduler.cpp:285: undefined reference to `Tbegin' bin/libblsm.a(mergeScheduler.o): In function `merge_iterators': /home/student/sear/bLSM-master/mergeScheduler.cpp:399: undefined reference to `stasis_log' bin/libblsm.a(mergeScheduler.o): In function `~diskTreeComponent': /home/student/sear/bLSM-master/diskTreeComponent.h:68: undefined reference to `stasis_bloom_filter_destroy' /home/student/sear/bLSM-master/diskTreeComponent.h:68: undefined reference to `stasis_bloom_filter_destroy' bin/libblsm.a(mergeScheduler.o): In function `mergeScheduler::diskMergeThread()': /home/student/sear/bLSM-master/mergeScheduler.cpp:339: undefined reference to `Tcommit' bin/libblsm.a(mergeScheduler.o): In function `diskTreeComponent': /home/student/sear/bLSM-master/diskTreeComponent.h:55: undefined reference to `stasis_bloom_filter_create' /home/student/sear/bLSM-master/diskTreeComponent.h:56: undefined reference to `stasis_bloom_filter_print_stats' bin/libblsm.a(mergeManager.o): In function `mergeManager': /home/student/sear/bLSM-master/mergeManager.cpp:561: undefined reference to `Tread' bin/libblsm.a(mergeManager.o): In function `mergeStats': /home/student/sear/bLSM-master/mergeStats.h:96: undefined reference to `Tread' /home/student/sear/bLSM-master/mergeStats.h:96: undefined reference to `Tread' /home/student/sear/bLSM-master/mergeStats.h:96: undefined reference to `Tread' bin/libblsm.a(mergeManager.o): In function `mergeManager::talloc(int)': /home/student/sear/bLSM-master/mergeManager.cpp:569: undefined reference to `Talloc' bin/libblsm.a(mergeManager.o): In function `mergeStats::talloc(int)': /home/student/sear/bLSM-master/mergeStats.h:128: undefined reference to `Talloc' /home/student/sear/bLSM-master/mergeStats.h:128: undefined reference to `Talloc' /home/student/sear/bLSM-master/mergeStats.h:128: undefined reference to `Talloc' bin/libblsm.a(mergeManager.o): In function `mergeManager::talloc(int)': /home/student/sear/bLSM-master/mergeManager.cpp:573: undefined reference to `Tset' bin/libblsm.a(mergeManager.o): In function `mergeManager::marshal(int, recordid)': /home/student/sear/bLSM-master/mergeManager.cpp:578: undefined reference to `Tread' bin/libblsm.a(mergeManager.o): In function `mergeStats::marshal(int, recordid)': /home/student/sear/bLSM-master/mergeStats.h:136: undefined reference to `Tset' /home/student/sear/bLSM-master/mergeStats.h:136: undefined reference to `Tset' /home/student/sear/bLSM-master/mergeStats.h:136: undefined reference to `Tset' collect2: ld returned 1 exit status make: *** [bin/servers/mapkeeper/main/blsm_client.static] Error 1 4:END_NOTES