pmem / llpl

Low Level Persistence Library
Other
98 stars 38 forks source link

Compile error when making native lib #6

Closed chriptus13 closed 3 years ago

chriptus13 commented 3 years ago

Issue

Missing declarations on libpmempool.h to build native lib.

Environment Information

Details

chriptus13@chriptus13:~/llpl/target/cppbuild$ make
[ 16%] Building CXX object CMakeFiles/llpl.dir/com_intel_pmem_llpl_AnyHeap.cpp.o
/home/chriptus13/llpl/src/main/cpp/com_intel_pmem_llpl_AnyHeap.cpp: In function ‘jint Java_com_intel_pmem_llpl_AnyHeap_nativeHeapExists(JNIEnv*, jobject, jstring)’:
/home/chriptus13/llpl/src/main/cpp/com_intel_pmem_llpl_AnyHeap.cpp:164:10: error: use of enum ‘pmempool_feature’ without previous declaration
     enum pmempool_feature feature = PMEMPOOL_FEAT_CKSUM_2K;
          ^~~~~~~~~~~~~~~~
/home/chriptus13/llpl/src/main/cpp/com_intel_pmem_llpl_AnyHeap.cpp:164:37: error: ‘PMEMPOOL_FEAT_CKSUM_2K’ was not declared in this scope
     enum pmempool_feature feature = PMEMPOOL_FEAT_CKSUM_2K;
                                     ^~~~~~~~~~~~~~~~~~~~~~
/home/chriptus13/llpl/src/main/cpp/com_intel_pmem_llpl_AnyHeap.cpp:164:37: note: suggested alternative: ‘PMEMPOOL_POOL_TYPE_BLK’
     enum pmempool_feature feature = PMEMPOOL_FEAT_CKSUM_2K;
                                     ^~~~~~~~~~~~~~~~~~~~~~
                                     PMEMPOOL_POOL_TYPE_BLK
/home/chriptus13/llpl/src/main/cpp/com_intel_pmem_llpl_AnyHeap.cpp:166:15: error: ‘pmempool_feature_query’ was not declared in this scope
     int ret = pmempool_feature_query(native_string, feature, 0);
               ^~~~~~~~~~~~~~~~~~~~~~
/home/chriptus13/llpl/src/main/cpp/com_intel_pmem_llpl_AnyHeap.cpp:166:15: note: suggested alternative: ‘pmempool_transform’
     int ret = pmempool_feature_query(native_string, feature, 0);
               ^~~~~~~~~~~~~~~~~~~~~~
               pmempool_transform
CMakeFiles/llpl.dir/build.make:62: recipe for target 'CMakeFiles/llpl.dir/com_intel_pmem_llpl_AnyHeap.cpp.o' failed
make[2]: *** [CMakeFiles/llpl.dir/com_intel_pmem_llpl_AnyHeap.cpp.o] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/llpl.dir/all' failed
make[1]: *** [CMakeFiles/llpl.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
chriptus13 commented 3 years ago

Fixed by upgrading libpmempool to version 1.8