Message ID | 20240919102241.178655-1-Deepthi.Hemraj@windriver.com |
---|---|
State | Rejected |
Delegated to: | Steve Sakoman |
Headers | show |
Series | [scarthgap] gcc-target.inc: Add RPROVIDES to resolve gcc-symlinks & lib32-gcc-symlinks file conflicts | expand |
On Thu, 2024-09-19 at 03:22 -0700, Hemraj, Deepthi via lists.openembedded.org wrote: > From: Deepthi Hemraj <Deepthi.Hemraj@windriver.com> > > Enabling multilib support and adding both lib32-gcc-symlinks and gcc-symlinks > to the image installation results in a conflict between > gcc-symlinks-13.3.0-r0.corei7_64 and lib32-gcc-symlinks-13.3.0-r0.corei7_32. > Following error occurs because of the conflict: > "file /usr/bin/gcc conflicts between attempted installs of gcc-symlinks-13.3.0-r0.corei7_64 and lib32-gcc-symlinks-13.3.0-r0.corei7_32" > > The conflict occurs because both packages try to install files in the same location, > causing installation errors during the build process. > > By using the RPROVIDES, gcc package can satisfy the dependencies for both `gcc-symlinks` and `lib32-gcc-symlinks`. > This prevents the conflict, while ensuring that both 32-bit and 64-bit symlink packages can co-exist. > > Signed-off-by: Deepthi Hemraj <Deepthi.Hemraj@windriver.com> > --- > meta/recipes-devtools/gcc/gcc-target.inc | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/meta/recipes-devtools/gcc/gcc-target.inc b/meta/recipes-devtools/gcc/gcc-target.inc > index 7dac3ef422..f31ea15740 100644 > --- a/meta/recipes-devtools/gcc/gcc-target.inc > +++ b/meta/recipes-devtools/gcc/gcc-target.inc > @@ -27,6 +27,7 @@ EXTRA_OECONF:append:x86-64:class-target = " ${@get_gcc_x86_64_arch_setting(bb, d > export gcc_cv_objdump = "${TARGET_PREFIX}objdump" > > EXTRA_OECONF_GCC_FLOAT = "${@get_gcc_float_setting(bb, d)}" > +RPROVIDES:${PN} += "gcc-symlinks lib32-gcc-symlinks" > > PACKAGES = "\ > ${PN} ${PN}-plugins ${PN}-symlinks \ > This isn't correct. What if my multilib was "lib64" or something else? This definitely can't be hardcoded like that. Cheers, Richard
On 2024-09-19 6:30 a.m., Richard Purdie wrote: > On Thu, 2024-09-19 at 03:22 -0700, Hemraj, Deepthi via lists.openembedded.org wrote: >> From: Deepthi Hemraj<Deepthi.Hemraj@windriver.com> >> >> Enabling multilib support and adding both lib32-gcc-symlinks and gcc-symlinks >> to the image installation results in a conflict between >> gcc-symlinks-13.3.0-r0.corei7_64 and lib32-gcc-symlinks-13.3.0-r0.corei7_32. >> Following error occurs because of the conflict: >> "file /usr/bin/gcc conflicts between attempted installs of gcc-symlinks-13.3.0-r0.corei7_64 and lib32-gcc-symlinks-13.3.0-r0.corei7_32" >> >> The conflict occurs because both packages try to install files in the same location, >> causing installation errors during the build process. >> >> By using the RPROVIDES, gcc package can satisfy the dependencies for both `gcc-symlinks` and `lib32-gcc-symlinks`. >> This prevents the conflict, while ensuring that both 32-bit and 64-bit symlink packages can co-exist. >> >> Signed-off-by: Deepthi Hemraj<Deepthi.Hemraj@windriver.com> >> --- >> meta/recipes-devtools/gcc/gcc-target.inc | 1 + >> 1 file changed, 1 insertion(+) >> >> diff --git a/meta/recipes-devtools/gcc/gcc-target.inc b/meta/recipes-devtools/gcc/gcc-target.inc >> index 7dac3ef422..f31ea15740 100644 >> --- a/meta/recipes-devtools/gcc/gcc-target.inc >> +++ b/meta/recipes-devtools/gcc/gcc-target.inc >> @@ -27,6 +27,7 @@ EXTRA_OECONF:append:x86-64:class-target = " ${@get_gcc_x86_64_arch_setting(bb, d >> export gcc_cv_objdump = "${TARGET_PREFIX}objdump" >> >> EXTRA_OECONF_GCC_FLOAT = "${@get_gcc_float_setting(bb, d)}" >> +RPROVIDES:${PN} += "gcc-symlinks lib32-gcc-symlinks" >> >> PACKAGES = "\ >> ${PN} ${PN}-plugins ${PN}-symlinks \ >> > This isn't correct. What if my multilib was "lib64" or something else? > This definitely can't be hardcoded like that. I should have caught that when Deepthi showed me the draft. Also, please submit to the master branch first, then backport to scarthgap if the commit is merged to master. ../Randy > > Cheers, > > Richard
diff --git a/meta/recipes-devtools/gcc/gcc-target.inc b/meta/recipes-devtools/gcc/gcc-target.inc index 7dac3ef422..f31ea15740 100644 --- a/meta/recipes-devtools/gcc/gcc-target.inc +++ b/meta/recipes-devtools/gcc/gcc-target.inc @@ -27,6 +27,7 @@ EXTRA_OECONF:append:x86-64:class-target = " ${@get_gcc_x86_64_arch_setting(bb, d export gcc_cv_objdump = "${TARGET_PREFIX}objdump" EXTRA_OECONF_GCC_FLOAT = "${@get_gcc_float_setting(bb, d)}" +RPROVIDES:${PN} += "gcc-symlinks lib32-gcc-symlinks" PACKAGES = "\ ${PN} ${PN}-plugins ${PN}-symlinks \