spiritloose / RocksDB

Perl extension for RocksDB
https://metacpan.org/pod/RocksDB
Other
4 stars 1 forks source link

Build error on Debian x64 #2

Closed paxos closed 10 years ago

paxos commented 10 years ago

Any ideas whats missing?

.. Building RocksDB cc -I/usr/lib/perl/5.14/CORE -DXS_VERSION="0.02" -DVERSION="0.02" -fPIC -x c++ -std=gnu++11 -I. -Wall -Wno-reserved-user-defined-literal -Wno-duplicate-decl-specifier -Wno-parentheses -Wno-unused -Wno-literal-suffix -Wno-unknown-warning-option -std=gnu++11 -DROCKSDB_PLATFORM_POSIX -DOS_LINUX -fno-builtin-memcmp -DROCKSDB_ATOMIC_PRESENT -DSNAPPY -DGFLAGS -DZLIB -DBZIP2 -c -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fstack-protector -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSETBITS=64 -O2 -g -o lib/RocksDB.o lib/RocksDB.c lib/RocksDB.xs:130:54: error: 'rocksdb::HistogramData' has not been declared lib/RocksDB.xs: In static member function 'static SV* RocksDB::Statistics::HistogramDataToHashRef(PerlInterpreter, int_)': lib/RocksDB.xs:132:9: error: request for member 'median' in '* data', which is of non-class type 'int' lib/RocksDB.xs:133:9: error: request for member 'percentile95' in '* data', which is of non-class type 'int' lib/RocksDB.xs:134:9: error: request for member 'percentile99' in '* data', which is of non-class type 'int' lib/RocksDB.xs:135:9: error: request for member 'average' in '* data', which is of non-class type 'int' lib/RocksDB.xs:136:9: error: request for member 'standard_deviation' in '* data', which is of non-class type 'int' lib/RocksDB.xs: In function 'void applyoptions(PerlInterpreter, rocksdb::Options, HV, AV_)': lib/RocksDB.xs:733:28: error: 'CreateDBStatistics' is not a member of 'rocksdb' lib/RocksDB.xs: In function 'void XS_RocksDBStatistics_get_tickercount(PerlInterpreter, CV_)': lib/RocksDB.xs:1784:9: error: 'Tickers' is not a member of 'rocksdb' lib/RocksDB.xs:1784:26: error: expected ';' before 't' lib/RocksDB.xs:1785:18: error: invalid use of incomplete type 'class rocksdb::Statistics' In file included from /usr/include/rocksdb/db.h:17:0, from lib/RocksDB.xs:25: /usr/include/rocksdb/options.h:36:7: error: forward declaration of 'class rocksdb::Statistics' lib/RocksDB.xs:1785:18: error: 't' was not declared in this scope lib/RocksDB.xs: In function 'void XS_RocksDBStatistics_histogramdata(PerlInterpreter, CV_)': lib/RocksDB.xs:1802:9: error: 'Histograms' is not a member of 'rocksdb' lib/RocksDB.xs:1802:29: error: expected ';' before 'h' lib/RocksDB.xs:1803:9: error: 'HistogramData' is not a member of 'rocksdb' lib/RocksDB.xs:1803:32: error: expected ';' before 'data' lib/RocksDB.xs:1804:18: error: invalid use of incomplete type 'class rocksdb::Statistics' In file included from /usr/include/rocksdb/db.h:17:0, from lib/RocksDB.xs:25: /usr/include/rocksdb/options.h:36:7: error: forward declaration of 'class rocksdb::Statistics' lib/RocksDB.xs:1804:34: error: 'h' was not declared in this scope lib/RocksDB.xs:1804:38: error: 'data' was not declared in this scope lib/RocksDB.xs: In function 'void XS_RocksDB__Statistics_tohashref(PerlInterpreter, CV_)': lib/RocksDB.xs:1816:29: error: 'TickersNameMap' is not a member of 'rocksdb' lib/RocksDB.xs:1816:38: error: unable to deduce 'const auto&' from '' lib/RocksDB.xs:1818:9: error: invalid use of incomplete type 'class rocksdb::Statistics' In file included from /usr/include/rocksdb/db.h:17:0, from lib/RocksDB.xs:25: /usr/include/rocksdb/options.h:36:7: error: forward declaration of 'class rocksdb::Statistics' lib/RocksDB.xs:1820:29: error: 'HistogramsNameMap' is not a member of 'rocksdb' lib/RocksDB.xs:1820:38: error: unable to deduce 'const auto&' from '' lib/RocksDB.xs:1822:9: error: 'HistogramData' is not a member of 'rocksdb' lib/RocksDB.xs:1822:32: error: expected ';' before 'data' lib/RocksDB.xs:1823:18: error: invalid use of incomplete type 'class rocksdb::Statistics' In file included from /usr/include/rocksdb/db.h:17:0, from lib/RocksDB.xs:25: /usr/include/rocksdb/options.h:36:7: error: forward declaration of 'class rocksdb::Statistics' lib/RocksDB.xs:1823:47: error: 'data' was not declared in this scope lib/RocksDB.xs: In function 'void XS_RocksDB__Statistics_tostring(PerlInterpreter, CV_)': lib/RocksDB.xs:1834:23: error: invalid use of incomplete type 'class rocksdb::Statistics' In file included from /usr/include/rocksdb/db.h:17:0, from lib/RocksDB.xs:25: /usr/include/rocksdb/options.h:36:7: error: forward declaration of 'class rocksdb::Statistics' lib/RocksDB.xs: In function 'void bootRocksDB(PerlInterpreter, CV_)': lib/RocksDB.xs:1762:33: error: 'TickersNameMap' is not a member of 'rocksdb' lib/RocksDB.xs:1762:42: error: unable to deduce 'const auto&' from '' lib/RocksDB.xs:1768:33: error: 'HistogramsNameMap' is not a member of 'rocksdb' lib/RocksDB.xs:1768:42: error: unable to deduce 'const auto&' from '' At global scope: cc1plus: warning: unrecognized command line option "-Wno-unknown-warning-option" [enabled by default] cc1plus: warning: unrecognized command line option "-Wno-literal-suffix" [enabled by default] cc1plus: warning: unrecognized command line option "-Wno-duplicate-decl-specifier" [enabled by default] cc1plus: warning: unrecognized command line option "-Wno-reserved-user-defined-literal" [enabled by default] error building lib/RocksDB.o from 'lib/RocksDB.c' at /usr/local/share/perl/5.14.2/ExtUtils/CBuilder/Base.pm line 175. JIRO/RocksDB-0.02.tar.gz ./Build -- NOT OK CPAN: YAML loaded ok (v0.88) Running Build test Can't test without successful make Running Build install Make had returned bad status, install seems impossible

paxos commented 10 years ago

The shard lib from the facebook repo built without a problem, so I thin the dependencies are installed correctly.

paxos commented 10 years ago

Ok, the problem was the installed (maybe newer?) version of rocksDB shared lib + headers. I removed then, but still get:

Parse errors: No plan found in TAP output Files=16, Tests=147, 1 wallclock secs ( 0.03 usr 0.01 sys + 0.38 cusr 0.06 csys = 0.48 CPU) Result: FAIL Failed 2/16 test programs. 0/147 subtests failed. JIRO/RocksDB-0.02.tar.gz ./Build test -- NOT OK //hint// to see the cpan-testers results for installing this module, try: reports JIRO/RocksDB-0.02.tar.gz Running Build install make test had returned bad status, won't install without force

Installed it with force, seems to work.