authority-destination tired
tired
tired
tired

投稿者 スレッド: UnixでAlephOneを起動してみるスレ  (参照数 3577 回)

0 メンバーさんと、1 ゲストさんが、このスレッドを見ています。

オフライン HogePiyo

  • モデレーター
  • 常連メンバー
  • ***
  • 投稿: 113
  • hogehoge
    • Durandal-Another
UnixでAlephOneを起動してみるスレ
« 投稿日:: 2005年07月13日 23時56分08秒 »
UNIX(FreeBSD,NetBSD,OpenBSD,Linux(Vine,Debian,Turbo))でAlephOneを動かしてみようのスレです。
動かない、makeできない、あるいはこうしたらmakeできる、などの情報を書き込んでください。

オフライン HogePiyo

  • モデレーター
  • 常連メンバー
  • ***
  • 投稿: 113
  • hogehoge
    • Durandal-Another
Re:UnixでAlephOneを起動してみるスレ
« Reply #1 投稿日:: 2005年07月14日 01時42分12秒 »
作業記録でも残してみます。

NetBSD使用。Linux系のRPMではインストールできず。
AlephOne-20050704.tar.gzをNightly Buildからダウンロード、boost,stlport最新版のインストールを確認して./configure->成功。

make時にSource_Files/CSeries/で

引用
In file included from c(;◔ิд◔ิ)rts_sdl.cpp:37:
/usr/pkg/include/boost/function/function_template.hpp:647: no type named `type' in `struct boost::enable_if_c<false,int>'
/usr/pkg/include/boost/function/function_template.hpp:647: no type named `type' in `struct boost::enable_if_c<false,int>'
/usr/pkg/include/boost/function/function_template.hpp:647: confused by earlier errors, bailing out
というエラー発生。


引用
boost-build-1.32.0 requires installed package gcc3-c++-3.3.5
boost-build-1.32.0 requires installed package gcc3-c-3.3.5
とある。
gcc,g++のバージョンは2.95.3nb6。gcc3.3.5以上が欲しいところ。/usr/pkgsrc/からすでにインストールしたつもりだったが、有効になっていない。置き換え方がよくわからない。

Source_Files/CSeries/Makefileの
CXX = g++

CXX = /usr/pkg/gcc3/bin/g++
にしたところ上記のエラーは回避された。やはりバージョンか。
  この後は問題なくコンパイル。STLPort及びBoostはCSeriesで関係しているようだ。

また止まった。
今度はSource_Files/Miscで、
引用
In file included from ../../Source_Files/Network/network_dialog_widgets_sdl.h:36,
                 from interface_sdl.cpp:61:
../../Source_Files/Network/network_dialogs.h:45: shared_widgets.h: No such file or directory
無いって言われてもなぁ

[usr]http://down.physik.uni-mainz.de/cgi-bin/viewcvs.cgi/aleph/?cvsroot=alephone[/usr]
CVSのHttpアクセス版を見て取得してみる。バージョン違うけど大丈夫かな。

Source_Files/Netrowk/Metaserver/Makefile
Source_Files/Misc/Makefile
でもboostのエラーが。これも同じような方法で解決。

Miscで
引用
preferences.cpp:193 から include されたファイル中:
preferences_sdl.h:126:2: #error get_name_from_system() not implemented for this platform
と言うエラーが。
unixをdefineしていないのが原因のようなので、Makefileで
DEFS=-DHAVE_CONFIG_H

DEFS=-DHAVE_CONFIG_H -Dunix
とした。

Miscで今度は
引用
thread_priority_sdl_posix.cpp: function 内の `bool
   BoostThreadPriority(SDL_Thread*)':
thread_priority_sdl_posix.cpp:25: error: aggregate `sched_param
   theSchedulingParameters' has incomplete type and cannot be defined
