お答えありがとうございました。 かなり役に立ってます。すごいです。 また、質問何ですが、UNIXで壁紙を自分のもっている画像にしたいので すが、xvコマンド以外で何か良い方法ありませんか? |
はじめまして。 このページではいつも色々と勉強させて貰っています。 さて、質問なのですが、今現在CVSにてあるプロジェクトを管理しており、 そのリポジトリをcvswebにて閲覧出来るようにしようとしているのですが、 ある特定のファイル達の中身を表示しようとしたときに、 cvs checkout: cannot exec co: No such file or directory cvs checkout: could not check out xxx/yyy/Zzz.java という様なメッセージが出てしまいます。 CVSも使い始めたばかりのため、何が原因なのかが分かりません。 もし良かったら何かヒントや、cvswebに関しての解説があるような ページがありましたら教えていただけると嬉しいです。 よろしくお願いします。 |
>>2330 しんベエ > 正しくは「if ( $pid = fork() ){」ですよね? ご指摘ありがとうございます。その通りですね。修正しておきます。 >>2331 なっち > お答えありがとうございました。 > かなり役に立ってます。すごいです。 じゃなくて、回答した結果、解決したかどうかをちゃんと書いて ください。とりあえず http://x68000.startshop.co.jp/~68user/cgi-bin/wwwboard.cgi?howtouse を読んでください。 > UNIXで壁紙を自分のもっている画像にしたいのですが、 > xvコマンド以外で何か良い方法ありませんか? ImageMagick が入っているなら % display -window root 画像ファイル でできるかも。 >>2332 わたなべ あなたも http://x68000.startshop.co.jp/~68user/cgi-bin/wwwboard.cgi?howtouse を読んでください。少なくともこの掲示板ではマルチポストは ダメですし、2ch でも歓迎はされないでしょう。 あと、OS は何ですか? cvs のバージョンは? RCS のバージョンは? cvsweb には zeller 版と knu 版がありますが、どっちを使って いますか? また、そのバージョンは? 内容を表示って、x-cvsweb-markup のことですか? それとも text/plain ですか? 仮にうちと同じ knu 版 cvsweb-1.105.1.65 だとすると、その エラーが出そうなところは exec($CMD{cvs}, @cvs_options, '-d', $cvsroot, 'co', '-p', $revopt, $where); しかなさそうなので、オプションなどの値を表示させてみて、 同じことをコマンドラインからやってみてはどうですか。 # http://x68000.startshop.co.jp/~68user/cgi-bin/cvsweb.cgi/public_html/cgi-bin/cvsweb.cgi?rev=1.9&content-type=text/x-cvsweb-markup |
渡辺です。 >>2322 pon は非常に浅はかな行動だったと認識しました。 申し訳ありませんでした。 今後気を付けます。 質問の続きをさせて頂いてもよろしいでしょうか…? 使っている各ソフトウェアのバージョンですが、 OS : Solaris SunOS 5.8 CVS : 1.9 RCS : 5.7 cvswebは、68userさんが使われているのを、http://x68000.startshop.co.jp/~68user/cgi-bin/cvsweb.cgiのリポジトリから拝借しました。(ひょっとして、これもまずい行動でしたか。) そして、内容の表示というのは、x-cvsweb-markupも、text/plainもです。 表示出来るファイルに関しては、双方とも表示出来るのですが、エラーが起きるファイルに関しては、両方ともに起きます。 また、68userさんがおっしゃってる通り、 exec($CMD{cvs}, @cvs_options, '-d', $cvsroot, 'co', '-p', $revopt, $where); でエラーが起きているであろうと考え、それをコマンドラインで実行してみたのですが、コマンドラインからは実行できました。 (実行できました。といいますか、あるファイルをチェックアウトでき、標準出力に出力されるという結果を得ました。) オプションの値を変更して…という事ですが、CVSに明るくないため、何をどうかえたら良いのかがわかりませんでした。 これで足りますでしょうか? もし、>>2332での事をお許し頂けるなら、何がアドバイス等を頂けたら嬉しいです。 結果報告もきちんとしますので、よろしくおねがいします。 |
>>2334 わたなべ での書き込みにある、>>2322は>>2332の間違いです。 重ねてお詫びします。申し訳ありません。 |
>>2334 わたなべ > ひょっとして、これもまずい行動でしたか。 問題ありません。書いてある通り、covered by the BSD-Licence です。 checkout できるファイルとできないファイルがあるということですから、 まずはリポジトリのパーミッションはどうなっているか確認して下さい。 同じディレクトリでも co できるファイルと co できないファイルがあれば、 ファイルのパーミッションが怪しいですし、あるディレクトリの下のファイルが 全て co できないならディレクトリのパーミッションがおかしいでしょうし。 うちの Solaris2.6 では % chown -R cvs /cvsroot (グループは cvs グループで統一) % chmod -R g+w /cvsroot (cvs グループに書き込み権限を与える) % find /cvsroot -type d | xargs chmod g+s (BSD タイプのパーミッションに) とかしてます。でも、cvsweb.cgi は nobody で動かしているから これは関係ないかな…。 また、CGI の実行権限は何ですか? 例えば nobody なら su nobody して から checkout してみて下さい。 実際にどういうコマンドが実行されているかは、 if (! open($fh, "-|")) { # child open(STDERR, ">&STDOUT"); # Redirect stderr to stdout exec($CMD{cvs}, @cvs_options, '-d', $cvsroot, 'co', '-p', $revopt, $where); } の前に print "Content-type: text/plain\n\n"; print qq(exec($CMD{cvs}, @cvs_options, '-d', $cvsroot, 'co', '-p', $revopt, $where);); exit; などと書けばわかるでしょう。 それでもダメなら exec($CMD{cvs}, @cvs_options, '-d', $cvsroot, 'co', '-p', $revopt, $where); を exec("/bin/truss", $CMD{cvs}, @cvs_options, '-d', $cvsroot, 'co', '-p', $revopt, $where); として、どのファイルをオープンしようとしてエラーになっているかを 調べて下さい。ちなみに、こちらでやってみると open("/MASTER/cvs/CVSROOT/config", O_RDONLY) = 4 open("/MASTER/cvs/CVSROOT/cvsignore", O_RDONLY) Err#2 ENOENT open("//.cvsignore", O_RDONLY) Err#2 ENOENT open("/MASTER/cvs/CVSROOT/cvswrappers", O_RDONLY) = 4 open("/MASTER/cvs/CVSROOT/modules", O_RDONLY) = 4 .. open("/MASTER/cvs/admin/public_html/cvsweb.cgi,v", O_RDONLY) = 5 となります。 |
特定の一般ユーザをroot権限と同様な権限を与えたいのですが、 設定方法を教えてもらえないでしょうか。 /etc/groupのファイルのrootグループに追加するだけで はいけないのでしょうか。 |
度々すいません。 >>2336 68user >同じディレクトリでも co できるファイルと co できないファイルがあれば、 >ファイルのパーミッションが怪しいですし、あるディレクトリの下のファイルが >全て co できないならディレクトリのパーミッションがおかしいでしょうし。 リポジトリのパーミションを確認しました。 $CVSROOTディレクトリは 755 その中のプロジェクト毎のディレクトリは 775 でした。 各プロジェクト毎のディレクトリ内にある、サブディレクトリは 775 そして、ファイルは全て 444 でした。 チェックアウト出来るファイル/出来ないファイル、全て同一のパーミションで、同一のディレクトリ内にあるファイルでもチェックアウト出来るものと出来ないものがありました。 >また、CGI の実行権限は何ですか? >例えば nobody なら su nobody してから checkout してみて下さい。CGI は nobody で動いています。 su nobody をやってみたのですが、パスワードを求められました。 僕はこのサーバの管理者ではないので nobody にはなれない様な気がしているのですが、可能なのでしょうか? >実際にどういうコマンドが実行されているかは、 これは最初に書き込みをした時点でやってみました。 CGI からではなく、ターミナル上のコマンドからならチェックアウト出来ることも確認しております。 >exec("/bin/truss", $CMD{cvs}, @cvs_options, '-d', $cvsroot, 'co', '-p', $revopt, $where); やってみたところ、以下の様な出力を得ました = From ======================================== cvs checkout: cannot exec co: No such file or directory cvs checkout: could not check out xxx/yyy/Zzz.java waitid(P_PID, 17464, 0xFFBEF1C0, WEXITED|WTRAPPED|WNOWAIT) = 0 ioctl(0, TIOCGPGRP, 0xFFBEF17C) Err#22 EINVAL getpgid(17464) = 350 ioctl(0, TIOCGPGRP, 0xFFBEF17C) Err#22 EINVAL waitid(P_PID, 17464, 0xFFBEF1C0, WEXITED|WTRAPPED) = 0 waitid(P_ALL, 0, 0xFFBEF160, WEXITED|WTRAPPED|WNOHANG) = 0 fork() = 17467 waitid(P_PID, 17467, 0xFFBEF270, WEXITED|WTRAPPED|WNOWAIT) = 0 ioctl(0, TIOCGPGRP, 0xFFBEF22C) Err#22 EINVAL getpgid(17467) = 350 ioctl(0, TIOCGPGRP, 0xFFBEF22C) Err#22 EINVAL waitid(P_PID, 17467, 0xFFBEF270, WEXITED|WTRAPPED) = 0 waitid(P_ALL, 0, 0xFFBEF210, WEXITED|WTRAPPED|WNOHANG) = 0 llseek(0, 0, SEEK_CUR) Err#29 ESPIPE _exit(0) = End ========================================= 上のメッセージの3行目以降は、チェックアウト出来たファイル/出来なかったファイル共に出力されていました。 現状報告だけで申し訳ありません。 このページで学んだ通り、ユーザ権限で CGI を動かすようにもしてみたのですが、それでも何も状況は変わりませんでした。 |
>>2338 わたなべ の >例えば nobody なら su nobody してから checkout してみて下さい。CGI は nobody で動いています。 は >例えば nobody なら su nobody してから checkout してみて下さい。 CGI は nobody で動いています。 と訂正させてください。 毎度毎度申し訳ありません。 |
>>2332 わたなべ > cvs checkout: cannot exec co: No such file or directory ん〜、これってもしかして、単に co(1) が見付からないって 言ってるのかな? co(1) にパスは通ってます? # って、どういうときに co(1) が使われるのかいまいちわかってませんが。 ## これが原因なら、かなり的外れなことを言ってたことになるなぁ。 |
>>2340 68user >ん〜、これってもしかして、単に co(1) が見付からないって >言ってるのかな? co(1) にパスは通ってます? co(1) という書き方が何を指すのか、わからないのですが、 which co で得られるパスを、 cvsweb.conf の $command_path にコロンでつなげて 記述すればいいんですよね? 一応それはやってあります。 CVS も RCS も、root が入れたものではなく、ユーザ権限でインストール したもので、それらをユーザの ~foo/cgi-bin/cvsweb/ で使おうと しているのですが、その辺りに問題があったりしますか? |
>>2338 わたなべ > which co で得られるパスを、 cvsweb.conf の $command_path にコロンで > つなげて記述すればいいんですよね? はい、そうです。 > リポジトリのパーミションを確認しました。 ではリポジトリのパーミッションは問題ないでしょう。 > 僕はこのサーバの管理者ではないので nobody にはなれない様な気が > しているのですが、可能なのでしょうか? 一度 root にならないと nobody にはなれません。 truss の結果 (システムコールでこけているわけではないらしい) と、 > cvs checkout: cannot exec co: No such file or directory > cvs checkout: could not check out xxx/yyy/Zzz.java のメッセージから、単に PATH を検索して、co が見付からないので co -r1.1 /cvsroot/xxx/yyy/Zzz.java,v がこけているのかと思ったのですが、違うのかなぁ。成功するファイルと 失敗するファイルがあるというのが謎ですが…。 でも、最近の cvs (少なくとも cvs-1.11) では rcs (co も含む) は 使っていないはずなので違うかなぁ (cvs は rcs を使わないけど、 cvsweb は rcs を使う)。 …と書いたところで今気づきましたけど、 > CVS : 1.9 古いです。最新版は cvs-1.11.1-p1 のようですが、最低でも cvs-1.11 にして下さい。ここが一番怪しいかな。 ちなみに、最新版の cvsweb はこちらです。 http://www.idaemons.org/cgi-bin/cvsweb.cgi/cvsweb/ |
>>2342 68user >…と書いたところで今気づきましたけど、 >> CVS : 1.9 >古いです。最新版は cvs-1.11.1-p1 のようですが、最低でも cvs-1.11 >にして下さい。ここが一番怪しいかな。 cvs-1.11をインストールしてみましたところ、無事にcvswebも問題なく 動き出す様になりました。 最初に無礼を働いてしまったにも関わらず、解決まで長々と 付き合って頂き、本当にありがとうございました。 これからもちょくちょく来て、勉強させて頂きます。 ありがとうございました。 あと、ちょっとメインの話とはずれるのですが、 >>2340 68user にあった >co(1) というのはどのような時に書く方法なのでしょうか? |
>>2343 わたなべ > 無事にcvswebも問題なく動き出す様になりました。 それはよかったです。バージョンは? と聞いておきながら 古いのを見落としていたのは失敗でした。 >> co(1) > というのはどのような時に書く方法なのでしょうか? セクション番号を表します。セクション 1 はコマンドなので、 「co(1)」は「コマンド co」という意味です。 # http://X68000.startshop.co.jp/~68user/unix/pickup?man |
ありがとうございます。 >>2344 68user >セクション番号を表します。 あ、すでに書かれているところがありましたか…。ちゃんと見てから 質問しないとダメですね…。本当にすいません。 今回色々勉強させて頂きました。 本当に感謝感謝です。 なんだか、頼りっぱなしだったのでちょっと一人で勉強してきます。 また何かあったら質問しにくるかもしれませんが、その時はよろしく おねがいします。 |
はじめまして。ゆきと申します。当方の環境はSUN Sparc Solaris2.51 です。 会社でC++の環境が必要になり、UnixもC、C++もさほど詳しくない私が、 インターネットを頼りにgcc2.95.3のインストールをしました。 それで、渡されたC++のソースをコンパイルしたのですが、以下のような エラーが出ます。渡した本人は、エラーが出るのはおかしいと言って います。 % gcc -lstdc++ -o hello hellocpp.cpp hellocpp.cpp:1: iostream: No such file or directory hellocpp.cpp:2: string: No such file or directory これは要するにインクルードファイルを見に行けない状態なんだと 思いますが、gccのインストールが上手くいっていないのでしょうか? ちなみにC++のソースは以下です。 --------------------------------------------------------- #include <iostream> #include <string> using namespace std; class CHello { private: string m_strOut; public: CHello(){ m_strOut = "Hello World!"; }; virtual ~CHello(){}; void print(void); }; void CHello::print(void) { cout << m_strOut << endl; } int main() { CHello chHello; chHello.print(); } --------------------------------------------------------- 何でも良いので、何かお気付きのことがありましたら、教えて下さい。 よろしくお願い致します。 |
>2346 ゆきさんはじめまして iostream じゃなくて iostream.h、 string じゃなくて string.h だと思います。 h は Header に通常つく拡張子です。 |
とかいって、<iostream> だけの書き方もあるんですね。 手元の cpp ソースは、<iostream.h> でコンパイルできていたのを <iostream> だけにしたら同様のエラーが出たので、 「.h を付けてみる」をトライする価値はあると思いますが。 |
>2348 ふくしさんへ お返事ありがとうございます。土曜は会社に行っていないため、教えて 頂いたことはまだ試していないのですが、日曜に休日出勤(サービス) でもして試してみようかと思います。ところで、申し訳ありませんが、 もしご存知であれば、もう少し教えて頂けないでしょうか。 今回、私にソースを渡した人は、Linux環境で試したらしいのですが、 コンパイル時は gcc -lstdc++ -o hello hellocpp.cpp というふうにしろと言っています。調べてみるとオプション-lは、 ライブラリファイルへのリンクだと知りました。こちらのマシーンを 覗いてみますと、-lstdc++は、どうやら/usr/local/bin/libstdc++を 見に行くように指定しているようなのですが、これがファイルではなく、フォルダなのです。そういうことで、よろしいんでしょうか? しかし、仮にlibstdc++フォルダを見に行くとしても、libstdc++直下 には、iostream(.h)もstring(.h)もありません。これらは、 usr/local/bin/libioというフォルダの中にありました。 ふくしさんは、iostream.hとすると上手くいったということですが、 libstdc++フォルダの中に、iostream.hもstring.hもあったと認識して よろしいのでしょうか?もしそうなら、それらが入っていない私の 環境は、やはりインストール時の失敗ということでしょうか・・・ もしよろしければ、お教え頂けませんか?よろしくお願い致します。 |
>>2348 ふくし > とかいって、<iostream> だけの書き方もあるんですね。 C++ はよく知りませんが、namespace 対応の C++ コンパイラならば .h を省略できるはずです。 gcc は長らく namespace への対応がダメダメでしたが、少なくとも gcc-2.95.3 では OK です。 で、iostream はヘッダファイルです。libstdc++ はライブラリです。 ヘッダファイルがないと言われているのにライブラリのことを気に するのは間違っています。 >>2349 ゆき > これらは、usr/local/bin/libioというフォルダの中にありました。 それはライブラリのソースでしょう。それが /usr/local/bin/ に あるのはおかしいです。 > コンパイル時は gcc -lstdc++ -o hello hellocpp.cpp というふうに > しろと言っています -lstdc++ は不要です。C で -lc が不要なのと同じで、わざわざ指定 しなくても勝手に libstdc++ はリンクされます (指定してもいいですが)。 > -lstdc++は、どうやら/usr/local/bin/libstdc++を見に行くように > 指定しているようなのですが どうしてそのように判断しましたか? 普通 -lhoge とすると /usr/lib/libhoge* というファイルがリンクされます。 手もとの環境を見てみると、ヘッダファイルとライブラリは以下の 場所に置いてありますので、参考にしてみて下さい。 Solaris8 + gcc-2.95.2 /opt/sfw/include/g++-3/iostream /opt/sfw/include/g++-3/iostream.h /opt/sfw/lib/libstdc++.a.2.10.0 /opt/sfw/lib/libstdc++.so.2.10.0 FreeBSD + gcc-2.95.2 /usr/include/g++/iostream /usr/include/g++/iostream.h /usr/lib/libstdc++.a /usr/lib/libstdc++.so Linux + gcc-2.95.2 /usr/include/g++-3/iostream /usr/include/g++-3/iostream.h /usr/lib/libstdc++-libc6.1-2.a.3 /usr/lib/libstdc++-libc6.1-2.so.3 結局のところ、うまくインストールできていないのではないかと思います。 |
はじめまして。yamaと申します。 Perlで困っています。 STDOUTの初期化の方法がわかりません。 print文にてhtmlを出力していますが、途中でエラーが発生 した場合、出力済みの情報を初期化し、エラーメセージを出力したい と考えています。 *STDOUT=""; としましたが、エラー表示以前の分も出力されます。 このようなことは不可能なのでしょうか。 プロバイダ環境はUNIXでApacheのサーバです。 なお、UNIX、Apache、Perlのバージョン 等詳しくは聞いていません。 |
>>2351 yama > このようなことは不可能なのでしょうか。 不可能です。stdout に出力したものは既に出力済かもしれませんし、 まだバッファに溜っているかもしれませんが、それをクリアする 方法はありません。出力済かどうかを判断する方法もありません。 # Java Servlet だとできるんですけどね。 というわけで、自前でバッファリングしましょう。 |
>>2352 68userさんへ お返事ありがとうございます。 「不可能」ですか。 ロジックを変更し、必要なチェックを先にするようにします。 今後ともよろしくご指導ください。 |
いつも、お世話になっています。ダウンロードについてなんですが、 .lzhのファイルをコンパイルすることは、UNIXではできるのでしょうか。 もしできるようであれば、ダウンロードの仕方を教えてください。 ちなみに、僕は「Solaris2.6」を使っています。お返事お願いします。 |
>2354 ゆうすけさん、はじめまして。 「lzh のファイルを UNIX でコンパイルする」 と言われると複数に解釈できて、 1)UNIX 上にある複数のファイルを固めて lzh の圧縮書庫を作る 2)どっかから持ってきた lzh の圧縮書庫を展開して、 その中の C とかのソースツリーをコンパイルする のどっちでしょう。 で、どっちもできます。ただし条件があって、お使いの Solaris に lha というプログラムがあるかどうかです。 コマンドラインで「lha」と打ち込んでみてください。 ある場合は使い方が表示され、ない場合は「ない」と起こられます。 で、ある場合はそれを使い、ない場合はインストールします。 で、使い方/インストールの仕方ですが、 とりあえず「lha」というコマンドの名前までわかったので、 あとは検索するなりしてがんばってみて、 どうしてもダメだったらまた聞いてください。 そのとき上の1)なのか2)なのかそれ以外なのかも教えてください。 >2350 68userさん、フォローありがとうございます。 ていうかいつもご苦労様です。 ちょっとでも負担を軽減しようとがんばってみたんですが 役に立たず、申し訳ありません ;;; |
>>2350 68userさんへ お返事ありがとうございました。下記2349の中で、私は勘違いな発言を していたようです。 >-lstdc++は、どうやら/usr/local/bin/libstdc++を見に行くように >指定しているようなのですが とありますが、違いますよね。libstdc++の中の、libstdc++.aという ライブラリファイルを見に行ってるということですね。ということは、 ---------------------------------------------------- hellocpp.cpp:1: iostream: No such file or directory hellocpp.cpp:2: string: No such file or directory ---------------------------------------------------- と言うエラーで見に行っているインクルードファイルは、自動的にリンク されなければならないということでしょうか。私の行ったインストールは どうもおかしいような気がしてきました。 ちなみに、こちらの環境は以下のようになっていました。 /usr/local/bin/libstdc++/iostream /usr/local/bin/libio/iostream.h /usr/local/bin/libstdc++/libstdc++.a libstdc++.so*は検索しても無いような状況でした。やはり再インストール をしてみようと思いますが、上記フォルダ階層はそもそも間違いで、 正しいインストール先というのは、インストール時に指定できるように なっているものなのでしょうか?何度も申し訳ありませんが、よければ その辺りのことを詳しくお教え願えませんでしょうか? よろしくお願い致します。 |
>>2356 ゆき > libstdc++の中の、libstdc++.aというライブラリファイルを見に行ってる > ということですね。 インクルードとリンクは全く別物です。インクルードファイルと ライブラリには何の関係もありません。 > 自動的にリンクされなければならないということでしょうか。 インクルードファイルはリンクするものではなく、インクルードする ものです。 -v を付けてコンパイルすると以下のようになります。 % g++ -v a.cpp Using builtin specs. gcc version 2.95.2 19991024 (release) /usr/libexec/cpp -lang-c++ -v -D__GNUC__=2 -D__GNUG__=2 -D__GNUC_MINOR__=95 -D__cplusplus -Di386 -Dunix -D__FreeBSD__=4 -D__FreeBSD_cc_version=420000 -D__i386__ -D__unix__ -D__FreeBSD__=4 -D__FreeBSD_cc_version=420000 -D__i386 -D__unix -Acpu(i386) -Amachine(i386) -Asystem(unix) -Asystem(FreeBSD) -D__EXCEPTIONS -Acpu(i386) -Amachine(i386) -Di386 -D__i386 -D__i386__ -D__ELF__ a.cpp /tmp/ccFhD943.ii GNU CPP version 2.95.2 19991024 (release) (i386 FreeBSD/ELF) #include "..." search starts here: #include <...> search starts here: ← ここ★ /usr/include/g++ ← ここ★ /usr/include ← ここ★ /usr/include ← ここ★ End of search list. The following default directories have been omitted from the search path: End of omitted list. /usr/libexec/cc1plus /tmp/ccFhD943.ii -quiet -dumpbase a.cc -version -o /tmp/cctFu943.s GNU C++ version 2.95.2 19991024 (release) (i386-unknown-freebsd) compiled by GNU C version 2.95.2 19991024 (release). /usr/libexec/elf/as -v -o /tmp/ccvXl943.o /tmp/cctFu943.s GNU assembler version 2.10.0 (i386-unknown-freebsd4) using BFD version 2.10.0 /usr/libexec/elf/ld -m elf_i386 -dynamic-linker /usr/libexec/ld-elf.so.1 /usr/lib/crt1.o /usr/lib/crti.o /usr/lib/crtbegin.o -L/usr/libexec/elf -L/usr/libexec -L/usr/lib /tmp/ccvXl943.o -lstdc++ -lm /usr/lib/libgcc.a -lc /usr/lib/libgcc.a /usr/lib/crtend.o /usr/lib/crtn.o ★を付けた部分でインクルードファイルの取り込みが行われます。 この環境では、標準のインクルードファイルは /usr/include/g++、 /usr/include である、ということがわかります。そこにインクルード ファイルが置いてあれば何もエラーは起こらないはずです。 で、★の部分が終わったら初めてライブラリが出てくるわけで (ld がライブラリをリンクする)、★がうまくいかないのに ライブラリが云々と悩むのはおかしいです。 > /usr/local/bin/libstdc++/iostream > /usr/local/bin/libio/iostream.h > /usr/local/bin/libstdc++/libstdc++.a これはソースで、本来不要なファイルではないですか? /usr/local/bin/ に ファイルを展開して、そこで make したんじゃないかと想像しますが。 > 上記フォルダ階層はそもそも間違いで、 おそらく間違いでしょう。 > 正しいインストール先というのは、インストール時に指定できる > ようになっているものなのでしょうか? ソースからコンパイルしたなら、make 時に指定することもできますが、 普通はデフォルトのディレクトリにインストールします。 とりあえず package を利用してはどうですか? ftp://SunSITE.sut.ac.jp/pub/sun-info/Solaris/sparc/2.5/gcc-2.95.3-sol25-sparc-local.gz |
>>2337 aki おっと、見逃していました。 > /etc/groupのファイルのrootグループに追加するだけで > はいけないのでしょうか。 root グループにはなれますが、root にはなれません。 sudo など、setuid などで検索してみてください。 |
はじめましてkanjiと申します。コマンドのページを良く利用させて頂いています。感謝です。 UNIXの掲示板で、Linuxの質問をよろしいでしょうか。 本題の質問なのですが、初めてRedHat Linux7Jをインストールし、Webサーバの構築を考えています。 ですがPCMCIAのNWカードを認識してくれません。(3com 3c589Dを使用) そこでPCMCIAのドライバをインストールしようとpcmciacs.3.1.30.tar.gz を入手し、 #zcat pcmciacs.3.1.30.tar.gz | tar xvf - #cd pcmciacs.3.1.30.tar.gz #make config を行なうと、configエラーが出ます。ソースツリーが無いと言われます。 ソースツリーとはどのようなもので、どうやってインストールすれば良いのでしょうか。 よろしくお願い致します。 |
>>2359 kanji pcmciacs.3.1.30.tar.gz を展開した pcmciacs.3.1.30 以下のディレクトリ構造がソースツリーでは。 % cd pcmciacs.3.1.30.tar.gz ではなくて、 % cd pcmciacs.3.1.30 では? 〜.tar.gz は圧縮ファイルです。 cd は Change Directory です。 |
>>2360 ふくし > pcmciacs.3.1.30 以下のディレクトリ構造がソースツリーでは。 Linux も pcmcia も全然知りませんけど、 http://www.linux.or.jp/JF/JFdocs/PCMCIA-HOWTO-2.html などを見るに、カーネルソースを展開して、そこに pcmciacs*.tar.gz を 展開して、make config && make all && make install してモジュールを インストールすべきなのに、カーネルソースツリーが存在していないので エラーになってるんじゃないでしょうか。 >>2359 kanji > configエラーが出ます。 具体的にどういうエラーが出るかをちゃんと書けば、何が問題か わかる人にはわかるでしょう。 # 僕は残念ながら わからない人です。 |
>>2360 ふくし >>2361 68user すみません、わかりました。 ありがとうございました。 カーネルソースの展開が抜けているのでしょう。 早速やってみます。 |
初めまして、inabaと申します。 >>2359 kanji 3com だったら、ディフォルトで認識してくれると思いますが…。 ただ、network と pcmcia の起動順が逆なので失敗しているのかも。 # cd /etc/init.d # ./pcmcia restart # ./network restart と入力してみてください。 # ifconfig で、eth0 が認識されていませんか? 見当違いだったらすみません。 |
はじめまして、渡邊と申します。 ネットワークプログラムに興味があり、POP3 クライアントを作ってみよう(2)の POP3 クライアントサンプルを動作させてみました。 お聞きしたいのは、このままでちゃんとメールが表示されるプロバイダーと表示されないプロバイダーがあり、ニフティでは途中で固まってしまいます。認証までは動いているようで、LISTので止まっているようです。 どうすれば、いいか教えていただけませんか? |
>>2364 わたなべ > LISTので止まっているようです。 http://x68000.startshop.co.jp/~68user/net/sample/pop3-client.pl ですね? telnet で pop3 サーバと話してみるとどうなりますか? LIST 送信の後の while (<SOCKET>){ m/^\.\r\n$/ && last; を while (<SOCKET>){ print "[$_]"; m/^\.\r\n$/ && last; として実行すると何が表示されますか? Windows マシンで動かしていますか? (環境はちゃんと書きましょう) もしそうなら socket(SOCKET,PF_INET,SOCK_STREAM,0)|| die ... の後に binmode(SOCKET); という行を追加するとどうなりますか? |