git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
* Building git 2.4.5 on AIX 6.1 problems
@ 2015-07-09 18:06 John Norris
  2015-07-09 18:30 ` Junio C Hamano
  0 siblings, 1 reply; 10+ messages in thread
From: John Norris @ 2015-07-09 18:06 UTC (permalink / raw)
  To: git



I am trying to compile git 2.4.5 which I downloaded as a tar file on 
AIX 6.1. The machine has gcc installed.
Having read through the INSTALL file, there appear to be several ways, 
either using configure, make, make install or just make, make install 
with prefix of where to install.
Anyway whichever approach I try I end up with the same error.
     LINK git-credential-store
ld: 0711-224 WARNING: Duplicate symbol: .bcopy
ld: 0711-224 WARNING: Duplicate symbol: .memmove
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more 
information.
ld: 0711-317 ERROR: Undefined symbol: .trace_argv_printf_fl
ld: 0711-317 ERROR: Undefined symbol: .trace_printf_key_fl
ld: 0711-317 ERROR: Undefined symbol: .trace_want
ld: 0711-317 ERROR: Undefined symbol: .trace_strbuf_fl
ld: 0711-317 ERROR: Undefined symbol: .trace_disable
ld: 0711-317 ERROR: Undefined symbol: .diff_can_quit_early
ld: 0711-317 ERROR: Undefined symbol: diff_queued_diff
ld: 0711-317 ERROR: Undefined symbol: .diff_setup
ld: 0711-317 ERROR: Undefined symbol: .diff_setup_done
ld: 0711-317 ERROR: Undefined symbol: .diffcore_std
ld: 0711-317 ERROR: Undefined symbol: .diff_free_filepair
ld: 0711-317 ERROR: Undefined symbol: .parse_long_opt
ld: 0711-317 ERROR: Undefined symbol: .diff_get_color
ld: 0711-317 ERROR: Undefined symbol: mime_boundary_leader
ld: 0711-317 ERROR: Undefined symbol: .getnanotime
ld: 0711-317 ERROR: Undefined symbol: .diff_flush
ld: 0711-317 ERROR: Undefined symbol: .diff_line_prefix
ld: 0711-317 ERROR: Undefined symbol: .diff_unique_abbrev
ld: 0711-317 ERROR: Undefined symbol: .alloc_filespec
ld: 0711-317 ERROR: Undefined symbol: .fill_filespec
ld: 0711-317 ERROR: Undefined symbol: .fill_textconv
ld: 0711-317 ERROR: Undefined symbol: .free_filespec
ld: 0711-317 ERROR: Undefined symbol: .diff_unmodified_pair
ld: 0711-317 ERROR: Undefined symbol: .diff_warn_rename_limit
ld: 0711-317 ERROR: Undefined symbol: .parse_algorithm_value
ld: 0711-317 ERROR: Undefined symbol: .parse_rename_score
ld: 0711-317 ERROR: Undefined symbol: .diff_change
ld: 0711-317 ERROR: Undefined symbol: .diff_unmerge
ld: 0711-317 ERROR: Undefined symbol: .diff_addremove
ld: 0711-317 ERROR: Undefined symbol: .diff_set_mnemonic_prefix
ld: 0711-317 ERROR: Undefined symbol: .diffcore_fix_diff_index
ld: 0711-317 ERROR: Undefined symbol: .diff_queue_is_empty
ld: 0711-317 ERROR: Undefined symbol: .diff_populate_filespec
ld: 0711-317 ERROR: Undefined symbol: .diff_q
ld: 0711-317 ERROR: Undefined symbol: .diff_opt_parse
ld: 0711-317 ERROR: Undefined symbol: .diff_flush_patch_id
collect2: error: ld returned 8 exit status
Makefile:1958: recipe for target 'git-credential-store' failed
gmake: *** [git-credential-store] Error 1


The machine I am building on has built git in the past (not by me).

I have downloaded the source for 2.1.0 and 1.9.2 and both of those have 
the same problem and the latter was built about 12 months ago. I had 
hoped the version of gcc was too old but I presume not. So possibly a 
problem with the environment as building as different user?

But really need help as this is very frustrating and googling has not 
found anything that quite matches it.

Regards,
John

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Building git 2.4.5 on AIX 6.1 problems
  2015-07-09 18:06 Building git 2.4.5 on AIX 6.1 problems John Norris
@ 2015-07-09 18:30 ` Junio C Hamano
  2015-07-10  4:32   ` John Norris
  0 siblings, 1 reply; 10+ messages in thread
From: Junio C Hamano @ 2015-07-09 18:30 UTC (permalink / raw)
  To: John Norris; +Cc: git

John Norris <john@norricorp.f9.co.uk> writes:

> I am trying to compile git 2.4.5 which I downloaded as a tar file on
> AIX 6.1. The machine has gcc installed.
> Having read through the INSTALL file, there appear to be several ways,
> either using configure, make, make install or just make, make install
> with prefix of where to install.
> Anyway whichever approach I try I end up with the same error.
>     LINK git-credential-store
> ld: 0711-224 WARNING: Duplicate symbol: .bcopy
> ...
> But really need help as this is very frustrating and googling has not
> found anything that quite matches it.

As "ld: 0711-224 WARNING: Duplicate symbol: .bcopy" seems to hit
many similar issues across different piece of software, I have a
suspicion that AIX folks (as opposed to Git folks) may have a lot
better insight to the peculiarity of the platform.

Running "make" with "V=1" may show the exact command line that is
invoked (it would begin with "gcc ...", I think), which may help
diagnosing the issue further.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Building git 2.4.5 on AIX 6.1 problems
  2015-07-09 18:30 ` Junio C Hamano
