web-dev-qa-db-ja.com

OpenIndiana(151a8別名「ヒップスター」)を開発用に構成するにはどうすればよいですか?

Solaris についての同様の投稿を見て、同様のハウツーを考えました。 最近のニュース(2013年のように) ディストリビューションで聞いたことがあり、最初のOpenIndiana151a7リリースをhipster.5.11-0.151.1.8.1 より正確には-ディストリビューション内の個々のファイルをリンクで確認できます) 。この次のリリースでは、古い OpenIndiana wiki またはIllumosビルド howto で説明されているものとは多くの点が異なります。その "gccのみの使用方法" セクションはSunStudioの所有権などのためです。私はずっと前に、開発用の環境をセットアップすること、または単に私のようにいくつかのことをコンパイルすることを学びました。 、適切なソフトウェアを用意するだけでは不十分です。それは、構成と情報、そしてソフトウェアを開発する際の開発スキルに関するものです。

ソフトウェア

OpenIndianaは、Solarisと同じように [〜#〜] ips [〜#〜] を使用します。 pkg install pkgname/pkg search -r keywordおよびpkg info -r keywordはかなり 役に立ちました GUIフロントエンドパッケージャーは151a8で今のところ壊れているので、.

追加のリポジトリ 追加のパッケージにアクセスするように構成する必要があります:

$ pkg set-publisher -p http://pkg.openindiana.org/sfe

該当する場合は、邪魔なもの

pkg set-publisher -p http://pkg.openindiana.org/sfe-encumbered

クリーンインストールでは、これら2つの大きなメタパッケージ(合計で約600 MBのダウンロード、数GBがインストールされている)と、コンパイル時に適切と思われるいくつかのことfvwmに落ち着きました。

Sudo pkg install pkg://openindiana.org/metapackages/[email protected],5.11-0.151.1.8.1:20130803T052718Z
Sudo pkg install sunstudio12u1
Sudo pkg install pkg:/library/desktop/[email protected]
Sudo pkg install pkg:/library/Java/[email protected]
Sudo pkg install pkg://sfe/library/[email protected],5.11-0.151.1.5:20120805T091919Z

Build-essentialには、以下を含むがこれらに限定されない、ほとんどすべてが必要です。

pkg install -v pkg:/archiver/gnu-tar pkg:/compress/p7Zip pkg:/compress/unzip \
pkg:/developer/build/ant pkg:/developer/build/autoconf pkg:/developer/build/automake-110 \
pkg:/developer/build/gnu-make pkg:/developer/build/libtool pkg:/developer/build/make \
pkg:/developer/gnome/gettext pkg:/developer/Java/jdk \
pkg:/developer/Java/junit pkg:/developer/lexer/flex pkg:/developer/macro/cpp \
pkg:/developer/macro/gnu-m4 pkg:/developer/object-file pkg:/developer/parser/bison \
pkg:/file/gnu-coreutils pkg:/file/gnu-findutils \
pkg:/library/libtool/libltdl pkg:/library/libxslt pkg:/library/pcre \
pkg:/system/library/math/header-math pkg:/text/gawk \
pkg:/text/gnu-diffutils pkg:/text/gnu-gettext pkg:/text/gnu-grep \
pkg:/text/gnu-patch pkg:/text/gnu-sed pkg:/text/groff \
pkg:/text/texinfo pkg:/library/neon pkg:/library/apr-util-13 \
pkg:/developer/library/lint pkg:/system/header pkg:/developer/build/onbld \
pkg:/data/docbook \
pkg:/library/glib2 \
pkg:/library/libxml2 \
pkg:/library/libxslt \
pkg:/library/nspr/header-nspr \
pkg:/library/Perl-5/xml-parser \
pkg:/system/library/install \
pkg:/system/library/dbus \
pkg:/system/library/libdbus \
pkg:/system/library/libdbus-glib \
pkg:/library/python-2/python-extra-26 \
pkg:/system/library/mozilla-nss/header-nss

gcc 4.7.3は、hipterブランチ(pkg://openindiana.org/developer/[email protected],5.11-0.151.1.8.1:20130802T223703Z)で利用可能な最新のものです。 )。

gcc-devおよびss-devメタパッケージもありますが、どの程度追加されるかはわかりません。私が今持っているものに。

構成(私の.bashrcファイルからのハイライト)

場合によっては、4.7以外のバージョンのgccを使用する必要があるかもしれませんが、今のところ、利用可能な最新のものを使用しており、OpenIndianaの両方から提案された構成に依存しています。およびIllumosサイト、可能な限り最善を尽くしています:

[...]
CW_GCC_DIR="/usr/gcc/4.7/bin/"; export CW_GCC_DIR
GCC_ROOT="/usr/gcc/4.7"; export GCC_ROOT
ONBLD_TOOLS="/opt/onbld"; export ONBLD_TOOLS
ONLY_LINT_DEFS="-I/sunstudio12.1/prod/include/lint"; export ONLY_LINT_DEFS
__GNUC=""; export __GNUC
AMD64_LINT="/opt/sunstudio12.1/bin/lint"; export AMD64_LINT
i386_LINT="/opt/sunstudio12.1/bin/lint"; export i386_LINT

PATH="/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/SUNWspro/bin:/usr/ccs/bin:/opt/onbld/bin:/opt/onbld/bin/i386:/opt/sfw/bin:/usr/sfw/bin:/usr/dt/bin:/usr/openwin/bin:/usr/sbin:/usr/gnu/bin/:/usr/sbin/:/sbin:/usr/local/bin:/usr/bin:/usr/ccs/bin:/usr/dt/bin:/usr/gnu/bin/"; export PATH

課題)

私がそうではない開発者にとってさえ、挑戦は素晴らしいかもしれません。私の環境を構成した後、私はコンパイルしようとします fvwm 2.6.5 これは標準的なものであり、小さく、私が興味を持っているソフトウェアのランドマーク的な部分です...何が得られるかを確認します。構成によって提供される機能を改善しようとすると、問題があると思い、ソースからglibをコンパイルする必要がありました。だから私はこれに出くわしました 驚くべきアカウント これを実際にOIで編集したこの明らかに非常に知識のある人から。これ以上glibパッケージをインストールする必要がないことに気づきましたが、この人は移植されたコンパイル済みソフトウェアの リポジトリ を維持しており、複雑さを考えると非常に便利です...

また、原則として、プラットフォーム上の バグ追跡メーリングリスト (特にoi-dev)に注意を払う必要があります。

共通のビルド環境

OI OSの適切な構築に関するwikiの 古いセクション には、CBE1.7.0と呼ばれるこのツールへの参照があります。 SUNWperl510coreが必要なため、現時点ではインストールできません。これを強制的にインストールすると、私の経験ではACLが台無しになります。インストールに成功したときは、それが頭の中にあるので、それをどのように使用するかについてまったく手がかりがないことを認めます。これがユーザーランドのものをコンパイルするときに何かを単純化できるかどうかを知りたいと思います。私が知っているのは、最新のリリースでは、ミニバージョンの1.8.0(pkg://openindiana.org/developer/build/[email protected],5.11-0.151.1.8:20130305T143840Z)があるので、インストールしました古いPerl依存関係を必要としないもの。それが何であるかを理解することにはまだほど遠いです(私はspecsなどについて読む必要があります)が、それはそこにあります。メーリングリストに、SFEパッケージの提供と pkgbuild のコンテキストで、2013年の日付が thread であることがわかります。


質問

  • Fvwm 2.6.5を簡単にビルドできましたが、セットアップは最低限許容できるビルド環境のように見えますか?ここでのベストプラクティスに準拠していない特定のものはありますか?

参照とリンク

SunOSを初めて使用する人のための基本的な管理コマンドのチートシート (PDF)

  [1]: http://openindiana.org/pipermail/oi-dev/2013-May/002109.html
  [2]: http://pkg.openindiana.org/hipster/en/index.shtml
  [3]: http://wiki.openindiana.org/oi/Compiler+Migration
  [4]: http://wiki.illumos.org/display/illumos/How+To+Build+illumos
  [5]: http://wiki.illumos.org/display/illumos/How+To+Build+illumos#HowToBuildillumos-BuildingwithGCC-444iewithoutSunStudio
  [6]: http://docs.Oracle.com/cd/E23824_01/html/E21802/ips_intro.html#scrolltoc
  [7]: http://docs.Oracle.com/cd/E19963-01/html/820-6572/managepkgs.html
  [8]: http://wiki.openindiana.org/oi/Spec+Files+Extra+Repository
  [9]: http://www.fvwm.org/download/
  [10]: http://www.openindiana.co.uk/tags/c-standards
  [11]: http://www.openindiana.co.uk/content/repository-update-73-new-packs
  [12]: https://www.illumos.org/projects/openindiana/issues?page=1
  [13]: http://openindiana.org/mailman/listinfo
  [14]: http://wiki.openindiana.org/oi/Setting+up+the+recommended+build+environment
  [15]: http://comments.gmane.org/gmane.os.openindiana.devel/1887
  [16]: http://sourceforge.net/apps/mediawiki/pkgbuild/index.php?title=Pkgbuild_on_OpenSolaris
  [17]: http://i.stack.imgur.com/xSB2n.png
  [18]: https://blogs.Oracle.com/JeffV/entry/comparing_solaris_11_zones_to
  [19]: http://ptribble.blogspot.ca/2013/05/sparse-root-zones-in-tribblix.html
  [20]: http://tribblix.blogspot.co.uk/
  [21]: http://unixed.com/blog/2013/02/the-solaris-11-immutable-zone/
  [22]: http://www.logiqwest.com/dataCenter/Demos/RunBooks/Zones/createBasicZone.html
  [23]: http://www.Oracle.com/technetwork/server-storage/solaris/solaris-dtrace-wp-167895.pdf
  [24]: http://www.Oracle.com/technetwork/server-storage/solaris11/documentation/solaris-11-cheat-sheet-1556378.pdf
4
user44370

これを投稿していただきありがとうございます。それは私にはかなり完全に見えます。

開発ホストの設定方法というメイントピックに焦点を当てるべきだと思います。ゾーンやDTrace、少しトピックから外れたIMHOなど。 wrtゾーンとIPS)を覚えておくべき重要なことは、ソフトウェアパッケージがグローバルゾーンにインストールされているからといって、必ずしもゾーンに入るとは限らないということです。実際、標準のSolarisではマニフェストこれは、デフォルトでグローバルゾーンから継承されるパッケージがかなり短いリストであることを示しており、ゾーンのフットプリントを最小限に抑えようとしている可能性があります。つまり、ローカルゾーンにパッケージを明示的にインストールする必要がある場合もあります。はすでにグローバルゾーンにインストールされています。幸いなことに、グローバルゾーンのIPSリポジトリを中間プロキシリポジトリとして使用するため、ローカルゾーンからのインターネットアクセスは必要ありません。

おそらく、開発ホストの目的をもう少し明確にすることもできます。ホストがディストリビューション自体を構築できるようにするのか、それともさまざまなLinux/UnixOSSパッケージを「ただ」構築できるようにするのか。

標準のSolaris11で同等の処理を行う方法については 別の投稿 があります。Solaris11とOpenIndianaは同じ遺産を共有しているため、その投稿には使用できるものがある可能性があります。

1
unixhacker2010