cURL / Mailing Lists / curl-library / Single Mail

curl-library

Re: Are there any hints with building Git with HTTP and HTTPS helpers?

From: Jeffrey Walton <noloader_at_gmail.com>
Date: Fri, 28 Aug 2015 19:49:39 -0400

On Tue, Aug 25, 2015 at 4:33 AM, Daniel Stenberg <daniel_at_haxx.se> wrote:
> On Mon, 24 Aug 2015, Jeffrey Walton wrote:
>
>> I'm working with an old piece of APple iron. It lacks Git, so I've
>> been trying to build it from scratch. According to Git's `configure
>> --help`, I need to callout cURL and I am supposed to get HTTP and
>> HTTPS helpers:
>>
>> ./configure --help | grep -i http
>> --with-curl support http(s):// transports (default is
>> YES)
>
> ...
> Then, as always when something configure related isn't doing what you
> think/want, check the details in config.log. There should be tests for
> libcurl in there that failed and the output and reasons for that failure
> helps you with ideas of what to try next.
>
A quick follow up....

There appears to be at least two problems. First, Git's configure does
not report errors. Rather, it silently swallows them. (It silently
swallowed an error with the PCRE library, too).

Second, cURL appears to translate `-arch ppc` into `-arch ppc7400`. So
the 8 or so dependent libraries look like:

$ file /usr/local/lib/libcrypto.a
/usr/local/lib/libcrypto.a: Mach-O universal binary with 2 architectures
/usr/local/lib/libcrypto.a (for architecture ppc): current ar
archive random library
/usr/local/lib/libcrypto.a (for architecture ppc64): current ar
archive random library

But cURL looks like:

$ file /usr/local/lib/libcurl.a
/usr/local/lib/libcurl.a: Mach-O universal binary with 2 architectures
/usr/local/lib/libcurl.a (for architecture ppc7400): current ar
archive random library
/usr/local/lib/libcurl.a (for architecture ppc64): current ar
archive random library

I verified its not my setting:

export CFLAGS="-arch ppc"
export LDFLAGS="-arch ppc"
./configure ...
make
$ lipo -info ./lib/.libs/libcurl.a
...
Non-fat file: ./lib/.libs/libcurl.a is architecture: ppc7400

Jeff

**********

configure:5501: checking for curl_global_init in /usr/local/lib/libcurl.a
configure:5536: gcc -o conftest -arch ppc -arch ppc64
-I/usr/local/include -L/usr/local/lib conftest.c
/usr/local/lib/libcurl.a >&5
Binary file conftest.er1 matches
configure:5542: $? = 1
configure: failed program was:
| /* confdefs.h. */
| #define PACKAGE_NAME "git"
| #define PACKAGE_TARNAME "git"
| #define PACKAGE_VERSION "2.4.8"
| #define PACKAGE_STRING "git 2.4.8"
| #define PACKAGE_BUGREPORT "git_at_vger.kernel.org"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_ALLOCA_H 1
| #define HAVE_ALLOCA 1
| /* end confdefs.h. */
|
| /* Override any GCC internal prototype to avoid an error.
| Use char because int might match the return type of a GCC
| builtin and then its argument prototype would still apply. */
| #ifdef __cplusplus
| extern "C"
| #endif
| char curl_global_init ();
| int
| main ()
| {
| return curl_global_init ();
| ;
| return 0;
| }
-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette: http://curl.haxx.se/mail/etiquette.html
Received on 2015-08-29