How to install taglib-ruby on production

143 views Asked by At

I want to install taglib-ruby on my production system. I tried the following steps:

git clone [email protected]:taglib/taglib.git
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_BUILD_TYPE=Release 
make
sudo make install

When I run the make step, I get the following error:

[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

There are 1 answers

0
pshoukry On

If you run

dpkg -L libc6-dev | grep types.h

you will find that types.h is part of libc6-dev package so you have a couple of options:

  1. update your system packages
  2. Install a second version of your GCC and libs, follow this answer he has a very good explanation.