見守り電球またはGPS端末が特価中!

readlineをftp://ftp.gnu.org/gnu/readline/から落としてきて
ソースからビルドしました。

この場合、いわゆるreadline-devel のほうはインストールするひつようがないのでしょうか?

そもそも、openssl と openssl-develといった感じで各ライブラリにたいして -develと
いうふうに対応したライブラリがあるのはなぜですか?

これらはライブラリをソースからビルドした場合にはひつようないのですかね?
(※パッケージツールで個別にインストールした場合のみ?)
識者の方ご教授ください。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

No2です。



>PHPをビルドする際に、libreadlineが必要なのですが、その際にreadline.hというのが見つからないというエラーがコンソール上に表示されたので、質問したしだいです。

ということであれば、readline-develをインストールするのが正しいです。ビルドした後、PHPを実行するにはreadlineが必要なので、インストールされているかどうか調べてされていなければインストールします。
yumコマンドを使うということはRedHat系(CentOSとかFedoraとか)だと思いますが、ソースからreadlineをインストールする必要は無い。yum install readline 出来ませんでしたか?

>このreadlineそのものもソースコードは検索したらすぐ出てきたのですがreadline-develというもののソースコードを検索してもでてきませんでした。かわりに、readline-develのrpmは検索にひっかかりました。

readline-develというのはプログラムじゃ無くて、readlineを使うプログラムが参照するヘッダファイルです。readlineのソースの一部というか。
    • good
    • 0

xxxx-devel は、xxxxライブラリの機能をサブルーチンとして呼び出しているプログラムをコンパイルするときに必要です。

コンパイル時にのみ必要。

xxxx自体をコンパイルしたり、xxxxを使ったり、xxxxを呼び出しているプログラムを使っている限りに置いては関係ありません。

この回答への補足

1番さんに補足したように
PHPをビルドする際に、libreadlineが必要なのですが、
その際にreadline.hというのが見つからないというエラーが
コンソール上に表示されたので、質問したしだいです。
このreadlineそのものもソースコードは検索したらすぐ出てきたのですが
readline-develというもののソースコードを検索してもでてきませんでした
かわりに、readline-develのrpmは検索にひっかかりました。

補足日時:2012/06/06 09:35
    • good
    • 0

readline-devel とか openssl-devel とかは、どうなってるか知らないけど。

。。

デバッグコードは、ライブラリを自分のプログラムにリンクする開発者なら欲しいけど、
ライブラリをリンクしているプログラムのユーザにはいらないとおもうよ?

この回答への補足

ことばたらずでした、PHPをソースからビルドする際に--with-readlineオプションを付加して
ビルドした場合、readline.hがみつからないという旨がでてconfigureが通らなかったのでききました。
その場合はreadline-develをyumでインストールするとビルドできたものですから。

補足日時:2012/06/06 09:31
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q起動しているサービスを確認するコマンド

初歩的な質問で恐縮ですが、ご教示いただけますと幸いです。

起動しているサービスを確認するために以下の2つのコマンドを打ってみるのですが、結果(出て来るサービス名)が違います。
このコマンドの違いについてご教示いただけますでしょうか。

(1)service --status-all
(2)chkconfig --list

Aベストアンサー

(1)service --status-all

サービスの現在のステータスを調べるコマンド

(2)chkconfig --list

OSのブート時に自動起動するサービスを調べるコマンド

違いが出るのは、
・ブート後に手動あるいは他のコマンドから起動したサービス
・ブート後に手動あるいは他のコマンドから、あるいはエラーで停止したサービス
・ブート後に実行はされるがすぐに停止して常駐しないサービス (ntpdate とか)

あるいは、(1)ではサービス名が表示されない物もあるので、どのサービスがどんなステータス出力をするのか知っておく必要もありますね。(service network statusとか)

Qpingでポートの指定

pingでIPアドレスを指定して、通信できるかどうかというのは
よく使いますが、pingでポートを指定して応答するかどうかは調べられるのでしょうか?

よろしくお願いします

Aベストアンサー

pingを含むICMPというプロトコルは、OSIの7レイヤで言うところのL2(同一セグメント内通信)とL3(IPルーティングされた通信)の両方にまたがる、ちょっと珍しいプロトコルです。

IPアドレスは指定できますが、別サブネットに属するIPアドレスに到達できればL3通信、できなければゲートウェイと呼ばれる同一サブネットに属する中継装置からの回答を得るという点でL2(MAC通信ではなく、同一セグメント内通信という意味)通信です。

ポート番号はL4で使用されるアドレスですから、L4機能の疎通確認はping(を含むICMP)ではできません。

FTPの疎通確認であれば、クライアントからサーバに対するTCP/21通信(FTP-CMD)が可能であること(サーバからクライアントへのTCP/21からの応答を含む)+サーバからクライアントに対するTCP/20通信(FTP-DATA)が可能であること(クライアントからサーバへのTCP/21からの応答を含む)が必要でしょう。

