git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Michael Felt <aixtools@felt.demon.nl>
To: git@vger.kernel.org
Subject: COMMENTS: building git on AIX
Date: Mon, 28 Oct 2019 15:00:29 +0100	[thread overview]
Message-ID: <1200106e-b75d-5b15-0608-427cd923578a@felt.demon.nl> (raw)

I have, a couple of time, successfully built git for AIX. However, my
prior attempt (version 2.18) - I never got around to finishing and today
with version 2.23.0 - I am unsure how to proceed without a lot of hacking.

Just some comments - long long way from calling anything a bug - just
not as portable as I would have hoped.

The simple issues:

1. The "Makefile" is surprising. I expect to run ./configure (or better,
out-of tree, e.g., ../src/git-2.23.0/configure). Just running OOT
configure does not result in a "Makefile". So, copy source tree to dest
and try again.

2. Makefile assumes gmake. Standard make does not support :: syntax
(fix: install cmake)

3. The default CFLAGS contains -Wall. Not all compilers support -Wall.
"Fixed" by adding CFLAGS="-g -O2". I am also undecided on having -g as a
default flag.

4. Must have gettext installed, which needs GNU libiconv - sad to have
these libraries as additional dependencies. e.g., bash 4.4 finally
removed the gettext and iconv gnu dependencies. -- FYI!

5. Another "gcc"? dependency: "git-compat-util.h", line 361.1: 1506-277
(S) Syntax error: possible missing ';'
FIX: add 'CC=xlc_r' to get language extensions

6. Needs curl (libcurl and curl.h), but does not check until much later:
FIX install curl; FIX2 add -I flag to find $prefix/include to CFLAGS
(.e.g., CFLAGS="-g -O2 -I/opt/include") - FYI GNU autotools also fail to
include $prefix/include

7. More stuck here. libssh2 is built by curl, but as a static library. I
could "hack" the libssh2.o file into the linkage, but unclear how well
that will work. Also wonder if libssh2 is "required" or optional. For
curl it has been optional (and I think it still is).

Current status:

xlc_r   -g -O2 -I/opt/include -I. -D_LARGE_FILES
-DGIT_HOST_CPU="\"00C291F54C00\"" -DUSE_CURL_FOR_IMAP_SEND -DNO_NSEC
-DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES
-DSHA1DC_INIT_SAFE_HASH_DEFAULT=0
-DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\""
-DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\""
-DSHA256_BLK   -DFREAD_READS_DIRECTORIES -DNO_STRCASESTR -DNO_STRLCPY
-DNO_MKDTEMP -DNO_MEMMEM -DINTERNAL_QSORT -Icompat/regex
-DFILENO_IS_A_MACRO -DNEED_ACCESS_ROOT_HANDLER -DDEFAULT_PAGER='"more"'
-DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' -o
git-imap-send   imap-send.o http.o common-main.o \
          -L/opt/lib -lcurl -lssh2 -lssh2 -lssl -lcrypto -lldap -llber
-lssl -lcrypto -lz  -lssl  -lcrypto libgit.a xdiff/lib.a  -lz  -liconv
-lintl -lpthread
ld: 0706-006 Cannot find or open library file: -l ssh2
        ld:open(): A file or directory in the path name does not exist.
ld: 0706-006 Cannot find or open library file: -l ssh2
        ld:open(): A file or directory in the path name does not exist.
ld: 0706-006 Cannot find or open library file: -l ldap
        ld:open(): A file or directory in the path name does not exist.
ld: 0706-006 Cannot find or open library file: -l lber
        ld:open(): A file or directory in the path name does not exist.

This will need, at the least an additional LDFLAGS added to the make
command ('LDFLAGS="-L/opt/lib"'), but I still have to find where the
-lssh2 is generated.

Not sure - if I can help - but do hope this already helps in a (small) way.

Regards,

Michael


             reply	other threads:[~2019-10-28 14:27 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-28 14:00 Michael Felt [this message]
2019-10-28 21:43 ` COMMENTS: building git on AIX Jonathan Nieder

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1200106e-b75d-5b15-0608-427cd923578a@felt.demon.nl \
    --to=aixtools@felt.demon.nl \
    --cc=git@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).