Armadilloフォーラム

ATDE5環境構築

kazu_2012

2014年4月16日 13時31分

現在の開発環境を別PCで構築したいと考えています。

旧PCで設定した際には、atmark-distディレクトリ階層化にlinux-3.xを配置できたのですが、新PCでは何故か認識されません。

旧PC:Win 7 pro. 32bit
    ATDE5(i386)
新PC:Win 7 pro. 64bit
    ATDE5(amd64)

同様の方法で展開したatmark-distディレクトリは認識されます。
久しく環境設定は行っていないので、初歩的なミスがあればご指摘ください。

ファイル ファイルの説明
無題.jpg
コメント

linux-3.xはカーネルのソースコードが入ったディレクトリへの
シンボリックリンクになっている必要があります。
スクリーンショトを見る限りは、linux-3.xはリンク先の無い
シンボリックリンクになっています。

lsコマンドの-lオプションでリンク先のパスを確認できます。

[ATDE ~/atmark-dist]$ ls -l linux-3.x
lrwxrwxrwx 1 atmark atmark 15  4月 16 13:55 linux-3.x -> ../linux-3.4-at

lnコマンドでlinux-3.xを作るときに
存在しないファイルをリンク先にしていないでしょうか。

その後、試してみました。
atmark@atde5:~/atmark-dist$ ln -s ../linux-3.4-at6 linux-3.x

上記ですと、認識します。

ですが
atmark@atde5:~$ ln -s linux-3.4-at6 atmark-dist/linux-3.x
こちらでは、ダメでした。
上層階からのリンク指定はできないのでしょうか

lnはシンボリックリンクを作る時に元のファイルが有るのかを確認せず、
単に与えられた引数通りのシンボリックリンクを作ります。

つまり相対パスのリンクを作るのであれば
>atmark@atde5:~$ ln -s linux-3.4-at6 atmark-dist/linux-3.x
ではなく、atmark-dist/linux-3.xから見た相対パスで作る必要があります。

atmark@atde5:~$ ln -s ../linux-3.4-at6  atmark-dist/linux-3.x

とすべきです。

コマンドを実行している階層から見て、../linux-3.4-at6は存在しないので
Tabで補完が効かず違和感がありますが、
「lnを実行した階層とは関係なく、作ろうとしているシンボリックリンク(linux-3.x)
が参照するパス(../linux-3.4-at6)を引数に与えている」という理解で良いと思います。