QA@IT
«回答へ戻る

760
 **dpkg cannot find ldconfig/start-stop-daemon in the PATH variable**
 
 [http://unix.stackexchange.com/questions/160019/dpkg-cannot-find-ldconfig-start-stop-daemon-in-the-path-variable](http://unix.stackexchange.com/questions/160019/dpkg-cannot-find-ldconfig-start-stop-daemon-in-the-path-variable)
+
+**追記(2015/10/29)**
+
+試しにこっちでもXilinxのサイトからPetaLinuxをダウンロードしてマニュアルを見ながら一通りのことをやってみたのですが、特に問題ないようです。ビルドも別に問題ないようです。テストは実機がないのでQEMUの方だけ行ないました。ただCentOSでやったので、dpkgの問題が再現するかは見られませんでした。
+
+環境
+- CentOS 6.7 32bit
+
+試したもの
+- petalinux-v2014.2-final-installer.run
+- Xilinx-ZC702-v2014.2-final.bsp
+
+参照したマニュアル
+- Installation Guide / UG976 (v2014.2) June 3, 2014
+- Getting Started Guide / UG977 (v2014.2) June 3, 2014

2.は可能性が低いと思います。

-rwxr-xr-x 64843 300 617068 10月 25 21:58 ldconfig

からすると、otherの実行権限があるので、誰でも実行可能になっているように見えます。

たぶん1.の$PATH等の問題ではないでしょうか。他にも$PETALINUXという環境変数も必要そうです。

PetaLinuxは僕は使ったことはないのですが、「Getting Started Guide」のP.6「Environment Setup」を見ると、使っているshellがbashなら

$ source <path-to-installed-PetaLinux>/settings.sh

を実行し、使っているのがcshなら

$ source <path-to-installed-PetaLinux>/settings.csh

を実行せよとあります。注意書きに

You must run the settings script each time you open a new terminal window or shell. The PetaLinux tools will fail otherwise.

とあるので、これを毎回やらないとたぶん$PATH、$PETALINUX等が設定されないのだろうと思います。

追記

PetaLinuxをよく知らないのですが、たぶんホストOS環境とターゲットOS環境とがあるんじゃないかと思います。

finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'

これは既存の$PATHの末尾に/sbinを追加して、ホストOS環境のldconfig(通常は/sbin/ldconfig)を使おうとしているように見えます。

./build/linux/rootfs/stage/sbin/ldconfig
./build/linux/rootfs/packages-repo/targetroot/sbin/ldconfig
./build/linux/rootfs/targetroot/sbin/ldconfig

他方、これらはターゲットOS環境用に生成されたldconfigのように見えます。普通に考えると、これらは$PATHに入っている必要はなさそうに思えますね。

最初に$PATHに/sbinが入っていることからすると、なぜ/sbin/ldconfigが見つからないのかという点が疑問ですよね。そこは僕も分かりませんが、推測だけでいうと、例えばsudoなんかを使っていると、そういうこともありうるとは思います。

PetaLinuxとは直接関係ありませんが、より一般的な話だとしたら、下のページなども参考になるかもしれません。

dpkg cannot find ldconfig/start-stop-daemon in the PATH variable

http://unix.stackexchange.com/questions/160019/dpkg-cannot-find-ldconfig-start-stop-daemon-in-the-path-variable

追記(2015/10/29)

試しにこっちでもXilinxのサイトからPetaLinuxをダウンロードしてマニュアルを見ながら一通りのことをやってみたのですが、特に問題ないようです。ビルドも別に問題ないようです。テストは実機がないのでQEMUの方だけ行ないました。ただCentOSでやったので、dpkgの問題が再現するかは見られませんでした。

環境

  • CentOS 6.7 32bit

試したもの

  • petalinux-v2014.2-final-installer.run
  • Xilinx-ZC702-v2014.2-final.bsp

参照したマニュアル

  • Installation Guide / UG976 (v2014.2) June 3, 2014
  • Getting Started Guide / UG977 (v2014.2) June 3, 2014
2.は可能性が低いと思います。

> -rwxr-xr-x 64843 300 617068 10月 25 21:58 ldconfig

からすると、otherの実行権限があるので、誰でも実行可能になっているように見えます。

たぶん1.の$PATH等の問題ではないでしょうか。他にも$PETALINUXという環境変数も必要そうです。

PetaLinuxは僕は使ったことはないのですが、「Getting Started Guide」のP.6「Environment Setup」を見ると、使っているshellがbashなら

```sh
$ source <path-to-installed-PetaLinux>/settings.sh
```

を実行し、使っているのがcshなら

```sh
$ source <path-to-installed-PetaLinux>/settings.csh
```

を実行せよとあります。注意書きに

> You must run the settings script each time you open a new terminal window or shell. The PetaLinux tools will fail otherwise.

とあるので、これを毎回やらないとたぶん$PATH、$PETALINUX等が設定されないのだろうと思います。

**追記**

PetaLinuxをよく知らないのですが、たぶんホストOS環境とターゲットOS環境とがあるんじゃないかと思います。

```sh
finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
```

これは既存の$PATHの末尾に/sbinを追加して、ホストOS環境のldconfig(通常は/sbin/ldconfig)を使おうとしているように見えます。

```
./build/linux/rootfs/stage/sbin/ldconfig
./build/linux/rootfs/packages-repo/targetroot/sbin/ldconfig
./build/linux/rootfs/targetroot/sbin/ldconfig
```

他方、これらはターゲットOS環境用に生成されたldconfigのように見えます。普通に考えると、これらは$PATHに入っている必要はなさそうに思えますね。

最初に$PATHに/sbinが入っていることからすると、なぜ/sbin/ldconfigが見つからないのかという点が疑問ですよね。そこは僕も分かりませんが、推測だけでいうと、例えばsudoなんかを使っていると、そういうこともありうるとは思います。

PetaLinuxとは直接関係ありませんが、より一般的な話だとしたら、下のページなども参考になるかもしれません。

**dpkg cannot find ldconfig/start-stop-daemon in the PATH variable**

[http://unix.stackexchange.com/questions/160019/dpkg-cannot-find-ldconfig-start-stop-daemon-in-the-path-variable](http://unix.stackexchange.com/questions/160019/dpkg-cannot-find-ldconfig-start-stop-daemon-in-the-path-variable)

**追記(2015/10/29)**

試しにこっちでもXilinxのサイトからPetaLinuxをダウンロードしてマニュアルを見ながら一通りのことをやってみたのですが、特に問題ないようです。ビルドも別に問題ないようです。テストは実機がないのでQEMUの方だけ行ないました。ただCentOSでやったので、dpkgの問題が再現するかは見られませんでした。

環境
- CentOS 6.7 32bit

試したもの
- petalinux-v2014.2-final-installer.run
- Xilinx-ZC702-v2014.2-final.bsp

参照したマニュアル
- Installation Guide / UG976 (v2014.2) June 3, 2014
- Getting Started Guide / UG977 (v2014.2) June 3, 2014

760
 > You must run the settings script each time you open a new terminal window or shell. The PetaLinux tools will fail otherwise.
 
 とあるので、これを毎回やらないとたぶん$PATH、$PETALINUX等が設定されないのだろうと思います。
+
+**追記**
+
+PetaLinuxをよく知らないのですが、たぶんホストOS環境とターゲットOS環境とがあるんじゃないかと思います。
+
+```sh
+finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+```
+
+これは既存の$PATHの末尾に/sbinを追加して、ホストOS環境のldconfig(通常は/sbin/ldconfig)を使おうとしているように見えます。
+
+```
+./build/linux/rootfs/stage/sbin/ldconfig
+./build/linux/rootfs/packages-repo/targetroot/sbin/ldconfig
+./build/linux/rootfs/targetroot/sbin/ldconfig
+```
+
+他方、これらはターゲットOS環境用に生成されたldconfigのように見えます。普通に考えると、これらは$PATHに入っている必要はなさそうに思えますね。
+
+最初に$PATHに/sbinが入っていることからすると、なぜ/sbin/ldconfigが見つからないのかという点が疑問ですよね。そこは僕も分かりませんが、推測だけでいうと、例えばsudoなんかを使っていると、そういうこともありうるとは思います。
+
+PetaLinuxとは直接関係ありませんが、より一般的な話だとしたら、下のページなども参考になるかもしれません。
+
+**dpkg cannot find ldconfig/start-stop-daemon in the PATH variable**
+
+[http://unix.stackexchange.com/questions/160019/dpkg-cannot-find-ldconfig-start-stop-daemon-in-the-path-variable](http://unix.stackexchange.com/questions/160019/dpkg-cannot-find-ldconfig-start-stop-daemon-in-the-path-variable)

2.は可能性が低いと思います。

-rwxr-xr-x 64843 300 617068 10月 25 21:58 ldconfig

からすると、otherの実行権限があるので、誰でも実行可能になっているように見えます。

たぶん1.の$PATH等の問題ではないでしょうか。他にも$PETALINUXという環境変数も必要そうです。

PetaLinuxは僕は使ったことはないのですが、「Getting Started Guide」のP.6「Environment Setup」を見ると、使っているshellがbashなら

$ source <path-to-installed-PetaLinux>/settings.sh

を実行し、使っているのがcshなら

$ source <path-to-installed-PetaLinux>/settings.csh

を実行せよとあります。注意書きに

You must run the settings script each time you open a new terminal window or shell. The PetaLinux tools will fail otherwise.

とあるので、これを毎回やらないとたぶん$PATH、$PETALINUX等が設定されないのだろうと思います。

追記

PetaLinuxをよく知らないのですが、たぶんホストOS環境とターゲットOS環境とがあるんじゃないかと思います。

finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'

これは既存の$PATHの末尾に/sbinを追加して、ホストOS環境のldconfig(通常は/sbin/ldconfig)を使おうとしているように見えます。

./build/linux/rootfs/stage/sbin/ldconfig
./build/linux/rootfs/packages-repo/targetroot/sbin/ldconfig
./build/linux/rootfs/targetroot/sbin/ldconfig

他方、これらはターゲットOS環境用に生成されたldconfigのように見えます。普通に考えると、これらは$PATHに入っている必要はなさそうに思えますね。

最初に$PATHに/sbinが入っていることからすると、なぜ/sbin/ldconfigが見つからないのかという点が疑問ですよね。そこは僕も分かりませんが、推測だけでいうと、例えばsudoなんかを使っていると、そういうこともありうるとは思います。

PetaLinuxとは直接関係ありませんが、より一般的な話だとしたら、下のページなども参考になるかもしれません。

dpkg cannot find ldconfig/start-stop-daemon in the PATH variable

http://unix.stackexchange.com/questions/160019/dpkg-cannot-find-ldconfig-start-stop-daemon-in-the-path-variable

2.は可能性が低いと思います。

> -rwxr-xr-x 64843 300 617068 10月 25 21:58 ldconfig

からすると、otherの実行権限があるので、誰でも実行可能になっているように見えます。

たぶん1.の$PATH等の問題ではないでしょうか。他にも$PETALINUXという環境変数も必要そうです。

PetaLinuxは僕は使ったことはないのですが、「Getting Started Guide」のP.6「Environment Setup」を見ると、使っているshellがbashなら

```sh
$ source <path-to-installed-PetaLinux>/settings.sh
```

を実行し、使っているのがcshなら

```sh
$ source <path-to-installed-PetaLinux>/settings.csh
```

を実行せよとあります。注意書きに

> You must run the settings script each time you open a new terminal window or shell. The PetaLinux tools will fail otherwise.

とあるので、これを毎回やらないとたぶん$PATH、$PETALINUX等が設定されないのだろうと思います。

**追記**

PetaLinuxをよく知らないのですが、たぶんホストOS環境とターゲットOS環境とがあるんじゃないかと思います。

```sh
finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
```

これは既存の$PATHの末尾に/sbinを追加して、ホストOS環境のldconfig(通常は/sbin/ldconfig)を使おうとしているように見えます。

```
./build/linux/rootfs/stage/sbin/ldconfig
./build/linux/rootfs/packages-repo/targetroot/sbin/ldconfig
./build/linux/rootfs/targetroot/sbin/ldconfig
```

他方、これらはターゲットOS環境用に生成されたldconfigのように見えます。普通に考えると、これらは$PATHに入っている必要はなさそうに思えますね。

最初に$PATHに/sbinが入っていることからすると、なぜ/sbin/ldconfigが見つからないのかという点が疑問ですよね。そこは僕も分かりませんが、推測だけでいうと、例えばsudoなんかを使っていると、そういうこともありうるとは思います。

PetaLinuxとは直接関係ありませんが、より一般的な話だとしたら、下のページなども参考になるかもしれません。

**dpkg cannot find ldconfig/start-stop-daemon in the PATH variable**

[http://unix.stackexchange.com/questions/160019/dpkg-cannot-find-ldconfig-start-stop-daemon-in-the-path-variable](http://unix.stackexchange.com/questions/160019/dpkg-cannot-find-ldconfig-start-stop-daemon-in-the-path-variable)

回答を投稿

2.は可能性が低いと思います。

-rwxr-xr-x 64843 300 617068 10月 25 21:58 ldconfig

からすると、otherの実行権限があるので、誰でも実行可能になっているように見えます。

たぶん1.の$PATH等の問題ではないでしょうか。他にも$PETALINUXという環境変数も必要そうです。

PetaLinuxは僕は使ったことはないのですが、「Getting Started Guide」のP.6「Environment Setup」を見ると、使っているshellがbashなら

$ source <path-to-installed-PetaLinux>/settings.sh

を実行し、使っているのがcshなら

$ source <path-to-installed-PetaLinux>/settings.csh

を実行せよとあります。注意書きに

You must run the settings script each time you open a new terminal window or shell. The PetaLinux tools will fail otherwise.

とあるので、これを毎回やらないとたぶん$PATH、$PETALINUX等が設定されないのだろうと思います。

2.は可能性が低いと思います。

> -rwxr-xr-x 64843 300 617068 10月 25 21:58 ldconfig

からすると、otherの実行権限があるので、誰でも実行可能になっているように見えます。

たぶん1.の$PATH等の問題ではないでしょうか。他にも$PETALINUXという環境変数も必要そうです。

PetaLinuxは僕は使ったことはないのですが、「Getting Started Guide」のP.6「Environment Setup」を見ると、使っているshellがbashなら

```sh
$ source <path-to-installed-PetaLinux>/settings.sh
```

を実行し、使っているのがcshなら

```sh
$ source <path-to-installed-PetaLinux>/settings.csh
```

を実行せよとあります。注意書きに

> You must run the settings script each time you open a new terminal window or shell. The PetaLinux tools will fail otherwise.

とあるので、これを毎回やらないとたぶん$PATH、$PETALINUX等が設定されないのだろうと思います。