Message ID | 20220825072103.641291-1-raj.khem@gmail.com |
---|---|
State | Accepted, archived |
Commit | 504eb0ff1cae200ee85ec18ebae564cae9bf9c8c |
Headers | show |
Series | apr: Cache configure tests which use AC_TRY_RUN | expand |
Hi Khem, On Thu, 25 Aug 2022 00:21:03 -0700 "Khem Raj" <raj.khem@gmail.com> wrote: > AC_TRY_RUN macro means the test needs to run to find the result and we > are cross compiling so this will always get wrong results, this results > in miscompiling apache2 on musl because it disables rlimit > (ac_cv_struct_rlimit) wrongly. > > All these variables are determined with AC_TRY_RUN checks > > Signed-off-by: Khem Raj <raj.khem@gmail.com> There are several failures with this patch applied: | locks/unix/proc_mutex.c: In function 'proc_mutex_choose_method': | locks/unix/proc_mutex.c:1494:28: error: 'mutex_proc_pthread_methods' undeclared (first use in this function); did you mean 'mutex_posixsem_methods'? | 1494 | new_mutex->meth = &mutex_proc_pthread_methods; | | ^~~~~~~~~~~~~~~~~~~~~~~~~~ | | mutex_posixsem_methods and other undeclared mutex-related symbols. https://autobuilder.yoctoproject.org/typhoon/#/builders/117/builds/1446/steps/12/logs/stdio https://autobuilder.yoctoproject.org/typhoon/#/builders/82/builds/3720/steps/11/logs/stdio https://autobuilder.yoctoproject.org/typhoon/#/builders/37/builds/5767/steps/11/logs/stdio
On Thu, Aug 25, 2022 at 1:35 PM Luca Ceresoli <luca.ceresoli@bootlin.com> wrote: > > Hi Khem, > > On Thu, 25 Aug 2022 00:21:03 -0700 > "Khem Raj" <raj.khem@gmail.com> wrote: > > > AC_TRY_RUN macro means the test needs to run to find the result and we > > are cross compiling so this will always get wrong results, this results > > in miscompiling apache2 on musl because it disables rlimit > > (ac_cv_struct_rlimit) wrongly. > > > > All these variables are determined with AC_TRY_RUN checks > > > > Signed-off-by: Khem Raj <raj.khem@gmail.com> > > There are several failures with this patch applied: > > | locks/unix/proc_mutex.c: In function 'proc_mutex_choose_method': > | locks/unix/proc_mutex.c:1494:28: error: 'mutex_proc_pthread_methods' undeclared (first use in this function); did you mean 'mutex_posixsem_methods'? > | 1494 | new_mutex->meth = &mutex_proc_pthread_methods; > | | ^~~~~~~~~~~~~~~~~~~~~~~~~~ > | | mutex_posixsem_methods > > and other undeclared mutex-related symbols. > > https://autobuilder.yoctoproject.org/typhoon/#/builders/117/builds/1446/steps/12/logs/stdio > https://autobuilder.yoctoproject.org/typhoon/#/builders/82/builds/3720/steps/11/logs/stdio > https://autobuilder.yoctoproject.org/typhoon/#/builders/37/builds/5767/steps/11/logs/stdio > Yeah, I will take a look and perhaps trim the list to minimum what we need for apache2 > -- > Luca Ceresoli, Bootlin > Embedded Linux and Kernel engineering > https://bootlin.com
diff --git a/meta/recipes-support/apr/apr_1.7.0.bb b/meta/recipes-support/apr/apr_1.7.0.bb index 07bf61545e..1fbdeddeb2 100644 --- a/meta/recipes-support/apr/apr_1.7.0.bb +++ b/meta/recipes-support/apr/apr_1.7.0.bb @@ -37,6 +37,15 @@ OE_BINCONFIG_EXTRA_MANGLE = " -e 's:location=source:location=installed:'" # Added to fix some issues with cmake. Refer to https://github.com/bmwcarit/meta-ros/issues/68#issuecomment-19896928 CACHED_CONFIGUREVARS += "apr_cv_mutex_recursive=yes" +# Enable largefile +CACHED_CONFIGUREVARS += "apr_cv_use_lfs64=yes" +# Additional AC_TRY_RUN tests which will need to be cached for cross compile +CACHED_CONFIGUREVARS += "apr_cv_epoll=yes epoll_create1=yes apr_cv_sock_cloexec=yes ac_cv_struct_rlimit=yes \ + ac_cv_func_sem_open=yes apr_cv_process_shared_works=yes \ + ac_cv_func_pthread_mutexattr_setpshared=yes" +# robust mutexes exist on glibc but not musl +CACHED_CONFIGUREVARS:append:libc-musl = " apr_cv_mutex_robust_shared=no" +CACHED_CONFIGUREVARS:append:libc-glibc = " apr_cv_mutex_robust_shared=yes" # Also suppress trying to use sctp. #
AC_TRY_RUN macro means the test needs to run to find the result and we are cross compiling so this will always get wrong results, this results in miscompiling apache2 on musl because it disables rlimit (ac_cv_struct_rlimit) wrongly. All these variables are determined with AC_TRY_RUN checks Signed-off-by: Khem Raj <raj.khem@gmail.com> --- meta/recipes-support/apr/apr_1.7.0.bb | 9 +++++++++ 1 file changed, 9 insertions(+)