From: Mark Hatle <mark.hatle@windriver.com>
To: <openembedded-core@lists.openembedded.org>
Subject: Re: Problem building core-image-basic: Cannot create symlink from ./var/run to 'volatile/run'
Date: Wed, 15 Feb 2012 16:36:27 -0800 [thread overview]
Message-ID: <4F3C4F8B.30706@windriver.com> (raw)
In-Reply-To: <CA+b4E8wdD1bQN77Sg=ew+-AbHtyrn4N87Ud6+BwCFdW56BO_kQ@mail.gmail.com>
On 2/15/12 3:21 PM, Brandon Stafford wrote:
> Hi all,
>
> In trying to build core-image-basic for qemuarm, I ran into an error:
> extract_archive: Cannot create symlink from ./var/run to 'volatile/run': File
> exists.
>
> (The full error message is posted here: http://pastebin.com/QPic3uHx )
>
> Though this seems very similar to a post from a few months ago, I am not sure
> how to go about debugging it:
> http://lists.linuxtogo.org/pipermail/openembedded-devel/2011-October/035409.html
>
> Can other folks build core-image-basic successfully? Any suggestions about how
> to determine which recipe is attempting to make the symlink?
>
> From what I can tell, the culprits could be meta/files/fs-perms.txt or
> meta/recipes-core/base-files/base-files_3.0.14.bb <http://base-files_3.0.14.bb>,
> but I'm not sure where to go from there. If it helps, I am able to build
> core-image-minimal successfully.
The issue is most likely that something created the directory of "/var/run", and
then the later base-files attempted to create the symlink which caused the failure.
i.e. package foo created something like:
/var/run/foo
and then base-files attempts:
ln -s var/run volatile/run
and then you see the failure.
The fs-perm.txt file is supposed to prevent this situation from happening.
During the package generation, fs-perms should be checking that a directory
/var/run was never generated, and if it was, should be moving the files to
volatine/run.
fs-perms is used by package.bbclass, the "fixup_perms" function does the
expected changes.
In order to debug this, I'd first figure out which package has a /var/run
directory in it, and then verify that it's reproducible by rebuilding that
package. (Hopefully it is!)
I'd then suggest that you go through that function and remove the commend from
the "bb.note" calls. This should give you a clue if the fixup code is running
and what it's trying to do.
This is the code that -should- be doing the fixup:
# Create path to move directory to, move it, and then setup the$
bb.mkdirhier(os.path.dirname(target))
#bb.note("Fixup Perms: Rename %s -> %s" % (dir, ptarget))
os.rename(origin, target)
#bb.note("Fixup Perms: Link %s -> %s" % (dir, link))
os.symlink(link, origin)
I hope this helps figure out what went wrong.
--Mark
> Thanks,
> Brandon
>
> --
> Brandon Stafford
> Rascal Micro: small computers for art and science
> Somerville, MA, USA
>
>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
next prev parent reply other threads:[~2012-02-16 0:44 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-02-15 23:21 Problem building core-image-basic: Cannot create symlink from ./var/run to 'volatile/run' Brandon Stafford
2012-02-16 0:36 ` Mark Hatle [this message]
2012-02-16 21:21 ` Brandon Stafford
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4F3C4F8B.30706@windriver.com \
--to=mark.hatle@windriver.com \
--cc=openembedded-core@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.