【发布时间】:2015-09-26 00:43:50
【问题描述】:
仅供参考...这里的上下文是AWS Elastic Beanstalk。我正在尝试在 64 位 Amazon Linux 2015.03 v1.4.3 上安装 audiowaveform 程序(客户 AMI ID 为 ami-6b50291c)。运行这个... ??????
$ sudo yum install git cmake libmad-devel libsndfile-devel gd-devel boost-devel
... 成功安装除libmad-devel 和libsndfile-devel 之外的所有软件包。以下是相关输出...
Failed to set locale, defaulting to C
Loaded plugins: priorities, update-motd, upgrade-helper
amzn-main/2015.03 | 2.1 kB 00:00
amzn-updates/2015.03 | 2.3 kB 00:00
Package git-2.1.0-1.38.amzn1.x86_64 already installed and latest version
Package cmake-2.8.12-2.20.amzn1.x86_64 already installed and latest version
No package libmad-devel available.
No package libsndfile-devel available.
Package gd-devel-2.0.35-11.10.amzn1.x86_64 already installed and latest version
Package boost-devel-1.53.0-14.21.amzn1.x86_64 already installed and latest version
Nothing to do
也就是说,这不是 audiowaveform 的问题……这意味着为 Amazon Linux AMI 启用的存储库默认没有 libmad-devel 和 libsndfile-devel。我想我可能不得不简单地添加我自己的来源。
另外需要注意的是,audio waveform 不存在 yum 包,所以我必须手动构建它。
获取源...????
$ git clone https://github.com/bbcrd/audiowaveform.git
$ cd audio waveform
然后构建并安装... ????
$ mkdir build
$ cd build
$ cmake ..
$ make
$ sudo make install
问题 1
在 AWS EB ... EC2 实例配置为使用没有上述软件包的 Amazon 源,即 libmad-devel 和 libsndfile-devel。 推荐添加这些包的方法是什么,以便yum可以使用它们?
我强调推荐是因为我觉得从亚马逊更改来源不是最好的方法。也不会添加另一个可能与亚马逊的包裹冲突的来源......等等等等......
问题 2
假设我能够安装 libmad-devel 和 libsndfile-devel。我仍然必须手动构建它,因为没有 audiowaveform 的包。在 AWS EB 上,我可以编写一个脚本来执行此操作,因为每个实例都在被实例化……但我觉得这并不理想,速度慢而且容易出错。有人对我如何能做得更好有什么建议吗?
可能准备一个基于ami-6b50291c 的已构建AMI。想法?
核心目标
我不必使用audiowaveform ...我的目标实际上是提取某些音频(MP3)的峰值点。我将把它设置为一个单独的问题。
【问题讨论】:
-
/usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:108 处的 CMake 错误(消息):找不到 LibSndFile(缺少:LIBSNDFILE_LIBRARIES
标签: amazon-web-services amazon-ec2 amazon-elastic-beanstalk