
Ubuntu日本語フォーラム

ログインしていません。
こんにちは、悠汰と申します。
昔、Windows 上で開発サポートをしていた人間なのですが、その際ユーザーモードで動くアプリケーションのデバッグをする際に、デバッグシンボルと共にデバッガ上でデバッグしてバグのあたりを付けてそのコードを解析するという事をしていました。
もう、10年も前の事で忘れている部分が多いのですが、ちょっと仕事に一段落させてこれから Linux でそいうった勉強をしようかと思っています。しかしながら、開発環境を纏めて手に入れようとしてもそういったものを手に入れるのに情報が少なくて困っています。
Ubuntu のソース群を手に入れるにはどこに行けば?から始まっています。
仕事しながら少しながら調べていた程度なのですが、さあ、時間も作ったしいざ始めようと思っても、現状初歩的なところで蹴躓いています。
自分で調べろと言われそうですが、そういった情報を纏めたサイトなどありますでしょうか?ないようでしたら、ここら辺のサイトが参考になる程度の情報でも有り難いです。
昔は、結構そういった開発系の情報が簡単に見つけられたのですが、どうも最近は殆ど目にする事もなくなり、日本国内でそういった開発をしている人は少ないのかとちょっと不安に思っていたりします。開発自体をしている人はいるが、情報の発信をしていないだけなのか、調べ方が悪いのか...。
開発の導入からこう詰まるようでは開発に興味がある初心者にはきっとどう頑張っても辿り着けず諦めてしまうのではないかと危惧しているのですが、如何でしょうか。
情報と、実際に試す環境が簡単に手に入って始めて開発者のコミュニティーが発展していくと思うのですが。そういった面でご協力頂けるようでしたら、情報お願いしますm(__)m。纏まった情報があれば自分でも纏めて情報公開していきたいと思っています。
オフライン
失礼しました。前にも他のディストリビューションで悩んだ事あったのを忘れていました。
Synaptic パッケージ マネージャでパッケージを探してインストールすれば良かったのでした...orz。
恥ずかしい質問で申し訳ないです。
取り敢えず、導入まで進んだらお詫びとしてここに簡単に説明を書きますので、お許し下さい。
オフライン
こんにちは
GTK2-devあたりから始めて、他のシェアライブラリを学んでいくのが良いのですが情報ソースが少なすぎてかなり大変です。Ubuntuでgccで、って昔のLinuxだったら出来ることが限られていたから楽だったけれど、いまはあれもこれも出来るんだけど、APIの統一性がないのでWindowsから来ると大変すぎて嫌になります。それでPureBasic Linuxを使っています。2000以上のサンプルソースが集積されているので、基礎的な開発には困らないでしょう。例外なAPI処理を考えたとき初めてGTKなどのAPI仕様書を読む必要がでてくる程度の難易度です。GTK2、SDL、OGRE、Scintilla、Xine、メジャーなライブラリを統一された命令系統でコントロールできるので、いまさらgccなんて考えたくない状態。
ガンッバって下さい
オフライン
oryaaaaaさん、こんにちは。
oryaaaaa による投稿:
GTK2-devあたりから始めて、他のシェアライブラリを学んでいくのが良いのですが情報ソースが少なすぎてかなり大変です。Ubuntuでgccで、って昔のLinuxだったら出来ることが限られていたから楽だったけれど、いまはあれもこれも出来るんだけど、APIの統一性がないのでWindowsから来ると大変すぎて嫌になります。
やはり開発始めるなら GTK という感じですかね...。ライブラリも数多く存在しているので流用が楽そうと思いきや、逆にそれが大変というのもなんとなく想像が付きます。Windows の API ならある程度共通性がありますもんね...。自由に開発が出来る分、統一性が失われるというのは仕方がない事なのかもしれませんが、開発指針みたいなのが明文化されたりしないんですかねぇ...。
oryaaaaa による投稿:
それでPureBasic Linuxを使っています。2000以上のサンプルソースが集積されているので、基礎的な開発には困らないでしょう。例外なAPI処理を考えたとき初めてGTKなどのAPI仕様書を読む必要がでてくる程度の難易度です。GTK2、SDL、OGRE、Scintilla、Xine、メジャーなライブラリを統一された命令系統でコントロールできるので、いまさらgccなんて考えたくない状態。
GUI とかは VisualBasic みたいに開発ができたりするんですかね...。RAD環境が構築されてくると Linux 上で開発も楽になるのでしょうがねぇ...。
自分は先ずは make ファイルの書き方を覚えるところから始めないとならないので、苦戦しております。昔は Visual Studio の吐いた make ファイルを弄る程度だったので一から書くなんて(><;。まあ、そんな大規模なアプリを作る予定はない...というか作れないので、make ファイルを1から書く事もないとは思うのですが。暫くは、ちょこちょと簡単なツールでも作りながらデバッグで貢献できればなんて思ってます。
因みに、今は debian-installer のソースが見つからず、調べたい部分の解析ができずにはまっています。その傍らで何故か PHP を弄って遊んでいる...orz。python も学ばなきゃなぁ...とか浮気ばかりの今日この頃...orz。
oryaaaaa による投稿:
ガンッバって下さい
Thanks です!頑張ってみます(^-^)。
オフライン
いきなり C/C++ 等のコンパイラ言語からではなく、スクリプト(インタープリタ)言語から始めたら如何がですか?
おすすめは、Python を覚えて、gnome API を使うライブラリ(PyGNOME)辺りからやってみる。
gnome/Ubuntu の、GUI/CUI ツール類の多くは、Python で書れているので、サンプルには事欠かないと思います。
いきなり、GTK(pygtk)よりは、少しは、簡単かも。
(やったことないので、これ以上は言えませんが....)
Python以外に、スクリプト言語の選択肢は数多くありますが、動作を確認できるソースが身近にあるということで、学びやすいと思います。
(Pythonが気に入らなければ、perl,ruby,java,scheme,Lisp...... キリがないほど選択肢はあります)
参考: http://wiki.python.org/moin/GuiProgramming
最後の編集者: si (2008-06-09 01:08:38)
オフライン
siさん、こんにちは。
si による投稿:
いきなり C/C++ 等のコンパイラ言語からではなく、スクリプト(インタープリタ)言語から始めたら如何がですか?
元々、Windows API のバグかどうかを切り分けるために、C 言語+Windows APIで検証用
プログラムをごまんと書いてきた人間なので、実は C で Gtk のプログラムを読んだ方が
判りやすかったりします。時代遅れの技術者気質が顔を出して C でゴリゴリが楽なんて
思ってしまったり...(~~;。
si による投稿:
おすすめは、Python を覚えて、gnome API を使うライブラリ(PyGNOME)辺りからやってみる。
pygtk は何となく判るのですが、PyGNOME ってのもあるんですね(@@;。
si による投稿:
gnome/Ubuntu の、GUI/CUI ツール類の多くは、Python で書れているので、サンプルには事欠かないと思います。
いきなり、GTK(pygtk)よりは、少しは、簡単かも。
今調べたい事があってにインストーラーの ubiquity のソースを読んでいるのですが、
早速 Python にぶち当たりました(笑)。でも、言語自体は簡素な様ですので、
pygtk 等のモジュールの使い方読んでいけばそれ程苦ではなさそうです。
一度覚えてしまえば楽しめる言語なのかもしれませんね。
Python はスクリプト言語とは思えない位クラスの継承ができたりと、本格的な
オブジェクト指向プログラミングもできる様ですね。ちょっとびっくり。
今日、紀伊国屋に行ってきて仕入れた程度の知識ですが(~~;。
ちなみに、スレッドも作れるらしいのでまた更に驚いたという(^^;。
本当にスクリプト言語か?!と...。
書籍はオーレライ位しか出してないのが寂しいところですね...。
si による投稿:
参考: http://wiki.python.org/moin/GuiProgramming
でも、お教え頂いたリンクのチュートリアルでなんとかなりそうです。
それで本も買わなかったという(~~;。
そうそう、最初の書き込みで、ソースはどこにあるんじゃ!と騒いでしまいましたが、
Synaptics でダウンロードできない deb 化されていないソースのパッケージは
以下のURL からダウンロードできるようです。
http://packages.ubuntu.com/source/gutsy/
http://packages.ubuntu.com/source/hardy/
こんな事は知っている人沢山いるとは思いますが、一応同じところで引っかかっている人の為に(^^;ゞ。
簡単な事でも良いので、情報交換が出来ると有り難いです。勉強になります。
siさん、oryaaaaa さん感謝しておりますm(__)m。
最後の編集者: 悠汰 (2008-06-11 23:36:14)
オフライン
ちょっと追記しておきます。
以下のチュートリアルは良さそうですね。日本語化してみたいマニュアルの一つです。
自分に翻訳できるだけの英語力があればだが ;P
PyGTK 2.0 Tutorial
http://www.pygtk.org/pygtk2tutorial/index.html
GUI のプログラムを書く時、イベントのハンドリングをどう実装するのかが
キーとなるのですが、コールバック関数が使える様ですね。
でも、PyGTK 位の実装なら同じコードで他の OS でも動作させられるように出来そうですが、
GTK自体を移植してしまっているからそこまで潔癖にならなくてもいいんかなぁ...。
最後の編集者: 悠汰 (2008-06-12 03:00:52)
オフライン
本題とは関係ないところで申し訳ないのですが……。
悠汰 による投稿:
そうそう、最初の書き込みで、ソースはどこにあるんじゃ!と騒いでしまいましたが、
Synaptics でダウンロードできない deb 化されていないソースのパッケージは
以下のURL からダウンロードできるようです。
http://packages.ubuntu.com/source/gutsy/
http://packages.ubuntu.com/source/hardy/
「deb 化されていないソースのパッケージ」というのは、どういう意味でしょう?
少なくとも、上記URLにリストアップされているソフトウェアはすべてパッケージ(debファイル)になっているはずですし、そのソースファイルはすべて、apt-getコマンドを使ってもダウンロードできるます。
「現在使っているリリースorバージョンとは別のパッケージをダウンロードしたい」ということでしょうか。もしそうであれば、悠汰さんが提示されたURLかLaunchpadからダウンロードするのが簡単でしょう。
apt-getコマンドを使ったソースパッケージのダウンロード自体は最初から可能ですが、圧縮してダウンロードされるソースパッケージを自動的に展開するために、dpkg-devパッケージもインストールしておいた方が便利です。
例えば、inkscapeのソースファイルをダウンロードしたい場合は
sudo apt-get update
apt-get source inkscape
と実行します。apt-get sourceはファイルをダウンロードするだけですので、sudoで実行する必要はありません。するとカレントディレクトリに
inkscape_0.46-0ubuntu2.diff.gz
inkscape_0.46-0ubuntu2.dsc
inkscape_0.46.orig.tar.gz
inkscape-0.46/
みたいな3つのソースパッケージファイルと、それを展開しパッチを適用したディレクトリが作成されます。
オフライン
Shibataさん、こんにちは。
Shibata による投稿:
apt-getコマンドを使ったソースパッケージのダウンロード自体は最初から可能ですが、圧縮してダウンロードされるソースパッケージを自動的に展開するために、dpkg-devパッケージもインストールしておいた方が便利です。
情報有り難うございます。synaptic でダウンロードできないソースがあったので、
あれ?と思っていました。apt-get で行くんですね。リポジトリではソースも含めているのに
なんでだろう?とは疑問に思っていたのですが(~~;。
どうしても自己流でなんとかしてしまうところがあるので、大変助かります。
オフライン