HOME / コンピュータTips / Solaris / コンパイル / jd

Date: 2008/07/26 |  このエントリーをはてなブックマークに追加  |  Tags: Solaris opensolaris Software compile コンパイル

Linux用の2chビューア、jdを、Solaris用にコンパイルする。

インストールとデプロイ

パッケージからインストール

例によって、下記からダウンロード

jdは依存が多い。

必要なファイルは、

JPClibsigc++-2.2.2J01.pkg
JPCcairomm-1.4.8J01.pkg 
JPCglibmm2-2.14.2J01.pkg 
JPCgtkmm2-2.12.7J01.pkg
JPCjd-2.0.0,REV=2008.07.22J01.pkg

これらを順にダウンロードしてから、インストール。

実行

サンプルのスクリプトがあるので

/opt/JPC/bin/jd.sh

環境変数をセットしてるだけなので、直接、何かしらの方法でセットされていれば、それを先に実行する必要がある。

幾つかのライブラリ(libsigc++や、glibmm、gtkmm)などは、標準のものがある。残念ながらSolarisの標準のパッケージは、これらの必要バージョンを満たさない。従って必ずLD_LIBRARY_PATHの順番を意識して設定しておくこと。

ソースからダウンロード

展開

gzip -dc jd-2.0.0-20080722.tgz | tar xvf -

コンパイル

gmakeは必須である。

ライブラリとして、下記のものが必要。

  • libsigc++-2.2.2
  • cairomm-1.4.8
  • glibmm-2.14.2
  • gtkmm-2.12.7パッケージがあるのでインストールされたし。
PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/sfw/bin:/opt/sfw/bin:\
/opt/csw/bin:/opt/SUNWspro/bin:/usr/ccs/bin ; export PATH

LD_LIBRARY_PATH=/lib:/usr/lib/amd64:/usr/lib:/usr/sfw/lib/amd64:\
/usr/sfw/lib:/opt/sfw/lib:/opt/csw/lib/amd64:/opt/csw/lib:\
/usr/X11/lib/amd64:/usr/X11/lib:/usr/openwin/lib/amd64:\
/usr/openwin/lib ; export LD_LIBRARY_PATH

PKG_CONFIG_PATH=/opt/JPC/lib/pkgconfig:/usr/lib/pkgconfig:\
/opt/csw/lib/pkgconfig ; export PKG_CONFIG_PATH

./autogen.sh
./configure \
 --prefix=/opt/JPC \

パッチを宛ててコンパイルをする。

filemisctime.cpp.patchfileloader.cpp.patchfileconfigure.in.patch

インストール

このままでは、/opt/JPCにインストールされてしまうので、泥縄であるが、JPCを一次的に待避させる。

いったん依存関係のあるものをアンインストール

pkgrm JPCgtkmm2 JPCglibmm2 JPClibsigc++ JPCcairomm

待避して依存関係のあるものをインストール、

mv /opt/JPC /opt/JPC.orig
pkgadd -d JPClibsigc++-2.2.2J01.pkg
pkgadd -d JPCcairomm-1.4.8J01.pkg 
pkgadd -d JPCglibmm2-2.14.2J01.pkg 
pkgadd -d JPCgtkmm2-2.12.7J01.pkg

本体をインストールまえに、Makefileを書き換え。

install-desktopDATAに下記の記述があるので

test -z "$(desktopdir)" || $(MKDIR_P) "$(DESTDIR)$(desktopdir)"

これに書き換え。

test -d "$(desktopdir)" || $(MKDIR_P) "$(DESTDIR)$(desktopdir)"

-dに注目、下記も同じ。install-iconDATAに下記の記述があるので

test -z "$(icondir)" || $(MKDIR_P) "$(DESTDIR)$(icondir)"

これに書き換え。

test -d "$(icondir)" || $(MKDIR_P) "$(DESTDIR)$(icondir)"

インストール。

gmake install

依存関係のあるパッケージをアンインストール

pkgrm JPCgtkmm2 JPCglibmm2 JPClibsigc++ JPCcairomm

すると若干のゴミはあるかもしれないが、残りは今回入れた本体のみであるはず。

rm -rf ../install_root/
mkdir -p ../install_root/opt
mv /opt/JPC ../install_root/opt/
mv /opt/JPC.orig /opt/JPC

おわったら、依存物を間違いなくインストール・・・と言いたいが、ここは一度ぐっとまつ。

ここで ../install_rootにインストール後のイメージが出来ている。

パッケージ化

cd ../install_root

prototypeを作成

pkgproto . > prototype

出来たprototypeファイルから、prototypeのエントリを削除する。

f none prototype 0644 root root

その上で、下記の2行を追加。依存関係があるので注意。

i pkginfo
i depend

依存関係ファイルの作成

cat <<__END > ../depend
P       JPClibsigc++        typesafe callback system for standard C++
P       JPCglibmm2          a C++ API for parts of glib that are useful for C++.
P       JPCcairomm          A C++ API for cairo
P       JPCgtkmm2           a C++ API for GTK+
__END
cp ../depend .

