git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Unable to cross compile git. http.c generating errors.

From
Jeff King <peff@peff.net>
Date
May 11, 2023, 06:28 UTC
Message-ID
<20230511062824.GA1971463@coredump.intra.peff.net>
In-Reply-To
<CALpgS-OQzoopjKd2a3NBkaefHoqR_wLop5x3Y7U8e0eVUO7XJQ@mail.gmail.com>
On Sat, May 06, 2023 at 08:38:40PM +0200, PEEX Gamer wrote:
Show 8 quoted lines
> I was trying to compile git for x86_64 FreeBSD 13.2 on x86_64 linux
> without any success.
> I was using clang toolchain that worked for native Freebsd 13.2 compilation.
> The errors i had:
> First thing was that config.mak.uname was trying to include sysinfo
> because of host machine being linux which was weird. I ommited this
> error by replacing linux section with freebsd and everythink was
> smooth until http.c which generates output attached in email. 

Looks like you're having problems with fileno() being passed a void pointer. Try compiling with:

  make FILENO_IS_A_MACRO=Yes

That is generally set automatically on FreeBSD via config.mak.uname; perhaps you missed it when moving things around there.

I've never tried cross-compiling Git, but I'd guess that your best bet is to override the uname_* variables, like:

  make uname_S=FreeBSD uname_R=13.2

(there are others, but those are the main ones we use to set defaults for various Makefile knobs). Of course you can tweak all the Makefile knobs yourself, but that may be tedious.

-Peff
Previous: Bagas Sanjaya
Message 3 of 3 in “Unable to cross compile git. http.c generating errors.”
  1. PEEX GamerMay 6, 2023
  2. Bagas SanjayaMay 11, 2023
  3. Jeff KingMay 11, 2023

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.