web-dev-qa-db-ja.com

.configureを使用せずにMakefileを使用してtar.bz2をインストールする

Sourceforgeからtarguiをダウンロードしました。targuiは、.configureとインストールに関する指示のないtar.bz2アーカイブに入っています。ただし、アーカイブにはMakefileが含まれています。 Makefile(およびsourcefourgeの小さなドキュメント)を見ると、依存関係はqt4だけであるように見えます。qt4は、Makefileが必要とするように、システムの/ usr/share/qt4にインストールされます。

このパッケージをインストールするために何をするべきですか?

Sourceforgeページへのリンク: https://sourceforge.net/projects/targui/

更新

Makefileには次のコメントがあります。

ビルド用のメイクファイル:targui
qmake(2.01a)(Qt 4.3.2)によって生成:Fr Dez 28 12:32:13 2007
プロジェクト:targui.pro
テンプレート:アプリ
コマンド:/ usr/bin/qmake -unix -o Makefile targui.pro

だから、私は試したtarguiフォルダを含むディレクトリ内から:

/ usr/bin/qmake -unix -o Makefile targui.pro

しかし、ターミナルは言う:

qmake: '/ usr/lib/x86_64-linux-gnu/qt4/bin/qmake'を実行できませんでした:そのようなファイルまたはディレクトリはありません

更新2

NOorbertの指示に従って構築されています。セグメンテーション違反

Mainwindow.cppが修正され、次のようになりました。

void MainWindow::TabChanged(int i) {

if (newAct) newAct->setEnabled(i > 0);
if (openAct) openAct->setEnabled(i > 0);
if (saveAct) saveAct->setEnabled(i > 0);
if (saveAsAct) saveAsAct->setEnabled(i > 0);

}

同じファイルでtar参照を/ binに変更しました

.targuiはまだセグメンテーション違反です

3
Gumbo

Qt4用のqmakeとその開発パッケージをインストールする必要があります。

Sudo apt-get install qt4-qmake libqt4-dev

次にmakeを実行します。

cd ~/Downloads
tar -xf targui-0.3_beta.tar.bz2
cd targui
make

そして、アプリケーションを実行します

./targui

しかし、それは私のUbuntu 14.04 LTS、Ubuntu 16.04 LTS、Ubuntu 18.04 LTSでセグメンテーション違反です:

Segmentation fault (core dumped)

それからあなたは決定する必要があります-あなたは10年後の2008年からアプリケーションをコンパイルすることによって何を達成したいのですか。
単にグラフィカルなアーカイブツールが必要な場合-File Roller(GNOME)、Engrampa(MATE)などを使用できます。

2
N0rbert

N0rbertの答えのようにtarguiをビルドしてから、バイナリを実行するために以下をお読みください。

  • 起動時のtargui segfaultは、MainWindow::TabChangedからのmainwindow.cppが無効なポインターを逆参照しているためで、ここにチェックを追加するとプログラムを起動できます。たとえば、newAct->setEnabled(i > 0);if (newAct) newAct->setEnabled(i > 0);に変更し、他の3つのポインターについても同じことを行います。

  • mainwindow.cppには、/usr/bin/tarのようなハードコードされた文字列が含まれていますが、既存のバイナリを指していない場合があります。たとえば、Ubuntuのtar/binにあるため、それに応じて修正します。

targui screenshot

2
dsstorefile1

Targuiがセグメンテーション違反にならないようにするには、dsstorefile1の回答によるmainwindow.cppへの変更を行う必要がありますの前にで、ノルベルトの答え。

0
Gumbo