Re: recent patch breaks the build ?

Subsystems: the rest

6 messages, 5 authors, 2016-06-15 · open the first message on its own page

Re: recent patch breaks the build ?

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:42:12

Andrew Wozniak [off-list ref] writes:
Have just started using git for u-boot related development. After 
downloading git-snapshot-20051116 tarball and attempting a build under 
RH7.2, I get the following failure:
Would this help?

-- >8 --
diff --git a/http-fetch.c b/http-fetch.c
index 21cc1b9..45e97f9 100644
--- a/http-fetch.c
+++ b/http-fetch.c
@@ -902,16 +902,18 @@ static void fetch_alternates(char *base)
 	char *data;
 	struct active_request_slot *slot;
 	static struct alt_request alt_req;
-	int num_transfers;
 
+#ifdef USE_CURL_MULTI
 	/* If another request has already started fetching alternates,
 	   wait for them to arrive and return to processing this request's
 	   curl message */
 	while (got_alternates == 0) {
+		int num_transfers;
 		curl_multi_perform(curlm, &num_transfers);
 		process_curl_messages();
 		process_request_queue();
 	}
+#endif
 
 	/* Nothing to do if they've already been fetched */
 	if (got_alternates == 1)

Re: recent patch breaks the build ?

From: Andrew Wozniak <hidden>
Date: 2016-06-15 22:42:12

Yes, that suggestion worked - it is similar to other code fragments and 
ifdefs within the same file.

Unfortunately, now there are other failures:

