私の個人設定に一致するliboverlay-scrollbar
のパッチバージョンをインストールして使用しようとしています。 lp:ayatana-scrollbar
および./autogen.sh; make; Sudo make install
edをダウンロードしました。
ここに問題があります。 ldd /usr/bin/*
を見ると、実際にはどのアプリケーションにも似ていませんuseliboverlay-scrollbar*.so
。そして、私が次のようなものを使用するときでも:
export LD_LIBRARY_PATH="/usr/local/lib/:/usr/lib/"
export LIBOVERLAY_SCROLLBAR=1
gedit
私が呼び出すスクロールバーを使用するアプリケーションは、私の/usr/local/lib
ライブラリを気楽に無視し、システムにインストールされたayatanaスクロールバーを使用するようです。私のGTK +ライブラリは標準のUbuntuなので、グラフィカルツールキットにパッチを適用して再コンパイルする必要はないと想定しています。
誰かがソースからオーバーレイスクロールバーをインストールするための段階的なプロセスを投稿できますか?
http://developer.ubuntu.com/packaging/html/fixing-a-bug.html で簡単なチュートリアルを確認できます。
ここに簡単なチュートリアルがあります:
Ubuntuのオーバーレイスクロールバーを入手する
bzr branch ubuntu:overlay-scrollbar overlay-scrollbar.dev
cd overlay-scrollbar.dev
コンパイルしてインストール
./autogen.sh
make
Sudo make install
シンボリックリンクを変更する
Sudo ln -f -s /usr/lib/liboverlay-scrollbar-0.2.so.0 /usr/local/lib/liboverlay-scrollbar-0.2.so.0
(オプション)修正を文書化し、パッケージをビルドします
dch -i
bzr builddeb
Cにはあまり堪能ではないので、完全には定かではありませんが、Ubuntuがスクロールバーをロードするために使用するパッチが適用されたGTKは、/usr/lib/
のみを調べるようにハードコードされているようです。
パッチから :
+ gchar *flag = (gchar*) g_getenv ("LIBOVERLAY_SCROLLBAR");
+
+ /* check if LIBOVERLAY_SCROLLBAR is set to 0 or an empty value
+ and disable the feature in this case */
+ if (flag != NULL && (*flag == '\0' || *flag == '0'))
+ return;
+
+ /* default extension library to use for this release */
+ gchar *path = "/usr/lib/liboverlay-scrollbar-0.2.so.0";
+
+ module = g_module_open (path, G_MODULE_BIND_LOCAL);
+ if (module == NULL)
+ return;
私があなただったら、私のパッチをliboverlay-scrollbarのソースパッケージに適用します。
Bzrでソースを取得:bzr branch lp:ubuntu/overlay-scrollbar
ソースにパッチを適用し、debian/changelog
を編集します(既存のバージョン文字列に+myversion1
を追加するか、まったく新しい変更ログエントリを追加できます。重要なことは、パッケージのバージョン番号がより高いことを確認することですアーカイブ)。次に、bzr builddeb
を実行してDebianパッケージをビルドします。