web-dev-qa-db-ja.com

buildsystem = cmakeが失敗したdh_auto_configure

cmakeビルドされたプロジェクトをランチパッドPPAに公開しようとしています。私が下に偽のビルドをしている間、エラーがスローされています。

gowtham@ubuntu:~/Packages/build-area$ pbuilder-dist xenial build base_1.1-0ubuntu1.dsc
...
...
dh_auto_configure -O--buildsystem=cmake
    mkdir -p obj-x86_64-linux-gnu
    cd obj-x86_64-linux-gnu
    cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_BUILD_TYPE=None -DCMAKE_INSTALL_SYSCONFDIR=/etc -DCMAKE_INSTALL_LOCALSTATEDIR=/var
dh_auto_configure: cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_BUILD_TYPE=None -DCMAKE_INSTALL_SYSCONFDIR=/etc -DCMAKE_INSTALL_LOCALSTATEDIR=/var failed to to execute: No such file or directory
        cd /build/base-1.1
debian/rules:11: recipe for target 'build' failed
make: *** [build] Error 2
dpkg-buildpackage: error: debian/rules build gave error exit status 2
...
...

エラーメッセージには、どのファイルが見つからないかが示されていません。私のプロジェクトには、./configureを実行するconfigureファイルがありません。

my debian/rulesファイル

#!/usr/bin/make -f
# -*- makefile -*-

# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1

override_dh_auto_test:
override_dh_usrlocal:

%:
    dh $@ --buildsystem=cmake

手書きのMakefileを使用してライブラリを正常に公開できました。しかし、cmakeを選択した場合、問題が発生します。残念ながら、私はcmakeビルドプロジェクトをパッケージ化するための初心者向けのガイドを見つけませんでした。

私の通常のビルド手順:

cd ~/Packages/base
mkdir build
cd build
cmake ..
make
Sudo make install

パッケージングしてPPAに公開する手順

cd ~/Packages/base
bzr dh-make base 1.1 base-1.1.tar.gz
cd base/debian/
rm *ex *EX
bzr commit -m "Initial commit of Debian packaging."
bzr builddeb -- -us -uc -sd
bzr builddeb -S -- -sd
bzr tag release-1.1
cd ../../build-area
pbuilder-dist xenial build base_1.1-0ubuntu1.dsc
cd ../base 
bzr Push lp:~satyagowtham-k-gmail/+junk/base-package
cd ../build-area
dput ppa:satyagowtham-k-gmail/ferryfair.ppa base_1.1-0ubuntu1_source.changes
3
Necktwi
  • 問題を予期できなかったため、コードをダウンロードして直接試してみました。

    bzr branch lp:~satyagowtham-k-gmail/+junk/base-package
    

    パッケージングcmakeプロジェクトに関するメモを共有してくれたことにも感謝します。多くの人がそれを必要としていると確信しています。

  • このエラー:

    dh_auto_configure: cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_BUILD_TYPE=None -DCMAKE_INSTALL_SYSCONFDIR=/etc -DCMAKE_INSTALL_LOCALSTATEDIR=/var failed to to execute: No such file or directory

    ターゲットファイル../だけでなく、コマンド(cmake)が欠落している可能性があることを意味します。 Command not foundメッセージを期待していましたが、実際のコマンドはdh_auto_configureであったため間違っていました。

  • したがって、cmakeBuild-Depends:debian/controlファイル)にありませんでした。追加してからもう一度試してください。正常にビルドされるはずです。

4
user.dz