thread_priority_sdl_posix.cpp:31: error: `sched_get_priority_max' undeclared
   (first use this function)
thread_priority_sdl_posix.cpp:31: error: (Each undeclared identifier is
   reported only once for each function it appears in.)
というエラーが。もういや...。

/usr/include/sched.hにこれらが見付からないようなので、適当に探して来て
引用
struct sched_param {
  int sched_priority;
};
-Dunix
/*
 * These are permitted to fail and return ENOSYS if
 * _POSIX_PRIORITY_SCHEDULING is not defined.
 */
int sched_setparam(pid_t, const struct sched_param *);
int sched_getparam(pid_t, struct sched_param *);
int sched_setscheduler(pid_t, int, const struct sched_param *);
int sched_getscheduler(pid_t);
int sched_get_priority_max(int);
int sched_get_priority_min(int);
int sched_rr_get_interval(pid_t, struct timespec *);

のようにして追加。コンパイルは通ったがはたして大丈夫なのか?

引用
In file included from shell_sdl.h:114,
                 from shell.cpp:82:
/usr/pkg/include/SDL/SDL_syswm.h:56: X11/Xlib.h: No such file or directory
/usr/pkg/include/SDL/SDL_syswm.h:57: X11/Xatom.h: No such file or directory
In file included from shell.cpp:82:
shell_sdl.h:354: #error Data file paths must be set for this platform.

Source_Files/Makefileに
-I/usr/X11R6/include

-Dunix
を追加。gccを3に。

大量のリンクエラーが出たので今回は断念します。

やっぱり小手先でちょこちょこごまかしてもダメっぽいですね

オフライン Logue

  • 管理人
  • 古参メンバー
  • *****
  • 投稿: 595
  • 性別: 男性
    • Epilogue/LogueWiki
Re:UnixでAlephOneを起動してみるスレ
« Reply #2 投稿日:: 2005年07月14日 15時55分51秒 »
作業記録でも残してみます。

NetBSD使用。Linux系のRPMではインストールできず。
AlephOne-20050704.tar.gzをNightly Buildからダウンロード、boost,stlport最新版のインストールを確認して./configure->成功。

make時にSource_Files/CSeries/で
というエラー発生。

とある。
gcc,g++のバージョンは2.95.3nb6。gcc3.3.5以上が欲しいところ。/usr/pkgsrc/からすでにインストールしたつもりだったが、有効になっていない。置き換え方がよくわからない。

Source_Files/CSeries/Makefileの
CXX = g++

CXX = /usr/pkg/gcc3/bin/g++
にしたところ上記のエラーは回避された。やはりバージョンか。
  この後は問題なくコンパイル。STLPort及びBoostはCSeriesで関係しているようだ。

また止まった。
今度はSource_Files/Miscで、無いって言われてもなぁ

[usr]http://down.physik.uni-mainz.de/cgi-bin/viewcvs.cgi/aleph/?cvsroot=alephone[/usr]
CVSのHttpアクセス版を見て取得してみる。バージョン違うけど大丈夫かな。

Source_Files/Netrowk/Metaserver/Makefile
Source_Files/Misc/Makefile
でもboostのエラーが。これも同じような方法で解決。

Miscでと言うエラーが。
unixをdefineしていないのが原因のようなので、Makefileで
DEFS=-DHAVE_CONFIG_H

DEFS=-DHAVE_CONFIG_H -Dunix
とした。

Miscで今度はというエラーが。もういや...。

/usr/include/sched.hにこれらが見付からないようなので、適当に探して来て
のようにして追加。コンパイルは通ったがはたして大丈夫なのか?

Source_Files/Makefileに
-I/usr/X11R6/include

-Dunix
を追加。gccを3に。

大量のリンクエラーが出たので今回は断念します。

やっぱり小手先でちょこちょこごまかしてもダメっぽいですね

http://sourceforge.net/project/shownotes.php?group_id=1997&release_id=298560
にgcc3.2以上って書いてあるぞ。
Logue◆grDYeooZwg a.k.a. 高山 ローグ

オフライン HogePiyo

  • モデレーター
  • 常連メンバー
  • ***
  • 投稿: 113
  • hogehoge
    • Durandal-Another
Re:UnixでAlephOneを起動してみるスレ
« Reply #3 投稿日:: 2005年07月15日 13時27分44秒 »
アドバイスありがとうございます>Logueさん

configureでg++とあるのを/usr/pkg/gcc3/bin/g++としたところほとんどのコンパイルが成功しました。
ただし、いくつか問題点が発生したので適当にごまかしました
1:sched_get_priolity_max()が見付からない->コメントアウト
2:stlportのライブラリが見付からない->stlport_gccがあったのでそれをインポート

以上でメイクは通りましたが、起動してみると
引用
%alephone
...
Couldn't initialize SDL ()
しょぼん

SDL_Init()でなぜかエラーが。SDLのプログラムは動くし、通常はエラー情報が括弧内に出て来るのですが、意味が分かりません。