love! LOVEHINA - love2hina.net


カテゴリー

アーカイブ
2009/04/14 FUPPESをビルドする。[玄箱PROをfedora ARMからDebianへ #7]

作成者: カテゴリー: 未分類

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に追加したのを削除っと。
とりあえず、これでコンパイルは出来ました…。