Message ID | 20250603161135.1013947-2-raj.khem@gmail.com |
---|---|
State | New |
Headers | show |
Series | [v5,1/2] bluez: Disable invalid-pp-token warning with clang | expand |
On 3 Jun 2025, at 17:11, Khem Raj via lists.openembedded.org <raj.khem=gmail.com@lists.openembedded.org> wrote: > > Sent a patch upstream to add RANLIB for linux [2] > > [1] https://gitlab.eclipse.org/eclipse/tcf/tcf.agent/-/blob/master/agent/Makefile?ref_type=heads#L53 > [2] https://gitlab.eclipse.org/eclipse/tcf/tcf.agent/-/merge_requests/7 As you’ve sent a patch, can we apply that (which will disappear when its merged) instead of an assignment in the recipe that will possibly be forgotten about and left forever? Ross
On Thu, Jun 5, 2025 at 6:45 AM Ross Burton <Ross.Burton@arm.com> wrote: > > On 3 Jun 2025, at 17:11, Khem Raj via lists.openembedded.org <raj.khem=gmail.com@lists.openembedded.org> wrote: > > > > Sent a patch upstream to add RANLIB for linux [2] > > > > [1] https://gitlab.eclipse.org/eclipse/tcf/tcf.agent/-/blob/master/agent/Makefile?ref_type=heads#L53 > > [2] https://gitlab.eclipse.org/eclipse/tcf/tcf.agent/-/merge_requests/7 > > As you’ve sent a patch, can we apply that (which will disappear when its merged) instead of an assignment in the recipe that will possibly be forgotten about and left forever? That patch will not fix our problem because we override RANLIB in OE, the patch bring default RANLIB to work on linux platforms like others. e.g. if we did not override RANLIB then the patches won't be needed but we do. Maybe one option is to undefine RANLIB in OE build environment for this recipe and apply the patch in this case it will work, but we will not be enforcing our toolchain policy anymore for this recipe. > > Ross
diff --git a/meta/recipes-devtools/tcf-agent/tcf-agent_git.bb b/meta/recipes-devtools/tcf-agent/tcf-agent_git.bb index 235936288ba..0aea4b88505 100644 --- a/meta/recipes-devtools/tcf-agent/tcf-agent_git.bb +++ b/meta/recipes-devtools/tcf-agent/tcf-agent_git.bb @@ -51,6 +51,12 @@ CFLAGS:append:riscv64 = " ${LCL_STOP_SERVICES}" CFLAGS:append:riscv32 = " ${LCL_STOP_SERVICES}" CFLAGS:append:loongarch64 = " ${LCL_STOP_SERVICES}" +# This works with gcc-ranlib wrapper only because it exists without error if nothing +# is passed as argument but binutils ranlib and llvm ranlib do not and expect an input +# passing $@ ensures that Makefile default target which is the archive name in tcf makefiles +# is passed to RANLIB, ensures that whichever ranlib is used, the behavior is identical +RANLIB:append = " $@" + do_install() { oe_runmake install INSTALLROOT=${D} install -d ${D}${sysconfdir}/init.d/
tcf-agent calls RANLIB ( if defined ) after calling AR to create the archive [1], when RANLIB is set to gcc-ranlib this goes unnoticed, since calling gcc-ranlib without any arguments silenlty does nothing and exits with return code 0, however, calling binutils ranlib or llvm-ranlib does demand library name as commandline option and since it is not there it exits with code 1 aarch64-poky-linux-musl-llvm-ranlib OVERVIEW: LLVM ranlib Generate an index for archives USAGE: aarch64-poky-linux-musl-llvm-ranlib archive... OPTIONS: -h --help - Display available options -V --version - Display the version of this program -D - Use zero for timestamps and uids/gids (default) -U - Use actual timestamps and uids/gids -X{32|64|32_64|any} - Specify which archive symbol tables should be generated if they do not already exist (AIX OS only) aarch64-poky-linux-musl-llvm-ranlib: error: an archive name must be specified make: *** [Makefile:53: obj/GNU/Linux/a64/Debug/libtcf.a] Error 1 When we add $@, to RANLIB then it becomes the make variable, $@ - An automatic Makefile variable that expands to the target name (the file being built) so the makefile target now rightly adds the .a filename to RANLIB call. Sent a patch upstream to add RANLIB for linux [2] [1] https://gitlab.eclipse.org/eclipse/tcf/tcf.agent/-/blob/master/agent/Makefile?ref_type=heads#L53 [2] https://gitlab.eclipse.org/eclipse/tcf/tcf.agent/-/merge_requests/7 Signed-off-by: Khem Raj <raj.khem@gmail.com> --- v5: Rebase meta/recipes-devtools/tcf-agent/tcf-agent_git.bb | 6 ++++++ 1 file changed, 6 insertions(+)