pkginfoを作成

cat <<__END > ../pkginfo
PKG=JPCjd
NAME=jd for LINUX. 2ch browser
ARCH=i86pc
VERSION=2.0.0-beta080418
CATEGORY=library
DESC=jd for LINUX. 2ch browser
VENDOR=JPC
CLASSES=none
BASEDIR=/
__END
cp ../pkginfo .

パッケージ作成

../../make_package.sh 01

パッケージの作成(旧式)

pkgmk -r `pwd`
pushd /var/spool/pkg/
pkgtrans -s . パッケージ名.pkg

確認

割愛(笑


コンピュータTips/Solaris/コンパイル

Recent Updates

ディスクの不良を確認する(iostat -EnのError等)

ディスク関係のスタックをざっくり書くと次の様になっています 例、SAS Expanderを使う場合、 例、AHCIなどを使う場合、 これらのエラーは、次の様なコマンドで知ることができます。 出力結果例 このなかで、 たとえば、SATAディスクを利用している際に負荷が上がってしまい、ディスクの応答が間に合わないシチュエーションでは、Transport Errorが一気に …
»続きを読む

2017年、新年明けまして、おめでとうございます。

日記/2017年、新年明けまして、おめでとうございます。

新年明けまして、おめでとうございます。今年もよろしくお願いします。 昨年中は、皆様にお世話になりました。 昨年は、コツコツと3年程前から行ってきた改革がある程度完成された年で、この先5年、10年を見据えて、次のフェーズへと進む為の土台が完成した年でもありました。 それにキャッチアップする形で、個々の従業員一同が、役割を自覚し、明確に動けた年であったかと考えています。 …
»続きを読む

RSA鍵認証のみにし、Password認証を無効化する

意外に覚えきれなくて、いつも忘れるので、メモついでに残しておきます。 古いOpenSSHや、SunSSHの場合は、これも無効にします。 ユーザ目線でのザックリとした説明を。OpenSSHではなく別のSSH実装も含めて考えているので、OpenSSHのソースをじっくり読んだわけではないため、間違ってたらすみません。 まず、Password認証を無効にする場合、 PasswordAut …
»続きを読む

Nexus7 2013をMarshmallow(Android 6.0)化

OTAでない方法で。 だいたい ここに書いてある方法 なんだけど、adbなどが一式使えている状態で。 まずは自分の機種のものをダウンロードする。僕のは、 Android 6.0 Marshmallow for Nexus 7 2013 Wi-Fi 。tgzを展開し、zipも解いておく。 まずはboot loaderへ。 bootloader自体のアップデート。一式、updat …
»続きを読む

OS X 10.11 El Capitanで、phpのモジュールインストール

Yosemiteからのアップデートは割と簡単です。なぜならYosemite時に、すでにapache 2.4になり、php 5.5になっているから(笑 アップデート前に、まずはphp.iniとhttpd.confをバックアップしておきましょう きになるなら、hostsとかapache以下全てをバックアップしておいてもいいかも。 後はEl Capitanにアップデートする。 アッ …
»続きを読む

EasyAcc Powerbank PB4000CB

スマフォTips/モバイルバッテリー/モバイルバッテリー製品レビュー/EasyAcc Powerbank PB4000CB

薄型のモバイルバッテリーEasyAcc Powerbank PB4000CBです。 今や、モバイルバッテリーは大型のものが好まれるのか、隙間無く商品があります。20,000mAh越えで、「でけえ!」とか言ってますけど、大きいのを探せば、100Wh(27,000mAh)、200Wh当たり前、探せば500Wh(135,000mAh)とか、もっともっとあるのです。用途がどんどん異なっていくので …
»続きを読む

EC Technology Sports Headsets S10-JWH07B

デバイスTips/Bluetooth/EC Technology Sports Headsets S10-JWH07B

Bluetoothのスポーツヘッドセット、 S10-JWH07B について。 今までブログに記載することはなかったのですが、実は割とBluetoothと言うか無線型のヘッドフォンを沢山持っています。赤外線や独自物、Bluetoothなどいくつもストックを持っていたりします。普通の人からするとマニアです。でも、マニアからみるとそうでもないレベルです。 ただ「ヘッドフォンの音質」というの …
»続きを読む

静岡県内をVPNでつなぐ(割と特殊な例)

静岡というのはある意味特殊な土地で、ほとんどのインターネットプロバイダのPOIは静岡でつながれておらず、NTT西圏内のどこかで繋がっているので、大抵大阪折り返しになる。仮に静岡県内にPOIがあっても、だいたい静岡でルーティングしてないので、やっぱり東京折り返しになってたりする。例え 同じプロバイダを使っていたとしても 。 だから静岡←→静岡のVPNは、静岡←→東京や、静岡←→大阪よりも遅 …
»続きを読む

最新  |  << 前ページ  |  次ページ >>  |  最初