@ 2015-07-10  4:32   ` John Norris
  2015-07-10  5:06     ` Jeff King
  2015-07-10  5:09     ` Junio C Hamano
  0 siblings, 2 replies; 10+ messages in thread
From: John Norris @ 2015-07-10  4:32 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git

Hi Junio,
thank you for this - I will run make with V=1 as you suggested and try 
and talk to some IBM AIX people.
But there are a few archive commands before I get to linking 
credentials-store. Is there something special about credentials store?
And is the collect2 an AIX library or general library used by git?
Regards,
John

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Building git 2.4.5 on AIX 6.1 problems
  2015-07-10  4:32   ` John Norris
@ 2015-07-10  5:06     ` Jeff King
  2015-07-10  5:09     ` Junio C Hamano
  1 sibling, 0 replies; 10+ messages in thread
From: Jeff King @ 2015-07-10  5:06 UTC (permalink / raw)
  To: John Norris; +Cc: Junio C Hamano, git

On Fri, Jul 10, 2015 at 04:32:37AM +0000, John Norris wrote:

> But there are a few archive commands before I get to linking
> credentials-store. Is there something special about credentials store?

Not really. It is just the first program alphabetically, so it comes
first in the Makefile. You can try "make git" and you'll probably see
similar problems linking git (or if you don't, then it is a sign our
Makefile is broken for external programs versus the main git binary).

> And is the collect2 an AIX library or general library used by git?

It's a gcc thing:

  https://gcc.gnu.org/onlinedocs/gccint/Collect2.html

-Peff

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Building git 2.4.5 on AIX 6.1 problems
  2015-07-10  4:32   ` John Norris
  2015-07-10  5:06     ` Jeff King
@ 2015-07-10  5:09     ` Junio C Hamano
  2015-07-11  6:31       ` norricorp
  1 sibling, 1 reply; 10+ messages in thread
From: Junio C Hamano @ 2015-07-10  5:09 UTC (permalink / raw)
  To: John Norris; +Cc: git

John Norris <john@norricorp.f9.co.uk> writes:

> But there are a few archive commands before I get to linking
> credentials-store. Is there something special about credentials store?
> And is the collect2 an AIX library or general library used by git?

Wow, that's a blast from the past.  My recollection is vague, as it
has at least been 15 years since I had to hear that name causing
trouble the last time ;-), but collect2 is a gcc thing that is used
on a platform, where the native linker cannot be directly used to
link gcc output with libraries, as "ld" replacement/wrapper.

 

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Building git 2.4.5 on AIX 6.1 problems
  2015-07-10  5:09     ` Junio C Hamano
@ 2015-07-11  6:31       ` norricorp
  2015-07-11  6:57         ` Junio C Hamano
  0 siblings, 1 reply; 10+ messages in thread
From: norricorp @ 2015-07-11  6:31 UTC (permalink / raw)
  To: git

This is the output I got from using V=1 with make
gcc  -g -O2 -I. -D_LARGE_FILES -DNO_D_TYPE_IN_DIRENT -DNO_NSEC -DOLD_ICONV
-pthread -DHAVE_PATHS_H -DHAVE_ 
LIBCHARSET_H -DHAVE_STRINGS_H -DSHA1_HEADER='<openssl/sha.h>' 
-DFREAD_READS_DIRECTORIES -DNO_STRCASESTR - 
DNO_STRLCPY -Icompat/fnmatch -DNO_FNMATCH_CASEFOLD -DUSE_WILDMATCH
-DNO_MKSTEMPS -DINTERNAL_QSORT -Icompat 
/regex -DDEFAULT_PAGER='"more"' -DSHELL_PATH='"/bin/sh"' -o
git-credential-store   credential-store.o libg 
it.a xdiff/lib.a  -lz  -liconv -lintl  -lcrypto -pthread 

Also, the undefined symbol errors - does anyone know which library these are
supposed to be in?
So when I grep for one undefined symbol
$: git-2.4.5 $ grep -R diff_queued_diff * 
builtin/blame.c:        if (!diff_queued_diff.nr) { 
builtin/blame.c:                for (i = 0; i < diff_queued_diff.nr; i++) { 
builtin/blame.c:                        p = diff_queued_diff.queue[i]; 
...... 
builtin/diff.c: diff_queue(&diff_queued_diff, one, two); 
builtin/fast-export.c:  for (i = 0; i < diff_queued_diff.nr; i++) 
builtin/fast-export.c:          if
(!S_ISGITLINK(diff_queued_diff.queue[i]->two->mode)) 
builtin/fast-export.c:                 
export_blob(diff_queued_diff.queue[i]->two->sha1); 
........ 
diff.c: struct diff_queue_struct *q = &diff_queued_diff; 
diff.c: struct diff_queue_struct *q = &diff_queued_diff; 

So it is obviously a structure or variable that is being used so does anyone
know the library that this is defined in?




--
View this message in context: http://git.661346.n2.nabble.com/Building-git-2-4-5-on-AIX-6-1-problems-tp7635435p7635513.html
Sent from the git mailing list archive at Nabble.com.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Building git 2.4.5 on AIX 6.1 problems
  2015-07-11  6:31       ` norricorp
@ 2015-07-11  6:57         ` Junio C Hamano
  2015-07-12  4:18           ` Jeff King
  0 siblings, 1 reply; 10+ messages in thread
From: Junio C Hamano @ 2015-07-11  6:57 UTC (permalink / raw)
  To: norricorp; +Cc: Git Mailing List

On Fri, Jul 10, 2015 at 11:31 PM, norricorp <john@norricorp.f9.co.uk> wrote:
>
> This is the output I got from using V=1 with make
> gcc  -g -O2 -I. -D_LARGE_FILES -DNO_D_TYPE_IN_DIRENT -DNO_NSEC -DOLD_ICONV
> -pthread -DHAVE_PATHS_H -DHAVE_
> LIBCHARSET_H -DHAVE_STRINGS_H -DSHA1_HEADER='<openssl/sha.h>'
> -DFREAD_READS_DIRECTORIES -DNO_STRCASESTR -
> DNO_STRLCPY -Icompat/fnmatch -DNO_FNMATCH_CASEFOLD -DUSE_WILDMATCH
> -DNO_MKSTEMPS -DINTERNAL_QSORT -Icompat
> /regex -DDEFAULT_PAGER='"more"' -DSHELL_PATH='"/bin/sh"' -o
> git-credential-store   credential-store.o libg
> it.a xdiff/lib.a  -lz  -liconv -lintl  -lcrypto -pthread
>
> Also, the undefined symbol errors - does anyone know which library these are
> supposed to be in?
> So when I grep for one undefined symbol
> $: git-2.4.5 $ grep -R diff_queued_diff *
> builtin/blame.c:        if (!diff_queued_diff.nr) {
> builtin/blame.c:                for (i = 0; i < diff_queued_diff.nr; i++) {
> builtin/blame.c:                        p = diff_queued_diff.queue[i];
> ......
> builtin/diff.c: diff_queue(&diff_queued_diff, one, two);
> builtin/fast-export.c:  for (i = 0; i < diff_queued_diff.nr; i++)
> builtin/fast-export.c:          if
> (!S_ISGITLINK(diff_queued_diff.queue[i]->two->mode))
> builtin/fast-export.c:
> export_blob(diff_queued_diff.queue[i]->two->sha1);
> ........
> diff.c: struct diff_queue_struct *q = &diff_queued_diff;
> diff.c: struct diff_queue_struct *q = &diff_queued_diff;
>
> So it is obviously a structure or variable that is being used so does anyone
> know the library that this is defined in?

Most of our objects should be found in libgit.a (you can see it on your
command line) that our Makefile builds.

Now, it has been more than a decade since I last had to deal with a
system that needs this the last time, but perhaps AIX linker needs the
archives explicitly prepared with ranlib(1)? Just a shot in the dark...

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Building git 2.4.5 on AIX 6.1 problems
  2015-07-11  6:57         ` Junio C Hamano
@ 2015-07-12  4:18           ` Jeff King
  2015-07-13  8:24             ` norricorp
  0 siblings, 1 reply; 10+ messages in thread
From: Jeff King @ 2015-07-12  4:18 UTC (permalink / raw)
  To: norricorp; +Cc: Junio C Hamano, Git Mailing List

On Fri, Jul 10, 2015 at 11:57:28PM -0700, Junio C Hamano wrote:

> > So it is obviously a structure or variable that is being used so does anyone
> > know the library that this is defined in?
> 
> Most of our objects should be found in libgit.a (you can see it on your
> command line) that our Makefile builds.
> 
> Now, it has been more than a decade since I last had to deal with a
> system that needs this the last time, but perhaps AIX linker needs the
> archives explicitly prepared with ranlib(1)? Just a shot in the dark...

Ugh, you are giving me flashbacks. ;)

We use the "s" flag to "ar", which is supposed to do the same thing as
ranlib. But I guess it is possible that the system ar does not respect
that flag. Certainly running ranlib manually would be an interesting
experiment.

If the system has GNU ar on it as well as an AIX ar, it might be
interesting to point $(AR) at the former. E.g.:

  make clean
  make AR=gar

(where "gar" is whatever GNU ar is called on the system).

-Peff

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Building git 2.4.5 on AIX 6.1 problems
  2015-07-12  4:18           ` Jeff King
@ 2015-07-13  8:24             ` norricorp
  2015-07-16 14:49               ` norricorp
  0 siblings, 1 reply; 10+ messages in thread
From: norricorp @ 2015-07-13  8:24 UTC (permalink / raw)
  To: git

Hi Jeff,
So running with the ar in binutils gave the usual result.
I think this boils down to knowing which library those undefined symbols are
defined in. The git code uses those variables so the library should be
around somewhere. It is just knowing which library it is in.
Regards,
John



--
View this message in context: http://git.661346.n2.nabble.com/Building-git-2-4-5-on-AIX-6-1-problems-tp7635435p7635578.html
Sent from the git mailing list archive at Nabble.com.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Building git 2.4.5 on AIX 6.1 problems
  2015-07-13  8:24             ` norricorp
@ 2015-07-16 14:49               ` norricorp
  0 siblings, 0 replies; 10+ messages in thread
From: norricorp @ 2015-07-16 14:49 UTC (permalink / raw)
  To: git

The problem was down to the linker and archiver. I had to make sure that I
used the ar and ld in /usr/bin (rather than aix ld and gnu ar) and the gnu
compiler.  Also, I did not realise I had already created libs so had to run
clean and start with the right PATH to pick up the above.
Finally, have to use the gnu install, not the /usr/bin/install.
But getting there so thanks for all of the help that people have taken the
time for.
Regards,
John



--
View this message in context: http://git.661346.n2.nabble.com/Building-git-2-4-5-on-AIX-6-1-problems-tp7635435p7635699.html
Sent from the git mailing list archive at Nabble.com.

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2015-07-16 14:49 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-07-09 18:06 Building git 2.4.5 on AIX 6.1 problems John Norris
2015-07-09 18:30 ` Junio C Hamano
2015-07-10  4:32   ` John Norris
2015-07-10  5:06     ` Jeff King
2015-07-10  5:09     ` Junio C Hamano
2015-07-11  6:31       ` norricorp
2015-07-11  6:57         ` Junio C Hamano
2015-07-12  4:18           ` Jeff King
2015-07-13  8:24             ` norricorp
2015-07-16 14:49               ` norricorp

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).