監視ソフトによるものであれば、
・クライアントからサーバへのログイン(TCP/21)
・クライアントからサーバへのlsの結果(TCP/20)
で確認すればよいでしょう。

pingを含むICMPというプロトコルは、OSIの7レイヤで言うところのL2(同一セグメント内通信)とL3(IPルーティングされた通信)の両方にまたがる、ちょっと珍しいプロトコルです。

IPアドレスは指定できますが、別サブネットに属するIPアドレスに到達できればL3通信、できなければゲートウェイと呼ばれる同一サブネットに属する中継装置からの回答を得るという点でL2(MAC通信ではなく、同一セグメント内通信という意味)通信です。

ポート番号はL4で使用されるアドレスですから、L4機能の疎通確認はping(を含む...続きを読む

QPostgreSQLが起動しない・・・

はじめまして、tanu_2です。
玄箱HGをDebian化し、いろいろと遊んでいます。

PostgreSQLをapt-getでインストールし、Webアプリを動かしていたのですが、昨日より突然、PostgreSQLが動かなくなってしまいました。
原因が分からず、サーバを再起動し、
# /etc/init.d/postgresql start

$ pg_ctl start
などを試してみたのですが、動きません。
念のため、初期化(initdb)も試みたのですが、これも失敗してしまいます。
/var/log/postgresql/postgres/logを覗いてみると、

FATAL: could not write lock file "/var/lib/postgres/data/postmaster.pid": No space

となっており、上記ディレクトリにpostmaster.pid書き込みできないよ、と言われているっぽかったので、パーミッションを変更したりして
みましたが、postgresql startにしろ、pg_ctl startにしろ、それぞれのコマンドで起動すると、強制的にパーミッションが「700」に変更されてしまうようで、結果は同じでした。

どなたか、解決策をご教示願えませんでしょうか?

よろしくお願いします。m(_ _)m

はじめまして、tanu_2です。
玄箱HGをDebian化し、いろいろと遊んでいます。

PostgreSQLをapt-getでインストールし、Webアプリを動かしていたのですが、昨日より突然、PostgreSQLが動かなくなってしまいました。
原因が分からず、サーバを再起動し、
# /etc/init.d/postgresql start

$ pg_ctl start
などを試してみたのですが、動きません。
念のため、初期化(initdb)も試みたのですが、これも失敗してしまいます。
/var/log/postgresql/postgres/logを覗いてみると、

FATAL: could not wri...続きを読む

Aベストアンサー

それ以外にも、以下のようなコマンドを使ってデータベースサーバプログラムの起動が出来ますよね。

postmaster -D /usr/local/pgsql/data

ただ、以下のURLのドキュメント内には、次のような記述があります。

「何を実行するにしても、サーバはPostgreSQLユーザアカウントで起動させなければなりません。 rootであってはいけませんし、他のユーザでもいけません。」

パッケージによるインストールであれば、自動でpostgresユーザが作られているはずだと思うけど。(Debianは使ったことないので、確証はなし。)

su - postgres

上記のコマンドでログインするなり、パスワードを忘れたのならroot権限にてpasswdコマンドから変更するなりした後、もう一度postmasterを起動してみよう!

ちなみに、パーミッション関係のエラーは、「Permission denied」ですよね。

参考URL:http://www.postgresql.jp/document/pg803doc/html/postmaster-start.html

それ以外にも、以下のようなコマンドを使ってデータベースサーバプログラムの起動が出来ますよね。

postmaster -D /usr/local/pgsql/data

ただ、以下のURLのドキュメント内には、次のような記述があります。

「何を実行するにしても、サーバはPostgreSQLユーザアカウントで起動させなければなりません。 rootであってはいけませんし、他のユーザでもいけません。」

パッケージによるインストールであれば、自動でpostgresユーザが作られているはずだと思うけど。(Debianは使ったことないので、確証は...続きを読む

Qreadline インストールについて

ある作業をするためにReadlineというライブラリが必要となりインストールを行いたいのですが、現在、標準でインストールされているもののバージョンが低いので、tarボールをDLしてインストール行いたいと思っています。
そのため、まず今入っているreadlineを
yum -y remove readline
という具合に削除したらコマンドがきかなくなってしまい、rootでログインもできなくなってしまいました…
どおしたらいいのでしょうか?

Aベストアンサー

まずは、OSを入れ直すなどして元々入っていたバージョンのreadlineを戻さないと作業できないと思います。

新バージョンのreadlineですが、以前のものと入れ替えるのではなく、tarボールで拾ってきた物を./configure; make; make install でインストールすると /usr/loca/lib等に入るはずですので既存のライブラリと共存できると思います。(ディストリビューション等を書かれていないので、確定的に言えませんが・・・)。
新しいバージョンのreadlineが必要なときには
export LD_LIBRARY_PATH=/usr/local/lib
等として、新しくインストールした物を見つけられるようにすると良いのではないかと思います。これも作業内容が解らないので、確定的な答えではないですが。

Qmake でエラー

勉強中の身です。
環境 fedora 2
postgresqlをインストールして
(postgresql-8.2.1)


make コンパイルがうまくいきません
[postgres@localhost postgresql-8.2.1]$ ./configure
checking build system type... i686-pc-linux-gnuoldld
checking host system type... i686-pc-linux-gnuoldld
checking which template to use... linux
checking whether to build with 64-bit integer date/time support... no
checking whether NLS is wanted... no
checking for default port number... 5432
checking for gcc... no
checking for cc... no
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details.

[postgres@localhost postgresql-8.2.1]$ make
You need to run the 'configure' program first. See the file
'INSTALL' for installation instructions.
make: *** [all] エラー 1

$ make とすると上記のようにエラーがでます。

./configure -オプション
が必要なのでしょうか?

よろしくおねがいします。

勉強中の身です。
環境 fedora 2
postgresqlをインストールして
(postgresql-8.2.1)


make コンパイルがうまくいきません
[postgres@localhost postgresql-8.2.1]$ ./configure
checking build system type... i686-pc-linux-gnuoldld
checking host system type... i686-pc-linux-gnuoldld
checking which template to use... linux
checking whether to build with 64-bit integer date/time support... no
checking whether NLS is wanted... no
checking for default port number... 5432
chec...続きを読む

Aベストアンサー

> failure. It is possible the compiler isn't looking in the
> proper directory.
> Use --without-readline to disable readline support.

configue で failure が出ているのに make をしても意味がありません。
すけさん、かくさんのまねをして「この failure が目に入らぬか!」といいたくなります。

次は readline を入れましょう。

yum が使えるのなら、
yum install readline-devel.i386
でいいはずです。

QPOSTGRESのデータの格納場所はどこでしょうか?

RedHat7.2/PostgreSQL7.2/という環境で、サーバーがクラッシュしてしまい、データを他のサーバに移し変えないといけなくなりました。そこで、PostgreSQLを再インストールしないとデータベースが使えない状況となりました。

データベースを再インストールするのは良いとして、どこかに格納されているはずのデータベースの内容を取り出し、復帰させたいのですが、方法はありますか?大変困っております。よろしくお願いします。

Aベストアンサー

No.1の追加です。
データの移設でよかったと思います。
または、データを読み込むときに、「iオプション」でディレクトリを指定して、元のファイルを読み込んでもよかったと思います。

Qレッドハットのバージョン確認方法

自分のサーバで使用しているREDHATのバージョン確認はどうすればいいのでしょうか?

more /etc/issue
とやっても英文しか出てきませんでした。

uname -all
でもカーネルのバージョンは出るのですが、REDHATのバージョンは出ませんでした。

Aベストアンサー

> more /etc/issue
> とやっても英文しか出てきませんでした。

その英文にはRedHatのバージョンは書いてなかったのですか?
書いていなかったとしたら、管理者により編集されている可能性
がありますね。

cat /etc/redhat-release

ではいかがでしょう?
やっぱり英文ですけど。

rpm -q redhat-release

でもいいかも

Qポートの80と443

こちらのサービス(https://secure.logmein.com/)を利用すると、インターネットを見られるサーバーのポートの80と443が空いていればルータやファイアウォールに特段の設定なく外部からサーバーを操作できるそうですが、逆にサーバーのポートの80や443を空けることには何か危険性があるのでしょうか。

Aベストアンサー

ポート80は一般的なHTTP、ポート443はHTTPSです。
この2つのポートがあいていなければインターネット接続(WEBブラウジング)は出来ません。
ですから、ほとんどのファイアウォールでこのポートは開いています。(インターネット接続を制限している社内LANでは当然閉じていますが)

ちなみに、よく使うポートとしてはFTPで20、21、SMTP(送信メール)で25、受信メールPOP3で110あたりです。セキュリティポリシー上、この辺は制限される事も多いですが、HTTP 80、HTTPS(暗号化用)443は通常閉じません。


危険性?
WEBプロトコルを使ってFTP的なファイル転送(WebDAV)やVPN等も出来るようになっています。当然そこにはある種の危険はつきものですが、WEBブラウジングに伴う危険と大きく変わりません。ウィルス等に感染していればこの2つのポートだけでも相当危険でしょうね。

参考まで。

Qdevelファイルとは

現在サーバの初期設定をしているのですが、
よくinstall時に『devel』という単語が末尾についたファイルを目にします。

例えば、『mysql-devel』や『libjpeg-devel』などなど。。。

で、この『devel』ファイルの意味を調べてみたのですが、
Linux関係のサイトでは得てしてその辺りの細かい話は省かれている事が多く、
いまだに意味が掴めておりません。。。

ごく簡単にで結構ですので、どなたかお教え下さい!

また、その他にも『init.d』や『rc.d』の『.d』の意味なんかも分かったら
教えていただきたいです。

宜しくお願いいたします。

Aベストアンサー

>この『devel』ファイルの意味

developmentの略
主に開発に関連したものが入っているパッケージ
開発用のツールだったり、コンポーネントだったり。
動的な仕組み(機能がモジュール化されているもの)を使うソフトウェアの場合は、通常の使用でも必要になることもある


>.dの意味

単にディレクトリの略かと。

Q./configureがうまくできない

昨日、Fedora Core 1をワークステーションタイプでインストールしました。

そのPCにシーラカンス本を見ながらPstgresql7.1.1をインストールしようとし、

./configure --enable-multibyte=EUC_JP --enable-syslog
をしたところ。やたら...noという表示が流れ最後に
checking types of arguments for accept()... configure: error: could not determine argument types
と出てきました。

makeをしてみると、
You need to run the 'configure' program first. See the file
と表示されます。

どうすればこの状況を回避できるのでしょうか?
よろしくおねがします。

Aベストアンサー

だいぶお悩みのようですね!
初志貫徹で行きましょう。configure→make→make insall

最新のPostgreSQLは、7.4.2
ftp://ftp.sra.co.jp/pub/cmd/postgres/7.4.2

前準備
# adduser postgres ←postgresユーザを作成
# mkdir /usr/local/pgsql ←PostgreSQLの導入先
# chown postgres:postgres /usr/local/pgsql
# mkdir /usr/local/src/postgresql-7.4.2
# chown postgres:postgres /usr/local/src/postgresql-7.4.2

postgresql-7.4.2.tar.gzを、/usr/local/src (慣習的にこのようなディレクトリィにおきます。)

PostgreSQLの導入
"root"ユーザでも、"postgres"ユーザのどちらでも可です。

#($) cd /usr/local/src
#($) tar xvf postgresql-7.4.2.tar.gz
#($) cd postgresql-7.4.1
#($) ./configure --enable-multibyte=EUC_JP --enable-syslog

"./"の意味は、このディレクトリィにパスがとおっていないので、このように、パスを指定します。"no"がたくさんでますが、多くは、システムの環境との関連がないためです。

configureのあるディレクトリィに、Makefileが作成されます。いよいよ、makeです。gccを用いて、コンパイルが始まります。CPUや、HDDの性能で終了まで、5乃至10分程度必要です。

All of PostgreSQL successfully made. Ready to install.

とでれば、完了です。ここまでは、何度でもできます。
#($) ./configure ...... > postgrest.txt、make > postgres1.txtなどの様にリダイレクトして、途中経過をあとで、"more"などを使用して確認ができます。

#($) make install

PostgreSQL installation complete.
とでれば、完了です。30秒程度です。

"root"ユーザであれば、
# su - postgres
$ ls -la (postgresユーザホーム /home/postgresです)
.bash_profileと、.bashrc

.bash_profileに、viなどのエディターで、以下を最後に追記します。

POSTGRES_HOME=/usr/local/pgsql
export PATH="$PATH":/usr/local/pgsql/bin
export PGLIB=$POSTGRES_HOME/lib
export PGDATA=$POSTGRES_HOME/data
export MANPATH="$MANPATH":$POSTGRES_HOME/man

終了したら、
$ source .bash_profile
で、postgresユーザ環境に反映させます。もうこれで、postgresの世界です。

$ initdb
$ postmaster -S
$ psql -l
Name | Owner | Encoding
-----------+----------+-----------
template0 | postgres | SQL_ASCII
template1 | postgres | SQL_ASCII
$ createdb test
$ dropdb test
など、など、いろいろ試してください。

これでも、うまく行かない時は、Fedora Coreが不完全ではないでしょうか。

だいぶお悩みのようですね!
初志貫徹で行きましょう。configure→make→make insall

最新のPostgreSQLは、7.4.2
ftp://ftp.sra.co.jp/pub/cmd/postgres/7.4.2

前準備
# adduser postgres ←postgresユーザを作成
# mkdir /usr/local/pgsql ←PostgreSQLの導入先
# chown postgres:postgres /usr/local/pgsql
# mkdir /usr/local/src/postgresql-7.4.2
# chown postgres:postgres /usr/local/src/postgresql-7.4.2

postgresql-7.4.2.tar.gzを、/usr/local/src (慣習的にこのようなディレクトリィにお...続きを読む


人気Q&Aランキング