如何在生产中安装taglib-ruby

时间:2014-12-02 11:55:48

标签: ruby taglib-ruby

我想在我的生产系统上安装taglib-ruby。我尝试了以下步骤:

git clone git@github.com:taglib/taglib.git
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_BUILD_TYPE=Release 
make
sudo make install

当我运行make步骤时,我收到以下错误:

[manoj@appr-taglib-master]$ make
Scanning dependencies of target tag
[  0%] Building CXX object taglib/CMakeFiles/tag.dir/mpeg/mpegfile.cpp.o
[  1%] Building CXX object taglib/CMakeFiles/tag.dir/mpeg/mpegproperties.cpp.o
[  2%] Building CXX object taglib/CMakeFiles/tag.dir/mpeg/mpegheader.cpp.o
[  3%] Building CXX object taglib/CMakeFiles/tag.dir/mpeg/xingheader.cpp.o
[  4%] Building CXX object taglib/CMakeFiles/tag.dir/mpeg/id3v1/id3v1tag.cpp.o
[  5%] Building CXX object taglib/CMakeFiles/tag.dir/mpeg/id3v1/id3v1genres.cpp.o
[  6%] Building CXX object taglib/CMakeFiles/tag.dir/mpeg/id3v2/id3v2framefactory.cpp.o
[  7%] Building CXX object taglib/CMakeFiles/tag.dir/mpeg/id3v2/id3v2synchdata.cpp.o
[  8%] Building CXX object taglib/CMakeFiles/tag.dir/mpeg/id3v2/id3v2tag.cpp.o
[  9%] Building CXX object taglib/CMakeFiles/tag.dir/mpeg/id3v2/id3v2header.cpp.o
[ 10%] Building CXX object taglib/CMakeFiles/tag.dir/mpeg/id3v2/id3v2frame.cpp.o
[ 11%] Building CXX object taglib/CMakeFiles/tag.dir/mpeg/id3v2/id3v2footer.cpp.o
[ 12%] Building CXX object taglib/CMakeFiles/tag.dir/mpeg/id3v2/id3v2extendedheader.cpp.o
[ 13%] Building CXX object taglib/CMakeFiles/tag.dir/mpeg/id3v2/frames/attachedpictureframe.cpp.o
[ 14%] Building CXX object taglib/CMakeFiles/tag.dir/mpeg/id3v2/frames/commentsframe.cpp.o
[ 15%] Building CXX object taglib/CMakeFiles/tag.dir/mpeg/id3v2/frames/eventtimingcodesframe.cpp.o
[ 16%] Building CXX object taglib/CMakeFiles/tag.dir/mpeg/id3v2/frames/generalencapsulatedobjectframe.cpp.o
[ 17%] Building CXX object taglib/CMakeFiles/tag.dir/mpeg/id3v2/frames/ownershipframe.cpp.o
[ 18%] Building CXX object taglib/CMakeFiles/tag.dir/mpeg/id3v2/frames/popularimeterframe.cpp.o
[ 19%] Building CXX object taglib/CMakeFiles/tag.dir/mpeg/id3v2/frames/privateframe.cpp.o
[ 20%] Building CXX object taglib/CMakeFiles/tag.dir/mpeg/id3v2/frames/relativevolumeframe.cpp.o
[ 21%] Building CXX object taglib/CMakeFiles/tag.dir/mpeg/id3v2/frames/synchronizedlyricsframe.cpp.o
[ 22%] Building CXX object taglib/CMakeFiles/tag.dir/mpeg/id3v2/frames/textidentificationframe.cpp.o
[ 23%] Building CXX object taglib/CMakeFiles/tag.dir/mpeg/id3v2/frames/uniquefileidentifierframe.cpp.o
[ 24%] Building CXX object taglib/CMakeFiles/tag.dir/mpeg/id3v2/frames/unknownframe.cpp.o
[ 25%] Building CXX object taglib/CMakeFiles/tag.dir/mpeg/id3v2/frames/unsynchronizedlyricsframe.cpp.o
[ 26%] Building CXX object taglib/CMakeFiles/tag.dir/mpeg/id3v2/frames/urllinkframe.cpp.o
[ 27%] Building CXX object taglib/CMakeFiles/tag.dir/mpeg/id3v2/frames/chapterframe.cpp.o
/home/appuser/taglib-master/taglib/mpeg/id3v2/frames/chapterframe.cpp:92: error: reference to ‘uint’ is ambiguous
/usr/include/sys/types.h:153: error: candidates are: typedef unsigned int uint
/home/appuser/taglib-master/taglib/toolkit/taglib.h:66: error:                 typedef unsigned int TagLib::uint
/home/appuser/taglib-master/taglib/mpeg/id3v2/frames/chapterframe.cpp:92: error: reference to ‘uint’ is ambiguous
/usr/include/sys/types.h:153: error: candidates are: typedef unsigned int uint
/home/appuser/taglib-master/taglib/toolkit/taglib.h:66: error:                 typedef unsigned int TagLib::uint
/home/appuser/taglib-master/taglib/mpeg/id3v2/frames/chapterframe.cpp:92: error: ‘uint’ does not name a type
/home/appuser/taglib-master/taglib/mpeg/id3v2/frames/chapterframe.cpp:97: error: reference to ‘uint’ is ambiguous
/usr/include/sys/types.h:153: error: candidates are: typedef unsigned int uint
/home/appuser/taglib-master/taglib/toolkit/taglib.h:66: error:                 typedef unsigned int TagLib::uint
/home/appuser/taglib-master/taglib/mpeg/id3v2/frames/chapterframe.cpp:97: error: reference to ‘uint’ is ambiguous
/usr/include/sys/types.h:153: error: candidates are: typedef unsigned int uint
/home/appuser/taglib-master/taglib/toolkit/taglib.h:66: error:                 typedef unsigned int TagLib::uint
/home/appuser/taglib-master/taglib/mpeg/id3v2/frames/chapterframe.cpp:97: error: ‘uint’ does not name a type
/home/appuser/taglib-master/taglib/mpeg/id3v2/frames/chapterframe.cpp:102: error: reference to ‘uint’ is ambiguous
/usr/include/sys/types.h:153: error: candidates are: typedef unsigned int uint
/home/appuser/taglib-master/taglib/toolkit/taglib.h:66: error:                 typedef unsigned int TagLib::uint
/home/appuser/taglib-master/taglib/mpeg/id3v2/frames/chapterframe.cpp:102: error: reference to ‘uint’ is ambiguous
/usr/include/sys/types.h:153: error: candidates are: typedef unsigned int uint
/home/appuser/taglib-master/taglib/toolkit/taglib.h:66: error:                 typedef unsigned int TagLib::uint
/home/appuser/taglib-master/taglib/mpeg/id3v2/frames/chapterframe.cpp:102: error: ‘uint’ does not name a type
/home/appuser/taglib-master/taglib/mpeg/id3v2/frames/chapterframe.cpp:107: error: reference to ‘uint’ is ambiguous
/usr/include/sys/types.h:153: error: candidates are: typedef unsigned int uint
/home/appuser/taglib-master/taglib/toolkit/taglib.h:66: error:                 typedef unsigned int TagLib::uint
/home/appuser/taglib-master/taglib/mpeg/id3v2/frames/chapterframe.cpp:107: error: reference to ‘uint’ is ambiguous
/usr/include/sys/types.h:153: error: candidates are: typedef unsigned int uint
/home/appuser/taglib-master/taglib/toolkit/taglib.h:66: error:                 typedef unsigned int TagLib::uint
/home/appuser/taglib-master/taglib/mpeg/id3v2/frames/chapterframe.cpp:107: error: ‘uint’ does not name a type
make[2]: *** [taglib/CMakeFiles/tag.dir/mpeg/id3v2/frames/chapterframe.cpp.o] Error 1
make[1]: *** [taglib/CMakeFiles/tag.dir/all] Error 2
make: *** [all] Error 2

gcc --version

gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-11)
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

1 个答案:

答案 0 :(得分:0)

如果你跑

dpkg -L libc6-dev | grep types.h

你会发现types.h是libc6-dev软件包的一部分,所以你有几个选择:

  1. 更新您的系统包
  2. 安装GCC和libs的第二个版本,按照answer进行,他有一个非常好的解释。