无法在 ubuntu 上编译 thrift

无法在 ubuntu 上编译 thrift

我正在尝试在我的 PC 上安装 cassandra 和 thrift。我已成功安装 cassandra。但在制作(使用“make”命令)thrift 时,我收到以下错误:

...............
.............
......Entering directory `/home/USER/thrift-0.9.0-dev/lib/erl'
for f in ../../test/AnnotationTest.thrift ../../test/BrokenConstants.thrift ../../test/ConstantsDemo.thrift ../../test/DebugProtoTest.thrift ../../test/DenseLinkingTest.thrift ../../test/DocTest.thrift ../../test/JavaBeansTest.thrift ../../test/ManyTypedefs.thrift ../../test/OptionalRequiredTest.thrift ../../test/SmallTest.thrift ../../test/StressTest.thrift ../../test/ThriftTest.thrift test/Thrift1151.thrift ; do \
      ../../compiler/cpp/thrift --gen erl -out test $f ; \
    done ; \
    touch .generated
[WARNING:/home/USER/thrift-0.9.0-dev/test/BrokenConstants.thrift:20] 64-bit constant "68719476736" may not work in all languages.

[ERROR:/home/USER/thrift-0.9.0-dev/test/BrokenConstants.thrift:21] (last token was '9876543210987654321')
This integer is too big: "9876543210987654321"

[WARNING:/home/USER/thrift-0.9.0-dev/test/DebugProtoTest.thrift:41] 64-bit constant "10000000000" may not work in all languages.

[WARNING:/home/USER/thrift-0.9.0-dev/test/DebugProtoTest.thrift:173] 64-bit constant "1099511627775" may not work in all languages.

[WARNING:/home/USER/thrift-0.9.0-dev/test/DebugProtoTest.thrift:183] 64-bit constant "4294967295" may not work in all languages.

[WARNING:/home/USER/thrift-0.9.0-dev/test/DebugProtoTest.thrift:183] 64-bit constant "1099511627775" may not work in all languages.

[WARNING:/home/USER/thrift-0.9.0-dev/test/DebugProtoTest.thrift:183] 64-bit constant "281474976710655" may not work in all languages.

[WARNING:/home/USER/thrift-0.9.0-dev/test/DebugProtoTest.thrift:183] 64-bit constant "72057594037927935" may not work in all languages.

[WARNING:/home/USER/thrift-0.9.0-dev/test/DebugProtoTest.thrift:183] 64-bit constant "9223372036854775807" may not work in all languages.

[WARNING:/home/USER/thrift-0.9.0-dev/test/DebugProtoTest.thrift:192] 64-bit constant "4294967295" may not work in all languages.

[WARNING:/home/USER/thrift-0.9.0-dev/test/DebugProtoTest.thrift:192] 64-bit constant "1099511627775" may not work in all languages.

[WARNING:/home/USER/thrift-0.9.0-dev/test/DebugProtoTest.thrift:192] 64-bit constant "281474976710655" may not work in all languages.

[WARNING:/home/USER/thrift-0.9.0-dev/test/DebugProtoTest.thrift:192] 64-bit constant "72057594037927935" may not work in all languages.

[WARNING:/home/USER/thrift-0.9.0-dev/test/DebugProtoTest.thrift:192] 64-bit constant "9223372036854775807" may not work in all languages.

[WARNING:/home/USER/thrift-0.9.0-dev/test/DebugProtoTest.thrift:201] 64-bit constant "9223372036854775807" may not work in all languages.

[WARNING:/home/USER/thrift-0.9.0-dev/test/DebugProtoTest.thrift:208] 64-bit constant "9223372036854775807" may not work in all languages.

[WARNING:/home/USER/thrift-0.9.0-dev/test/DebugProtoTest.thrift:355] No field key specified for field1, resulting protocol may have conflicts or not be backwards compatible!

[WARNING:/home/USER/thrift-0.9.0-dev/test/DebugProtoTest.thrift:356] No field key specified for field2, resulting protocol may have conflicts or not be backwards compatible!

[WARNING:/home/USER/thrift-0.9.0-dev/test/DebugProtoTest.thrift:357] No field key specified for field3, resulting protocol may have conflicts or not be backwards compatible!

[WARNING:/home/USER/thrift-0.9.0-dev/test/DebugProtoTest.thrift:358] No field key specified for field4, resulting protocol may have conflicts or not be backwards compatible!

[WARNING:/home/USER/thrift-0.9.0-dev/test/DebugProtoTest.thrift:359] No field key specified for field5, resulting protocol may have conflicts or not be backwards compatible!

[WARNING:/home/USER/thrift-0.9.0-dev/test/DebugProtoTest.thrift:360] No field key specified for field6, resulting protocol may have conflicts or not be backwards compatible!

[WARNING:/home/USER/thrift-0.9.0-dev/test/DebugProtoTest.thrift:361] No field key specified for field7, resulting protocol may have conflicts or not be backwards compatible!

[WARNING:/home/USER/thrift-0.9.0-dev/test/DebugProtoTest.thrift:362] No field key specified for field8, resulting protocol may have conflicts or not be backwards compatible!

[WARNING:/home/USER/thrift-0.9.0-dev/test/DebugProtoTest.thrift:363] No field key specified for field9, resulting protocol may have conflicts or not be backwards compatible!

[WARNING:/home/USER/thrift-0.9.0-dev/test/DebugProtoTest.thrift:364] No field key specified for field10, resulting protocol may have conflicts or not be backwards compatible!

[WARNING:/home/USER/thrift-0.9.0-dev/test/DebugProtoTest.thrift:365] No field key specified for field11, resulting protocol may have conflicts or not be backwards compatible!

[WARNING:/home/USER/thrift-0.9.0-dev/test/DebugProtoTest.thrift:366] No field key specified for field12, resulting protocol may have conflicts or not be backwards compatible!

[WARNING:/home/USER/thrift-0.9.0-dev/test/DebugProtoTest.thrift:41] 64-bit constant "10000000000" may not work in all languages.

[WARNING:/home/USER/thrift-0.9.0-dev/test/DebugProtoTest.thrift:173] 64-bit constant "1099511627775" may not work in all languages.

[WARNING:/home/USER/thrift-0.9.0-dev/test/DebugProtoTest.thrift:183] 64-bit constant "4294967295" may not work in all languages.

[WARNING:/home/USER/thrift-0.9.0-dev/test/DebugProtoTest.thrift:183] 64-bit constant "1099511627775" may not work in all languages.

[WARNING:/home/USER/thrift-0.9.0-dev/test/DebugProtoTest.thrift:183] 64-bit constant "281474976710655" may not work in all languages.

[WARNING:/home/USER/thrift-0.9.0-dev/test/DebugProtoTest.thrift:183] 64-bit constant "72057594037927935" may not work in all languages.

[WARNING:/home/USER/thrift-0.9.0-dev/test/DebugProtoTest.thrift:183] 64-bit constant "9223372036854775807" may not work in all languages.

[WARNING:/home/USER/thrift-0.9.0-dev/test/DebugProtoTest.thrift:192] 64-bit constant "4294967295" may not work in all languages.

[WARNING:/home/USER/thrift-0.9.0-dev/test/DebugProtoTest.thrift:192] 64-bit constant "1099511627775" may not work in all languages.

[WARNING:/home/USER/thrift-0.9.0-dev/test/DebugProtoTest.thrift:192] 64-bit constant "281474976710655" may not work in all languages.

[WARNING:/home/USER/thrift-0.9.0-dev/test/DebugProtoTest.thrift:192] 64-bit constant "72057594037927935" may not work in all languages.

[WARNING:/home/USER/thrift-0.9.0-dev/test/DebugProtoTest.thrift:192] 64-bit constant "9223372036854775807" may not work in all languages.

[WARNING:/home/USER/thrift-0.9.0-dev/test/DebugProtoTest.thrift:201] 64-bit constant "9223372036854775807" may not work in all languages.

[WARNING:/home/USER/thrift-0.9.0-dev/test/DebugProtoTest.thrift:208] 64-bit constant "9223372036854775807" may not work in all languages.

[WARNING:/home/USER/thrift-0.9.0-dev/test/DebugProtoTest.thrift:355] No field key specified for field1, resulting protocol may have conflicts or not be backwards compatible!

[WARNING:/home/USER/thrift-0.9.0-dev/test/DebugProtoTest.thrift:356] No field key specified for field2, resulting protocol may have conflicts or not be backwards compatible!

[WARNING:/home/USER/thrift-0.9.0-dev/test/DebugProtoTest.thrift:357] No field key specified for field3, resulting protocol may have conflicts or not be backwards compatible!

[WARNING:/home/USER/thrift-0.9.0-dev/test/DebugProtoTest.thrift:358] No field key specified for field4, resulting protocol may have conflicts or not be backwards compatible!

[WARNING:/home/USER/thrift-0.9.0-dev/test/DebugProtoTest.thrift:359] No field key specified for field5, resulting protocol may have conflicts or not be backwards compatible!

[WARNING:/home/USER/thrift-0.9.0-dev/test/DebugProtoTest.thrift:360] No field key specified for field6, resulting protocol may have conflicts or not be backwards compatible!

[WARNING:/home/USER/thrift-0.9.0-dev/test/DebugProtoTest.thrift:361] No field key specified for field7, resulting protocol may have conflicts or not be backwards compatible!

[WARNING:/home/USER/thrift-0.9.0-dev/test/DebugProtoTest.thrift:362] No field key specified for field8, resulting protocol may have conflicts or not be backwards compatible!

[WARNING:/home/USER/thrift-0.9.0-dev/test/DebugProtoTest.thrift:363] No field key specified for field9, resulting protocol may have conflicts or not be backwards compatible!

[WARNING:/home/USER/thrift-0.9.0-dev/test/DebugProtoTest.thrift:364] No field key specified for field10, resulting protocol may have conflicts or not be backwards compatible!

[WARNING:/home/USER/thrift-0.9.0-dev/test/DebugProtoTest.thrift:365] No field key specified for field11, resulting protocol may have conflicts or not be backwards compatible!

[WARNING:/home/USER/thrift-0.9.0-dev/test/DebugProtoTest.thrift:366] No field key specified for field12, resulting protocol may have conflicts or not be backwards compatible!

[WARNING:/home/USER/thrift-0.9.0-dev/test/JavaBeansTest.thrift:38] No field key specified for blah, resulting protocol may have conflicts or not be backwards compatible!

[WARNING:/home/USER/thrift-0.9.0-dev/test/JavaBeansTest.thrift:38] No field key specified for blah, resulting protocol may have conflicts or not be backwards compatible!

./rebar get-deps
==> nicefloats (get-deps)
==> jsx (get-deps)
==> erl (get-deps)
./rebar compile
==> nicefloats (compile)
Compiled src/nicefloats.erl
==> jsx (compile)
./include/jsx_common.hrl:34: type jsx_opt() undefined
./include/jsx_common.hrl:66: type jsx_parser_result() undefined
./include/jsx_common.hrl:82: type eep0018_array() undefined
./include/jsx_common.hrl:82: type eep0018_object() undefined
./include/jsx_common.hrl:84: type eep0018_term() undefined
./include/jsx_common.hrl:85: type eep0018_key() undefined
./include/jsx_common.hrl:85: type eep0018_term() undefined
./include/jsx_common.hrl:91: type eep0018_string() undefined
./include/jsx_common.hrl:92: type eep0018_number() undefined
./include/jsx_common.hrl:100: type encoder_opt() undefined
./include/jsx_common.hrl:109: type decoder_opt() undefined
./include/jsx_common.hrl:117: type verify_opt() undefined
./include/jsx_common.hrl:123: type format_opt() undefined
make[3]: *** [all] Error 1
make[3]: Leaving directory `/home/USER/thrift-0.9.0-dev/lib/erl'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/USER/thrift-0.9.0-dev/lib'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/USER/thrift-0.9.0-dev'
make: *** [all] Error 2

我已经从网站下载了 thrift。我的操作系统是 Ubuntu 10.04.3 LTS 32 位

答案1

解决方法:配置 thrift 时禁用 erlang:

./configure --without-erlang
make
...

相关内容