gcc -o http-push.o -c -g -O2 -Wall -DSHA1_HEADER='<openssl/sha.h>' 
http-push.c
http-push.c: In function `start_mkcol':
http-push.c:479: `CURLOPT_HTTPGET' undeclared (first use in this function)
http-push.c:479: (Each undeclared identifier is reported only once
http-push.c:479: for each function it appears in.)
http-push.c: In function `start_move':
http-push.c:581: `CURLOPT_HTTPGET' undeclared (first use in this function)
http-push.c: In function `refresh_lock':
http-push.c:615: `CURLOPT_HTTPGET' undeclared (first use in this function)
http-push.c: In function `fetch_index':
http-push.c:890: `CURLOPT_HTTPGET' undeclared (first use in this function)
http-push.c: In function `lock_remote':
http-push.c:1215: `CURLOPT_HTTPGET' undeclared (first use in this function)
http-push.c: In function `main':

I grep'd for these defines and they are nowhere to be found!  Is some 
other package needed to resolve these undefines on my RH7.2 build host?

I'm really surprised that the unmodified tarball source fails to build. 
Just curious, is the git project rebuilt on a "nightly" basis to verify 
recent patches?

Thanks again, Andrew

Junio C Hamano wrote:
quoted hunk
Andrew Wozniak [off-list ref] writes:
quoted
Have just started using git for u-boot related development. After 
downloading git-snapshot-20051116 tarball and attempting a build under 
RH7.2, I get the following failure:
Would this help?

-- >8 --
diff --git a/http-fetch.c b/http-fetch.c
index 21cc1b9..45e97f9 100644
--- a/http-fetch.c
+++ b/http-fetch.c
@@ -902,16 +902,18 @@ static void fetch_alternates(char *base)
 	char *data;
 	struct active_request_slot *slot;
 	static struct alt_request alt_req;
-	int num_transfers;
 
+#ifdef USE_CURL_MULTI
 	/* If another request has already started fetching alternates,
 	   wait for them to arrive and return to processing this request's
 	   curl message */
 	while (got_alternates == 0) {
+		int num_transfers;
 		curl_multi_perform(curlm, &num_transfers);
 		process_curl_messages();
 		process_request_queue();
 	}
+#endif
 
 	/* Nothing to do if they've already been fetched */
 	if (got_alternates == 1)

Re: recent patch breaks the build ?

From: Andreas Ericsson <hidden>
Date: 2016-06-15 22:42:12

Andrew Wozniak wrote:
Yes, that suggestion worked - it is similar to other code fragments and 
ifdefs within the same file.

Unfortunately, now there are other failures:

gcc -o http-push.o -c -g -O2 -Wall -DSHA1_HEADER='<openssl/sha.h>' 
http-push.c
http-push.c: In function `start_mkcol':
http-push.c:479: `CURLOPT_HTTPGET' undeclared (first use in this function)
....
I grep'd for these defines and they are nowhere to be found!  Is some 
other package needed to resolve these undefines on my RH7.2 build host?
curl and curl-devel. Or you can build with

	make NO_CURL=YesPlease

which just means you won't have http and https transports available. 
This shouldn't be much of a problem on a server though.
I'm really surprised that the unmodified tarball source fails to build. 
Just curious, is the git project rebuilt on a "nightly" basis to verify 
recent patches?
I have no idea, but since it's a developer tool in pre-1.0 I think the 
general consensus is that user-friendliness in the build-process comes 
somewhere between "not so important" and "what? users? oh, those living 
in the *other* land!"

Perhaps you should try the RPM's at 
http://www.kernel.org/pub/software/scm/git-core/ ?

If nothing else it will tell you what other packages you need.

-- 
Andreas Ericsson                   andreas.ericsson@op5.se
OP5 AB                             www.op5.se
Tel: +46 8-230225                  Fax: +46 8-230231

Re: recent patch breaks the build ?

From: Nick Hengeveld <hidden>
Date: 2016-06-15 22:42:12

On Wed, Nov 16, 2005 at 02:47:56PM -0500, Andrew Wozniak wrote:
Unfortunately, now there are other failures:

gcc -o http-push.o -c -g -O2 -Wall -DSHA1_HEADER='<openssl/sha.h>'
http-push.c
http-push.c: In function `start_mkcol':
http-push.c:479: `CURLOPT_HTTPGET' undeclared (first use in this
function)
http-push requires a curl option that looks like it was added around
version 7.8.1.  If you have the option to upgrade your version of curl,
it should fix the problem.  You can also disable building http-push but
keep http-fetch by defining NO_EXPAT.

-- 
For a successful technology, reality must take precedence over public
relations, for nature cannot be fooled.

Re: recent patch breaks the build ?

From: Johannes Schindelin <hidden>
Date: 2016-06-15 22:42:12

Hi,

On Wed, 16 Nov 2005, Nick Hengeveld wrote:
On Wed, Nov 16, 2005 at 02:47:56PM -0500, Andrew Wozniak wrote:
quoted
Unfortunately, now there are other failures:

gcc -o http-push.o -c -g -O2 -Wall -DSHA1_HEADER='<openssl/sha.h>'
http-push.c
http-push.c: In function `start_mkcol':
http-push.c:479: `CURLOPT_HTTPGET' undeclared (first use in this
function)
http-push requires a curl option that looks like it was added around
version 7.8.1.  If you have the option to upgrade your version of curl,
it should fix the problem.  You can also disable building http-push but
keep http-fetch by defining NO_EXPAT.
It was 7.8.1. I checked. You might want to add this somewhere:

#if LIBCURL_VERSION_NUM < 0x070801
#error http-push needs curl >= 7.8.1 (because of CURLOPT_HTTPGET)
#endif

I tried quite a few things to work around it. Alas, I am now convinced 
that no set of option setting does exactly the same thing as 
CURLOPT_HTTPGET for a specific curl version < 7.8.1 (the one I tested 
with).

Ciao,
Dscho
 

Re: recent patch breaks the build ?

From: Nick Hengeveld <hidden>
Date: 2016-06-15 22:42:12

On Thu, Nov 17, 2005 at 12:25:06AM +0100, Johannes Schindelin wrote:
It was 7.8.1. I checked. You might want to add this somewhere:

#if LIBCURL_VERSION_NUM < 0x070801
#error http-push needs curl >= 7.8.1 (because of CURLOPT_HTTPGET)
#endif
Is it worth trying to figure this out in the Makefile instead, using eg.
curl-config --vernum?

-- 
For a successful technology, reality must take precedence over public
relations, for nature cannot be fooled.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help