1

私は現在、Linux システムにパッケージ化されるソース パッケージも提供する必要があるプロジェクトに取り組んでいます。私はmonodevelopを使用しているので、使用しました

mdtool generate-makefiles AudioCuesheetEditor.sln --simple-makefiles

メイクファイルなどを生成します。しかし、少し問題があります。一部のシステムでは、最後のステップを実行するとすべてが正常に機能します

make install

しかし時々そうではありません。出力は次のように表示されます

[root@VMFedora17 Downloads]# make install
make[1]: Entering directory `/home/sven/Downloads'
make[1]: Leaving directory `/home/sven/Downloads'
make[1]: Entering directory `/home/sven/Downloads'
make pre-install-local-hook prefix=/usr/local
make[2]: Entering directory `/home/sven/Downloads'
make[2]: Leaving directory `/home/sven/Downloads'
make install-satellite-assemblies prefix=/usr/local
make[2]: Entering directory `/home/sven/Downloads'
mkdir -p '/usr/local/lib'
cp   bin/Release /usr/local/lib/AudioCuesheetEditor
cp: omitting directory `bin/Release'
make[2]: *** [/usr/local/lib/AudioCuesheetEditor] Error 1
make[2]: Leaving directory `/home/sven/Downloads'
make[1]: *** [install-local] Error 2
make[1]: Leaving directory `/home/sven/Downloads'
make: *** [install-recursive] Error 1

これは、KDE ​​がインストールされた Fedora 17 Linux で実行されました。別の Fedora 17 KDE では、すべてが完璧に進みました。

エラーがどこにあるか、誰かが私を助けてくれますか?

Makefile はここにあります: http://sourceforge.net/p/audiocuesheet/code/140/tree/trunk/Quellcode/AudioCuesheetEditor.make

ご協力いただきありがとうございます!

4

1 に答える 1

0

出力と提供されたリンクから、次のスニペットにエラーが見つかりました。

install-local: $(ASSEMBLY) $(ASSEMBLY_MDB)
    make pre-install-local-hook prefix=$(prefix)
    make install-satellite-assemblies prefix=$(prefix)
    mkdir -p '$(DESTDIR)$(libdir)/$(PACKAGE)'
    $(call cp,$(ASSEMBLY),$(DESTDIR)$(libdir)/$(PACKAGE))

$(ASSEMBLY) はディレクトリだったと思いますが、よくわかりません。また、パラメーター -r を指定しないコマンドcpは、ディレクトリを再帰的にコピーしません。変更を試みることができます

$(call cp,$(ASSEMBLY),$(DESTDIR)$(libdir)/$(PACKAGE))

$(call cp,-r,$(ASSEMBLY),$(DESTDIR)$(libdir)/$(PACKAGE))

また

cp -r $(ASSEMBLY) $(DESTDIR)$(libdir)/$(PACKAGE)

さらに、元のマシンがあるマシンでは機能するのに別のマシンでは機能しない理由を知りたい場合は、次のコマンドを追加できます。

echo $(ASSEMBLY)

上記のコマンドの前に、それらの出力が異なるマシンで異なるかどうかを確認してください。

于 2013-01-02T08:58:54.790 に答える