On Wed, 23 May 2012 11:35:49 -0300
Luiz Capitulino <lcapitul...@redhat.com> wrote:

> > Maybe we need a patch to declare environ for openbsd
> 
> Yes, I have the patch already but am installing openbsd on a VM to test it.

I'm getting lots of make errors on openbsd 4.9:

"Makefile", line 7: Missing dependency operator
"/root/qemu.a/rules.mak", line 20: Missing dependency operator
"/root/qemu.a/rules.mak", line 23: Need an operator
"/root/qemu.a/rules.mak", line 26: Need an operator
"Makefile", line 15: Need an operator
"Makefile", line 19: Need an operator
"Makefile", line 22: Missing dependency operator
"Makefile", line 24: Need an operator
Bad modifier: $(SRC_PATH)/hw)

Bad modifier: $(SRC_PATH)/hw)

"Makefile", line 36: Need an operator

Anyone knows what I did wrong? Or, if anybody could test the attached fix...
>From 4a3f4cff8aa27fe3810d621d20bf90f18ca8e2d5 Mon Sep 17 00:00:00 2001
From: Luiz Capitulino <lcapitul...@redhat.com>
Date: Wed, 23 May 2012 11:33:51 -0300
Subject: [PATCH] qemu-ga: Fix missing environ declarion

Commit 3674838cd05268954bb6473239cd7f700a79bf0f uses the environ
global variable, but is relying on it to be declared somewhere else.

This works for Linux because _GNU_SOURCE declares it, but it brakes
for system where _GNU_SOURCE is not declared, such as OpenBSD.

Fix it by declaring environ when _GNU_SOURCE is not defined.

Signed-off-by: Luiz Capitulino <lcapitul...@redhat.com>
---
 qga/commands-posix.c |    5 +++++
 1 file changed, 5 insertions(+)

diff --git a/qga/commands-posix.c b/qga/commands-posix.c
index 7664be1..304ffa8 100644
--- a/qga/commands-posix.c
+++ b/qga/commands-posix.c
@@ -12,6 +12,7 @@
  */
 
 #include <glib.h>
+#include <unistd.h>
 #include <sys/types.h>
 #include <sys/ioctl.h>
 #include "qga/guest-agent-core.h"
@@ -20,6 +21,10 @@
 #include "qemu-queue.h"
 #include "host-utils.h"
 
+#ifndef _GNU_SOURCE
+extern char **environ;
+#endif
+
 #if defined(__linux__)
 #include <mntent.h>
 #include <linux/fs.h>
-- 
1.7.9.2.384.g4a92a

Reply via email to