【问题标题】:Issue Statically Compiling Thrift 0.9.0 on Centos 6.5在 Centos 6.5 上静态编译 Thrift 0.9.0 问题
【发布时间】:2014-06-07 04:50:28
【问题描述】:

我正在 CentOS 虚拟机中静态编译 Thrift 0.9.0 二进制文件。我得到了 libthrift.a 二进制文件没有被创建的问题。我正在使用 vagrant box 来运行 centos: https://github.com/2creatives/vagrant-centos/releases/download/v6.5.1/centos65-x86_64-20131205.box

一旦我 ssh 到 vagrant box,我就会运行以下命令:

wget https://archive.apache.org/dist/thrift/0.9.0/thrift-0.9.0.tar.gz
tar -zxvf thrift-0.9.0.tar.gz
cd thrift-0.9.0
./configure --enable-static
make

这会运行,但我在系统上运行了一个查找命令 (sudo find / -name "*.a") 以查看是否生成了任何 ".a" 文件,并且生成的唯一文件是 "libparse. a" 这似乎不对。据我了解,它应该是“libthrift.a”。

通过 config.log 文件搜索它说它确实想要构建静态库:

configure:11944: checking whether to build static libraries
configure:11948: result: yes

查看日志文件中包含关键字“static”的更多位置会发现可能存在错误的潜在位置。

configure:9028: checking if gcc static flag -static works
configure:9056: result: no

configure:13915: checking if g++ static flag -static works
configure:13943: result: no

lt_cv_prog_compiler_static_works=no
lt_cv_prog_compiler_static_works_CXX=no

完整的日志文件在这里:http://www.filehosting.org/file/details/449460/staticThriftErrorLog.rtf

感谢任何帮助

【问题讨论】:

  • 以防万一这只是一个版本控制问题,我只是尝试使用 yum (sudo yum update) 更新所有内容,并在成功更新后遇到了同样的问题。
  • 即使安装了另一个堆栈溢出答案 (stackoverflow.com/questions/14388135/…) 中提到的依赖项后,静态问题仍然存在。
  • 您是否尝试过与 Thrift trunk 相同的操作?我记得最近修复了 CentOS 上的一些问题。我不太清楚细节,不要这么用 CentOS。无论如何,如果您认为自己发现了问题,请随时发布邮件列表和/或提交 JIRA 票证。

标签: static thrift centos6


【解决方案1】:

我能够生成 libthrift.a 文件。在为我的评论中提到的额外依赖项运行命令后,我忘记运行 make 命令。因此,在执行 make 命令后,我在“thrift-0.9.0/lib/cpp/.libs/”中找到了 libthrift.a 文件。有趣的是,即使在修复了依赖关系之后,config.log 仍然存在关于 gcc/g++ 静态标志和静态编译器的相同潜在问题区域。

具体依赖命令如下:

sudo yum install automake libtool flex bison pkgconfig gcc-c++ boost-devel libevent-devel zlib-devel python-devel ruby-devel openssl-devel.x86_64


编辑:在获得有关 Jira 票证的建议后,事实证明我使用的特定 vagrant box 导致了错误。使用他链接的 VM,我能够使用提供的说明成功构建 Thrift。 (吉拉票https://issues.apache.org/jira/browse/THRIFT-2559

【讨论】:

  • 如果 (1) 与 thrift.apache.org/docs/install/centos 上列出的内容不同,并且 (2) 如果它仍然适用于中继 => 我可以要求您提交一份 JIRA 票与您的调查结果吗?
  • 我需要在 oder 中节俭以在 centos 6.5 上构建的软件包似乎与您链接的网站上列出的有所不同。我对这个社区比较陌生,主干构建与这个 tar 球 archive.apache.org/dist/thrift/0.9.0/thrift-0.9.0.tar.gz 不同吗?那是我用的焦油球。还有 Jira 项目的链接是什么?
  • Last release 在 2013 年夏天是 0.9.1。主干可以是retrieved via git,JIRA 可以找到here。另见how to contribute。谢谢!
  • 我现在正在提交错误报告。实际上,使用最新的主干版本,它根本不会在 centos 6.5 上“制造”。这是按照您链接的centos 设置中的说明进行的。我尝试了列出的软件包以及使 0.9.0 为我工作的软件包。
  • 我刚刚提交了错误报告,这里是链接 [link] (issues.apache.org/jira/browse/THRIFT-2559)。如果您认为我应该更改或添加任何内容,请告诉我,我会处理的。
猜你喜欢
  • 1970-01-01
  • 2019-10-03
  • 2017-04-07
  • 1970-01-01
  • 1970-01-01
  • 2011-08-31
  • 1970-01-01
  • 2014-08-12
  • 2018-11-08
相关资源
最近更新 更多