お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2008-12-13 01:03:59

rhino
新しいメンバ
登録日: 2008-12-13

sonydbのビルド方法について

 sonydbを使用したいため、suv でコードをcoしたのですが、ビルドが上手く行きません。
そもそも、自分の環境で出来るものなのかについても良くわかっていない状態です、、、

・ubuntu 8.10 を使用しています。
・suv でsonydbのソースをcheck out しました
   # svn co http://svn.coderepos.org/share/lang/c/sonydb
・sonydbのディレクトリに入って、
 # sh autogen.sh で configure が作成され
 # ./configure  で Makefile が作成され
 # make  で 大量のエラーが、、、

エラー内容:
root@hoge:/home/hoge/workspace/sonydb# make
make  all-am
make[1]: ディレクトリ `/home/hoge/workspace/sonydb' に入ります
g++ -DHAVE_CONFIG_H -I.     -g -O2 -MT sonydb.o -MD -MP -MF .deps/sonydb.Tpo -c -o sonydb.o sonydb.cpp
sonydb.cpp: In function ‘int STRCMP_NULLOK(const char*, const char*)’:
sonydb.cpp:23: error: ‘strncasecmp’ was not declared in this scope
sonydb.cpp:26: error: ‘strncasecmp’ was not declared in this scope
sonydb.cpp:27: error: ‘strcasecmp’ was not declared in this scope
sonydb.cpp: In function ‘int STRCMP2_NULLOK(const char*, const char*)’:
sonydb.cpp:34: error: ‘strcasecmp’ was not declared in this scope
sonydb.cpp: In function ‘int STRNCMP_NULLOK(const char*, const char*, int)’:
sonydb.cpp:41: error: ‘strncasecmp’ was not declared in this scope
sonydb.cpp: In member function ‘std::vector<Song*, std::allocator<Song*> > SonyDb::getSongsInPlaylist(int)’:
sonydb.cpp:202: error: ‘strdup’ was not declared in this scope
sonydb.cpp:235: error: ‘strdup’ was not declared in this scope
・・・省略・・・(エラー内容終了)

 何か、必要なライブラリが足りない、とかそう言った類のエラーなのでしょうか?
 ですが、gnumake?に疎いため、全然どうしてよいかわからない状態です、、、
 # 当方、bsd系は多少経験あるのですが、linuxは経験が皆無に等しい状態です。

どなたか、ご助言をいただけませんでしょうか?

オフライン

 

#2 2008-12-13 02:00:20

si
メンバ
From: hokkaido kitami, jp
登録日: 2007-01-15

Re: sonydbのビルド方法について

>sonydb.cpp:235: error: ‘strdup’ was not declared in this scope
基本的なヘッダーファイルもインストールされてないようです。
取り合えず、build-essential と データベースなので、zlib1g-dev をインストールし、再度、トライしてみる
(makeファイルを見れば、何が必要か解ると思うが...)
でも ./configure で エラー出てませんでしたか?

オフライン

 

#3 2008-12-14 16:47:19

already42!
新しいメンバ
登録日: 2008-12-14

Re: sonydbのビルド方法について

私はDebian (lenny) を使っていて、なおかつ、svnでチェックアウトという基本的なことを
せず、作者の方のホームページからのリンクのソースをひたすらテキスト形式で、面倒だなと
思いつつダウンロードしたアホなので役に立つか分かりませんが、私も昨日、このプログラムを
知ったばかりで、一発ではうまくいかなかったので、ご参考まで。

>sonydb.cpp:23: error: ‘strncasecmp’ was not declared in this scope

これに関しては、まさにstrncasecmpに関してググったら、string.hではなくstrings.h
というヘッダファイルが必要なようだったので、sonydb.hの<string>の前に(別にあとでも
OKだと思いますが)、<strings.h>を1行入れたら、とりあえずwarningだらけですが、
sonydbができました。
実は、まだwalkmanを買っていないのですが、Windowsは98止まりまでしかもっていないので、
sonydbがコンパイルできたら買おうかなと思っていたので、実際に動くかどうかは、
分かりません。
うまくできたら、報告よろしくです。

オフライン

 

#4 2008-12-15 20:07:28

rhino
新しいメンバ
登録日: 2008-12-13

Re: sonydbのビルド方法について

si さん、
already42!さん

 ご情報ありがとうございます。
 siさんが教えたくれたパッケージのインストールと、already42!さんの修正に習って以下のように修正したところ、makeが通った所です。
 まだ、動作確認していないので、確認後、再度ご報告します。

 取り急ぎ、お礼まで。

 ちなみに、自分はNW-A605という古いやつで試す予定なので、
 already42!さんのご参考になるかどうかは微妙かと(^^;

root@hoge-desktop:/home/hoge/workspace/sonydb# diff -u ../tmp/sonydb/sonydb.h ./sonydb.h
--- ../tmp/sonydb/sonydb.h    2008-12-15 19:57:17.000000000 +0900
+++ ./sonydb.h    2008-12-15 19:55:47.000000000 +0900
@@ -20,6 +20,7 @@
#endif
#endif
#include <stdio.h>
+#include <string.h>
#include <string>
#include <vector>
#include <sys/stat.h>
root@hoge-desktop:/home/hoge/workspace/sonydb#

オフライン

 

#5 2008-12-16 21:31:55

rhino
新しいメンバ
登録日: 2008-12-13

Re: sonydbのビルド方法について

 sonydb で、mp3ファイルをプレーヤーに登録して、問題なく再生出来きました。

 ただ、(自分の環境や使い方が悪いのかもしれませんが、、)曲名が"unknown"となってしまったり、
 sonydbのコマンド(songsadd)で登録したのに、登録した曲を、sonydbのコマンド(songs)で一覧がみれなかったりと、、、

 ちょっと使い方が限定されそうです。

 ただ単に、放り込んで、流しっぱなしで聞くだけなら全然問題ありません。

 以上、事後報告までに。

 ※重ね重ね、siさん、already42!さん、アドバイスありがとうございましたm(_ _)m

オフライン

 

#6 2008-12-17 22:09:45

already42!
新しいメンバ
登録日: 2008-12-14

Re: sonydbのビルド方法について

rhinoさんレポートありがとうございます。
うーん、微妙な感じですね。
年始の安売りまで考えることにしよう...(笑)

オフライン

 

Board footer

Powered by FluxBB