Openembedded Core Discussions
 help / color / mirror / Atom feed
From: Serhey Popovych <serhe.popovych@gmail.com>
To: richard.purdie@linuxfoundation.org, Andre McCurdy <armccurdy@gmail.com>
Cc: OE Core mailing list <openembedded-core@lists.openembedded.org>
Subject: Re: [PATCH 07/13] musl: Ensure GLIBC_LDSO symlink target does not exist on reinstall
Date: Mon, 17 Dec 2018 17:13:32 +0200	[thread overview]
Message-ID: <38b79c03-a77d-bb37-9dca-e59446aaaf66@gmail.com> (raw)
In-Reply-To: <dee546f2355d673d9364e591d56a09be975fd36f.camel@linuxfoundation.org>


[-- Attachment #1.1: Type: text/plain, Size: 4419 bytes --]

richard.purdie@linuxfoundation.org wrote:
> On Mon, 2018-12-17 at 11:49 +0200, Serhey Popovych wrote:
>> Richard Purdie wrote:
>>> On Fri, 2018-12-14 at 11:09 -0800, Andre McCurdy wrote:
>>>> On Fri, Dec 14, 2018 at 9:57 AM Serhey Popovych
>>>> <serhe.popovych@gmail.com> wrote:
>>>>> Otherwise do_install task will fail on rebuild.
>>>>>
>>>>> Signed-off-by: Serhey Popovych <serhe.popovych@gmail.com>
>>>>> ---
>>>>>  meta/recipes-core/musl/musl_git.bb | 2 +-
>>>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>>>>
>>>>> diff --git a/meta/recipes-core/musl/musl_git.bb b/meta/recipes-
>>>>> core/musl/musl_git.bb
>>>>> index 9cc875c..4593cde 100644
>>>>> --- a/meta/recipes-core/musl/musl_git.bb
>>>>> +++ b/meta/recipes-core/musl/musl_git.bb
>>>>> @@ -61,7 +61,7 @@ do_install() {
>>>>>         oe_runmake install DESTDIR='${D}'
>>>>>
>>>>>         install -d ${D}${bindir}
>>>>> -       rm -f ${D}${bindir}/ldd
>>>>> +       rm -f ${D}${bindir}/ldd ${D}${GLIBC_LDSO}
>>>>
>>>> The correct fix here is actually to remove this line entirely.
>>>> The
>>>> official ruling is that there should be no expectation that re-
>>>> running do_install should work and patches to make it work are
>>>> not
>>>> acceptable.
>>>>
>>>>   
>>>> http://lists.openembedded.org/pipermail/openembedded-core/2018-September/273723.html
>>>
>>> Lets be clear, re-running the do_install task *is* supported and
>>> works
>>> today. It is actually meant to work when re-run. do_install clears
>>> out
>>> ${D} at its start so we can assume in do_install functions that it
>>> is
>>> empty at the start of the function.
>>
>> It seems do_install does not clear ${D} or I do something wrong:
>>
>> $ bitbake core-image-sato
>> <success>
>>
>> <Adjust gcc/musl recipe and then run>
>>
>> $ bitbake core-image-sato
>>
>> ...
>> /image/usr/lib64/libc.so
>> /home/serhe/devel/git/openembedded-core/build/tmp-
>> musl/work/ppc64p8le-oe-linux-musl/musl/1.1.20+gitAUTOINC+39ef612aa1-
>> r0/image/lib64/ld-musl-powerpc64le.so.1
>>>> true
>>> Traceback (most recent call last):
>>>   File "/home/serhe/devel/git/openembedded-core/scripts/lnr", line
>>> 21,
>> in <module>
>>>     os.symlink(target, linkname)
>>> FileExistsError: [Errno 17] File exists: 'image/usr/lib64/libc.so'
>>> ->
>> '/home/serhe/devel/git/openembedded-core/build/tmp-
>> musl/work/ppc64p8le-oe-linux-musl/musl/1.1.20+gitAUTOINC+39ef612aa1-
>> r0/imageNone'
>>> WARNING:
>> /home/serhe/devel/git/openembedded-core/build/tmp-
>> musl/work/ppc64p8le-oe-linux-musl/musl/1.1.20+gitAUTOINC+39ef612aa1-
>> r0/temp/run.do_install.77856:1
>> exit 1 from 'lnr
>> /home/serhe/devel/git/openembedded-core/build/tmp-
>> musl/work/ppc64p8le-oe-linux-musl/musl/1.1.20+gitAUTOINC+39ef612aa1-
>> r0/image/usr/lib64/libc.so
>> /home/serhe/devel/git/openembedded-core/build/tmp-
>> musl/work/ppc64p8le-oe-linux-musl/musl/1.1.20+gitAUTOINC+39ef612aa1-
>> r0/imageNone'
>>> ERROR: Function failed: do_install (log file is located at
>> /home/serhe/devel/git/openembedded-core/build/tmp-
>> musl/work/ppc64p8le-oe-linux-musl/musl/1.1.20+gitAUTOINC+39ef612aa1-
>> r0/temp/log.do_install.77856)
>> ERROR: Task
>> (/home/serhe/devel/git/openembedded-core/meta/recipes-
>> core/musl/musl_git.bb:do_install)
>> failed with exit code '1'
>> NOTE: Tasks Summary: Attempted 2713 tasks of which 2703 didn't need
>> to
>> be rerun and 1 failed.
>>
>> ...
>>
>>> The only problem may be if you're manually re-running the
>>> do_install
>>> script in WORKDIR/temp. If you're doing that, you have other
>>> problems
>>> like the missing fakeroot environment to handle so the non-empty
>>> directory is only one minor issue, you're missing other setup
>>> pieces as
>>> well.
>>
>> I haven't play with do_install scripts in WORKDIR/temp. Only
>> do_configure and do_build. But anyway thank for pointing for
>> potential
>> problems.
> 
> I just tried "bitbake musl", then "bitbake musl -c install -f" which
> should have reproduced the above but it worked fine. Admittedly I was
> using MACHINE=qemux86-64. Do those two steps break for you?

Tried for ppc: issue above not reproducible. It seems I ran into
unsupported configuration somehow. Sorry for noise.

> 
> Something isn't adding up here and I'd like to get to the bottom of
> it...
> 
> Cheers,
> 
> Richard
> 
> 
> 
> 



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 501 bytes --]

  reply	other threads:[~2018-12-17 15:13 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-14 17:54 [PATCH 00/13] powerpc/powerpc64: Support build with musl as libc Serhey Popovych
2018-12-14 17:54 ` [PATCH 01/13] lib/oe/elf.py: Add powerpc64 architecture definition for musl Serhey Popovych
2018-12-14 17:54 ` [PATCH 02/13] tune-power[5-7].inc: Fix DEFAULTTUNE values Serhey Popovych
2018-12-14 17:54 ` [PATCH 03/13] tune-power[5-7].inc: Disable QEMU usermode usage Serhey Popovych
2018-12-14 17:54 ` [PATCH 04/13] qemuwrapper: Explicitly exit in case of no qemu supported for target Serhey Popovych
2018-12-14 17:54 ` [PATCH 05/13] arch-powerpc64.inc: Use elfv2 ABI when building with musl Serhey Popovych
2018-12-14 23:36   ` Khem Raj
2018-12-17  9:36     ` Serhey Popovych
2018-12-17 10:26       ` Richard Purdie
2018-12-14 17:54 ` [PATCH 06/13] musl: Create default library search path based on configuration Serhey Popovych
2018-12-14 23:40   ` Khem Raj
2018-12-17  9:37     ` Serhey Popovych
2018-12-14 17:54 ` [PATCH 07/13] musl: Ensure GLIBC_LDSO symlink target does not exist on reinstall Serhey Popovych
2018-12-14 19:09   ` Andre McCurdy
2018-12-15 11:00     ` Richard Purdie
2018-12-17  9:49       ` Serhey Popovych
2018-12-17 10:44         ` richard.purdie
2018-12-17 15:13           ` Serhey Popovych [this message]
2018-12-14 17:54 ` [PATCH 08/13] openssl: Skip assembler optimized code for powerpc64 with musl Serhey Popovych
2018-12-14 17:54 ` [PATCH 09/13] python3: Fix do_configure check platform triplet error (2) Serhey Popovych
2018-12-14 17:54 ` [PATCH 10/13] gcc: Fix preprocessor redefines for header pathes Serhey Popovych
2018-12-14 17:54 ` [PATCH 11/13] gcc: More places to patch to disable ldbl 128 for musl on PPC Serhey Popovych
2018-12-14 23:44   ` Khem Raj
2018-12-15 12:06     ` Richard Purdie
2018-12-14 17:54 ` [PATCH 12/13] gcc: Enable secureplt for powerpc64 target too Serhey Popovych
2018-12-14 17:54 ` [PATCH 13/13] gcc-7.3, gcc-8.2: Use variable SYSTEMLIBS_DIR instead of hardcoding it for ppc64 Serhey Popovych
2018-12-14 23:46 ` [PATCH 00/13] powerpc/powerpc64: Support build with musl as libc Khem Raj
2018-12-17  9:56   ` Serhey Popovych

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=38b79c03-a77d-bb37-9dca-e59446aaaf66@gmail.com \
    --to=serhe.popovych@gmail.com \
    --cc=armccurdy@gmail.com \
    --cc=openembedded-core@lists.openembedded.org \
    --cc=richard.purdie@linuxfoundation.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox