Message ID | 20240805104921.4035256-1-hi@alyssa.is (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | target/hexagon: don't look for static glib | expand |
Queued, thanks. Paolo
Alyssa Ross <hi@alyssa.is> writes: > When cross compiling QEMU configured with --static, I've been getting > configure errors like the following: > > Build-time dependency glib-2.0 found: NO > > ../target/hexagon/meson.build:303:15: ERROR: Dependency lookup for glib-2.0 with method 'pkgconfig' failed: Could not generate libs for glib-2.0: > Package libpcre2-8 was not found in the pkg-config search path. > Perhaps you should add the directory containing `libpcre2-8.pc' > to the PKG_CONFIG_PATH environment variable > Package 'libpcre2-8', required by 'glib-2.0', not found > > This happens because --static sets the prefer_static Meson option, but > my build machine doesn't have a static libpcre2. I don't think it > makes sense to insist that native dependencies are static, just > because I want the non-native QEMU binaries to be static. Makes sense: Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
On 8/5/2024 5:49 AM, Alyssa Ross wrote: > When cross compiling QEMU configured with --static, I've been getting > configure errors like the following: > > Build-time dependency glib-2.0 found: NO > > ../target/hexagon/meson.build:303:15: ERROR: Dependency lookup for glib-2.0 with method 'pkgconfig' failed: Could not generate libs for glib-2.0: > Package libpcre2-8 was not found in the pkg-config search path. > Perhaps you should add the directory containing `libpcre2-8.pc' > to the PKG_CONFIG_PATH environment variable > Package 'libpcre2-8', required by 'glib-2.0', not found > > This happens because --static sets the prefer_static Meson option, but > my build machine doesn't have a static libpcre2. I don't think it > makes sense to insist that native dependencies are static, just > because I want the non-native QEMU binaries to be static. > > Signed-off-by: Alyssa Ross <hi@alyssa.is> > --- Thanks for the patch, Alyssa - I'll give it a try. > target/hexagon/meson.build | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/target/hexagon/meson.build b/target/hexagon/meson.build > index b0b253aa6b..9ea1f4fc59 100644 > --- a/target/hexagon/meson.build > +++ b/target/hexagon/meson.build > @@ -300,7 +300,7 @@ if idef_parser_enabled and 'hexagon-linux-user' in target_dirs > arguments: ['@INPUT@', '--defines=@OUTPUT1@', '--output=@OUTPUT0@'] > ) > > - glib_dep = dependency('glib-2.0', native: true) > + glib_dep = dependency('glib-2.0', native: true, static: false) > > idef_parser = executable( > 'idef-parser', > > base-commit: f9851d2ffef59b3a7f39513469263ab3b019480f
On 8/5/2024 8:57 AM, Brian Cain wrote: > > On 8/5/2024 5:49 AM, Alyssa Ross wrote: >> When cross compiling QEMU configured with --static, I've been getting >> configure errors like the following: >> >> Build-time dependency glib-2.0 found: NO >> >> ../target/hexagon/meson.build:303:15: ERROR: Dependency lookup >> for glib-2.0 with method 'pkgconfig' failed: Could not generate libs >> for glib-2.0: >> Package libpcre2-8 was not found in the pkg-config search path. >> Perhaps you should add the directory containing `libpcre2-8.pc' >> to the PKG_CONFIG_PATH environment variable >> Package 'libpcre2-8', required by 'glib-2.0', not found >> >> This happens because --static sets the prefer_static Meson option, but >> my build machine doesn't have a static libpcre2. I don't think it >> makes sense to insist that native dependencies are static, just >> because I want the non-native QEMU binaries to be static. >> >> Signed-off-by: Alyssa Ross <hi@alyssa.is> >> --- > > Thanks for the patch, Alyssa - I'll give it a try. > Hmm - ok, I misunderstood the intent of the change because I didn't read the commit message too carefully. I understand the goal now. This seems appropriate in most situations, and I guess configure doesn't have a way to distinguish between whether host tools should be static or not. So it LGTM. Anton, Alessandro -- thoughts? > >> target/hexagon/meson.build | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/target/hexagon/meson.build b/target/hexagon/meson.build >> index b0b253aa6b..9ea1f4fc59 100644 >> --- a/target/hexagon/meson.build >> +++ b/target/hexagon/meson.build >> @@ -300,7 +300,7 @@ if idef_parser_enabled and 'hexagon-linux-user' >> in target_dirs >> arguments: ['@INPUT@', '--defines=@OUTPUT1@', >> '--output=@OUTPUT0@'] >> ) >> - glib_dep = dependency('glib-2.0', native: true) >> + glib_dep = dependency('glib-2.0', native: true, static: false) >> idef_parser = executable( >> 'idef-parser', >> >> base-commit: f9851d2ffef59b3a7f39513469263ab3b019480f >
On 05/08/24, Brian Cain wrote: > > On 8/5/2024 8:57 AM, Brian Cain wrote: > > > > On 8/5/2024 5:49 AM, Alyssa Ross wrote: > > > When cross compiling QEMU configured with --static, I've been getting > > > configure errors like the following: > > > > > > Build-time dependency glib-2.0 found: NO > > > > > > ../target/hexagon/meson.build:303:15: ERROR: Dependency lookup > > > for glib-2.0 with method 'pkgconfig' failed: Could not generate libs > > > for glib-2.0: > > > Package libpcre2-8 was not found in the pkg-config search path. > > > Perhaps you should add the directory containing `libpcre2-8.pc' > > > to the PKG_CONFIG_PATH environment variable > > > Package 'libpcre2-8', required by 'glib-2.0', not found > > > > > > This happens because --static sets the prefer_static Meson option, but > > > my build machine doesn't have a static libpcre2. I don't think it > > > makes sense to insist that native dependencies are static, just > > > because I want the non-native QEMU binaries to be static. > > > > > > Signed-off-by: Alyssa Ross <hi@alyssa.is> > > > --- > > > > Thanks for the patch, Alyssa - I'll give it a try. > > > Hmm - ok, I misunderstood the intent of the change because I didn't read the > commit message too carefully. I understand the goal now. > > This seems appropriate in most situations, and I guess configure doesn't > have a way to distinguish between whether host tools should be static or > not. So it LGTM. > > Anton, Alessandro -- thoughts? This makes sense, and assuming glib2 is shared seems more sensible. We might get the inverse problem where a static glib2 would not be found. I'm a bit surprised meson wouldn't fallback on trying to find a shared version of glib2 when prefer_static is set, hmm.
On 8/5/2024 5:49 AM, Alyssa Ross wrote: > When cross compiling QEMU configured with --static, I've been getting > configure errors like the following: > > Build-time dependency glib-2.0 found: NO > > ../target/hexagon/meson.build:303:15: ERROR: Dependency lookup for glib-2.0 with method 'pkgconfig' failed: Could not generate libs for glib-2.0: > Package libpcre2-8 was not found in the pkg-config search path. > Perhaps you should add the directory containing `libpcre2-8.pc' > to the PKG_CONFIG_PATH environment variable > Package 'libpcre2-8', required by 'glib-2.0', not found > > This happens because --static sets the prefer_static Meson option, but > my build machine doesn't have a static libpcre2. I don't think it > makes sense to insist that native dependencies are static, just > because I want the non-native QEMU binaries to be static. > > Signed-off-by: Alyssa Ross <hi@alyssa.is> > --- Reviewed-by: Brian Cain <bcain@quicinc.com> > target/hexagon/meson.build | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/target/hexagon/meson.build b/target/hexagon/meson.build > index b0b253aa6b..9ea1f4fc59 100644 > --- a/target/hexagon/meson.build > +++ b/target/hexagon/meson.build > @@ -300,7 +300,7 @@ if idef_parser_enabled and 'hexagon-linux-user' in target_dirs > arguments: ['@INPUT@', '--defines=@OUTPUT1@', '--output=@OUTPUT0@'] > ) > > - glib_dep = dependency('glib-2.0', native: true) > + glib_dep = dependency('glib-2.0', native: true, static: false) > > idef_parser = executable( > 'idef-parser', > > base-commit: f9851d2ffef59b3a7f39513469263ab3b019480f
diff --git a/target/hexagon/meson.build b/target/hexagon/meson.build index b0b253aa6b..9ea1f4fc59 100644 --- a/target/hexagon/meson.build +++ b/target/hexagon/meson.build @@ -300,7 +300,7 @@ if idef_parser_enabled and 'hexagon-linux-user' in target_dirs arguments: ['@INPUT@', '--defines=@OUTPUT1@', '--output=@OUTPUT0@'] ) - glib_dep = dependency('glib-2.0', native: true) + glib_dep = dependency('glib-2.0', native: true, static: false) idef_parser = executable( 'idef-parser',
When cross compiling QEMU configured with --static, I've been getting configure errors like the following: Build-time dependency glib-2.0 found: NO ../target/hexagon/meson.build:303:15: ERROR: Dependency lookup for glib-2.0 with method 'pkgconfig' failed: Could not generate libs for glib-2.0: Package libpcre2-8 was not found in the pkg-config search path. Perhaps you should add the directory containing `libpcre2-8.pc' to the PKG_CONFIG_PATH environment variable Package 'libpcre2-8', required by 'glib-2.0', not found This happens because --static sets the prefer_static Meson option, but my build machine doesn't have a static libpcre2. I don't think it makes sense to insist that native dependencies are static, just because I want the non-native QEMU binaries to be static. Signed-off-by: Alyssa Ross <hi@alyssa.is> --- target/hexagon/meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) base-commit: f9851d2ffef59b3a7f39513469263ab3b019480f