2009/04/14
FUPPESをビルドする。[玄箱PROをfedora ARMからDebianへ #7]
作成者: love2hina
カテゴリー: 未分類
FUPPESをためしてみよう。
以前はuShareを試してみましたが、あまりうまくいかなかったので。
まぁ、fedora ARMに問題がある可能性もまたあるのですが。いろいろ試してみようということで。
# aptitude install gcc g++ make autoconf # autoreconf -hvf
AM_ICONV マクロが存在しないと言われる。
# aptitude install gettext
AC_DISABLE_STATIC マクロが存在しないと言われる。
# aptitude install libtool # dpkg-reconfigure automake # ./configure --disable-imagemagick --enable-default-http-port=30080
今度はconfigureスクリプトがバグって出力されたのか、bashに構文不正といわれるorz
レポジトリからとってくるんじゃなくて、正式リリース版を試してみますか…
pkg-configがないらしい。
…もしかして、これがなかったからなのか?
# aptitude install pkg-config
随時追加追加ついかぁぁぁ!!!!!(半ばヤケクソ
# aptitude install libxml2-dev libsqlite3-dev libavformat-dev uuid-dev libtag1-dev libtwolame-dev
ようやくmakeにたどり着けた…と思ったら!
# make lib/SSDP/UDPSocket.cpp: In member function 'bool CUDPSocket::SetupSocket(bool, std::string)': lib/SSDP/UDPSocket.cpp:58: warning: deprecated conversion from string constant to 'char*' lib/SSDP/UDPSocket.cpp:71: warning: deprecated conversion from string constant to 'char*' lib/SSDP/UDPSocket.cpp:93: error: 'memset' was not declared in this scope lib/SSDP/UDPSocket.cpp:98: warning: deprecated conversion from string constant to 'char*' lib/SSDP/UDPSocket.cpp:115: warning: deprecated conversion from string constant to 'char*' lib/SSDP/UDPSocket.cpp: In member function 'void CUDPSocket::SendMulticast(std::string)': lib/SSDP/UDPSocket.cpp:165: error: 'memset' was not declared in this scope lib/SSDP/UDPSocket.cpp:168: error: 'strlen' was not declared in this scope lib/SSDP/UDPSocket.cpp: In member function 'void CUDPSocket::SendUnicast(std::string, sockaddr_in)': lib/SSDP/UDPSocket.cpp:175: error: 'strlen' was not declared in this scope
strlen や memset が無いと言われる。
普通に #include <string.h> を入れてあげればよいでしょー。
UDPSocket.hに追加。
lib/HTTP/HTTPMessage.cpp: In member function 'bool CHTTPMessage::ParsePOSTMessage(std::string)': lib/HTTP/HTTPMessage.cpp:781: error: 'atoll' is not a member of 'std'
見てみると…
m_nContentLength = std::atoll(sContentLength.c_str());
…んなわけないじゃん。
m_nContentLength = atoll(sContentLength.c_str());
に修正。
lib/HTTP/HTTPServer.cpp: In function 'bool ReceiveRequest(CHTTPSessionInfo*, CHTTPMessage*)': lib/HTTP/HTTPServer.cpp:516: error: 'atoi' is not a member of 'std'
…またかい。
いつかのGCCはstd名前空間にあったんですかね…
lib/Transcoding/TranscodingCache.cpp: In function 'void* TranscodeThread(void*)': lib/Transcoding/TranscodingCache.cpp:358: error: 'memcpy' was not declared in this scope lib/Transcoding/TranscodingCache.cpp:413: error: 'memcpy' was not declared in this scope lib/Transcoding/TranscodingCache.cpp:435: error: 'memcpy' was not declared in this scope
TranscodingCache.h に #include <memory.h> を追記。
lib/Transcoding/WavEncoder.cpp: In member function 'virtual int CWavEncoder::EncodeInterleaved(short int*, int, int)': lib/Transcoding/WavEncoder.cpp:61: error: 'memcpy' was not declared in this scope lib/Transcoding/WavEncoder.cpp:64: error: 'memcpy' was not declared in this scope lib/Transcoding/WavEncoder.cpp: In member function 'void CWavEncoder::WriteFileHeader()': lib/Transcoding/WavEncoder.cpp:99: error: 'memcpy' was not declared in this scope
もういっちょ。
WavEncoder.h に #include <memory.h> を追記。
lib/Transcoding/PcmEncoder.cpp: In member function 'virtual int CPcmEncoder::EncodeInterleaved(short int*, int, int)': lib/Transcoding/PcmEncoder.cpp:69: error: 'memcpy' was not declared in this scope
またかいな。
WrapperBase.h に #include <memory.h> を追記して、WavEncoder.hに追加したのを削除っと。
とりあえず、これでコンパイルは出来ました…。