{"thread":{"id":"39822","subject":"Building git 2.4.5 on AIX 6.1 problems","startedAt":"2015-07-09T18:06:22Z","lastAt":"2015-07-16T14:49:35Z","messageCount":10,"participants":["John Norris","Junio C Hamano","Jeff King","norricorp"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"265934","messageId":"516b832bd9db48e4bdb486d63b2a3977@imap.force9.net","threadId":"39822","inReplyTo":null,"subject":"Building git 2.4.5 on AIX 6.1 problems","fromName":"John Norris","fromEmail":"john@norricorp.f9.co.uk","sentAt":"2015-07-09T18:06:22Z","receivedAt":"2015-07-09T18:06:22Z","isPatch":false,"sender":{"key":"john@norricorp.f9.co.uk","avatar":"https://gravatar.com/avatar/e86cd998597501c0bebaefbe8415fbd9ca0d4169892122763df6defc3620c431?d=mp&s=160"},"body":"\n\nI am trying to compile git 2.4.5 which I downloaded as a tar file on \nAIX 6.1. The machine has gcc installed.\nHaving read through the INSTALL file, there appear to be several ways, \neither using configure, make, make install or just make, make install \nwith prefix of where to install.\nAnyway whichever approach I try I end up with the same error.\n     LINK git-credential-store\nld: 0711-224 WARNING: Duplicate symbol: .bcopy\nld: 0711-224 WARNING: Duplicate symbol: .memmove\nld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more \ninformation.\nld: 0711-317 ERROR: Undefined symbol: .trace_argv_printf_fl\nld: 0711-317 ERROR: Undefined symbol: .trace_printf_key_fl\nld: 0711-317 ERROR: Undefined symbol: .trace_want\nld: 0711-317 ERROR: Undefined symbol: .trace_strbuf_fl\nld: 0711-317 ERROR: Undefined symbol: .trace_disable\nld: 0711-317 ERROR: Undefined symbol: .diff_can_quit_early\nld: 0711-317 ERROR: Undefined symbol: diff_queued_diff\nld: 0711-317 ERROR: Undefined symbol: .diff_setup\nld: 0711-317 ERROR: Undefined symbol: .diff_setup_done\nld: 0711-317 ERROR: Undefined symbol: .diffcore_std\nld: 0711-317 ERROR: Undefined symbol: .diff_free_filepair\nld: 0711-317 ERROR: Undefined symbol: .parse_long_opt\nld: 0711-317 ERROR: Undefined symbol: .diff_get_color\nld: 0711-317 ERROR: Undefined symbol: mime_boundary_leader\nld: 0711-317 ERROR: Undefined symbol: .getnanotime\nld: 0711-317 ERROR: Undefined symbol: .diff_flush\nld: 0711-317 ERROR: Undefined symbol: .diff_line_prefix\nld: 0711-317 ERROR: Undefined symbol: .diff_unique_abbrev\nld: 0711-317 ERROR: Undefined symbol: .alloc_filespec\nld: 0711-317 ERROR: Undefined symbol: .fill_filespec\nld: 0711-317 ERROR: Undefined symbol: .fill_textconv\nld: 0711-317 ERROR: Undefined symbol: .free_filespec\nld: 0711-317 ERROR: Undefined symbol: .diff_unmodified_pair\nld: 0711-317 ERROR: Undefined symbol: .diff_warn_rename_limit\nld: 0711-317 ERROR: Undefined symbol: .parse_algorithm_value\nld: 0711-317 ERROR: Undefined symbol: .parse_rename_score\nld: 0711-317 ERROR: Undefined symbol: .diff_change\nld: 0711-317 ERROR: Undefined symbol: .diff_unmerge\nld: 0711-317 ERROR: Undefined symbol: .diff_addremove\nld: 0711-317 ERROR: Undefined symbol: .diff_set_mnemonic_prefix\nld: 0711-317 ERROR: Undefined symbol: .diffcore_fix_diff_index\nld: 0711-317 ERROR: Undefined symbol: .diff_queue_is_empty\nld: 0711-317 ERROR: Undefined symbol: .diff_populate_filespec\nld: 0711-317 ERROR: Undefined symbol: .diff_q\nld: 0711-317 ERROR: Undefined symbol: .diff_opt_parse\nld: 0711-317 ERROR: Undefined symbol: .diff_flush_patch_id\ncollect2: error: ld returned 8 exit status\nMakefile:1958: recipe for target 'git-credential-store' failed\ngmake: *** [git-credential-store] Error 1\n\n\nThe machine I am building on has built git in the past (not by me).\n\nI have downloaded the source for 2.1.0 and 1.9.2 and both of those have \nthe same problem and the latter was built about 12 months ago. I had \nhoped the version of gcc was too old but I presume not. So possibly a \nproblem with the environment as building as different user?\n\nBut really need help as this is very frustrating and googling has not \nfound anything that quite matches it.\n\nRegards,\nJohn\n"},{"id":"265936","messageId":"xmqqwpy9uqth.fsf@gitster.dls.corp.google.com","threadId":"39822","inReplyTo":"516b832bd9db48e4bdb486d63b2a3977@imap.force9.net","subject":"Re: Building git 2.4.5 on AIX 6.1 problems","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2015-07-09T18:30:18Z","receivedAt":"2015-07-09T18:30:18Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"John Norris <john@norricorp.f9.co.uk> writes:\n\n> I am trying to compile git 2.4.5 which I downloaded as a tar file on\n> AIX 6.1. The machine has gcc installed.\n> Having read through the INSTALL file, there appear to be several ways,\n> either using configure, make, make install or just make, make install\n> with prefix of where to install.\n> Anyway whichever approach I try I end up with the same error.\n>     LINK git-credential-store\n> ld: 0711-224 WARNING: Duplicate symbol: .bcopy\n> ...\n> But really need help as this is very frustrating and googling has not\n> found anything that quite matches it.\n\nAs \"ld: 0711-224 WARNING: Duplicate symbol: .bcopy\" seems to hit\nmany similar issues across different piece of software, I have a\nsuspicion that AIX folks (as opposed to Git folks) may have a lot\nbetter insight to the peculiarity of the platform.\n\nRunning \"make\" with \"V=1\" may show the exact command line that is\ninvoked (it would begin with \"gcc ...\", I think), which may help\ndiagnosing the issue further.\n"},{"id":"265968","messageId":"a4eee6a136cafece6be5dbd5ee934f7a@imap.force9.net","threadId":"39822","inReplyTo":"xmqqwpy9uqth.fsf@gitster.dls.corp.google.com","subject":"Re: Building git 2.4.5 on AIX 6.1 problems","fromName":"John Norris","fromEmail":"john@norricorp.f9.co.uk","sentAt":"2015-07-10T04:32:37Z","receivedAt":"2015-07-10T04:32:37Z","isPatch":false,"sender":{"key":"john@norricorp.f9.co.uk","avatar":"https://gravatar.com/avatar/e86cd998597501c0bebaefbe8415fbd9ca0d4169892122763df6defc3620c431?d=mp&s=160"},"body":"Hi Junio,\nthank you for this - I will run make with V=1 as you suggested and try \nand talk to some IBM AIX people.\nBut there are a few archive commands before I get to linking \ncredentials-store. Is there something special about credentials store?\nAnd is the collect2 an AIX library or general library used by git?\nRegards,\nJohn\n"},{"id":"265969","messageId":"20150710050642.GA4627@peff.net","threadId":"39822","inReplyTo":"a4eee6a136cafece6be5dbd5ee934f7a@imap.force9.net","subject":"Re: Building git 2.4.5 on AIX 6.1 problems","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2015-07-10T05:06:43Z","receivedAt":"2015-07-10T05:06:43Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Fri, Jul 10, 2015 at 04:32:37AM +0000, John Norris wrote:\n\n> But there are a few archive commands before I get to linking\n> credentials-store. Is there something special about credentials store?\n\nNot really. It is just the first program alphabetically, so it comes\nfirst in the Makefile. You can try \"make git\" and you'll probably see\nsimilar problems linking git (or if you don't, then it is a sign our\nMakefile is broken for external programs versus the main git binary).\n\n> And is the collect2 an AIX library or general library used by git?\n\nIt's a gcc thing:\n\n  https://gcc.gnu.org/onlinedocs/gccint/Collect2.html\n\n-Peff\n"},{"id":"265970","messageId":"xmqq1tggmwdc.fsf@gitster.dls.corp.google.com","threadId":"39822","inReplyTo":"a4eee6a136cafece6be5dbd5ee934f7a@imap.force9.net","subject":"Re: Building git 2.4.5 on AIX 6.1 problems","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2015-07-10T05:09:51Z","receivedAt":"2015-07-10T05:09:51Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"John Norris <john@norricorp.f9.co.uk> writes:\n\n> But there are a few archive commands before I get to linking\n> credentials-store. Is there something special about credentials store?\n> And is the collect2 an AIX library or general library used by git?\n\nWow, that's a blast from the past.  My recollection is vague, as it\nhas at least been 15 years since I had to hear that name causing\ntrouble the last time ;-), but collect2 is a gcc thing that is used\non a platform, where the native linker cannot be directly used to\nlink gcc output with libraries, as \"ld\" replacement/wrapper.\n\n \n"},{"id":"266012","messageId":"1436596266437-7635513.post@n2.nabble.com","threadId":"39822","inReplyTo":"xmqq1tggmwdc.fsf@gitster.dls.corp.google.com","subject":"Re: Building git 2.4.5 on AIX 6.1 problems","fromName":"norricorp","fromEmail":"john@norricorp.f9.co.uk","sentAt":"2015-07-11T06:31:06Z","receivedAt":"2015-07-11T06:31:06Z","isPatch":false,"sender":{"key":"john@norricorp.f9.co.uk","avatar":"https://gravatar.com/avatar/e86cd998597501c0bebaefbe8415fbd9ca0d4169892122763df6defc3620c431?d=mp&s=160"},"body":"This is the output I got from using V=1 with make\ngcc  -g -O2 -I. -D_LARGE_FILES -DNO_D_TYPE_IN_DIRENT -DNO_NSEC -DOLD_ICONV\n-pthread -DHAVE_PATHS_H -DHAVE_ \nLIBCHARSET_H -DHAVE_STRINGS_H -DSHA1_HEADER='<openssl/sha.h>' \n-DFREAD_READS_DIRECTORIES -DNO_STRCASESTR - \nDNO_STRLCPY -Icompat/fnmatch -DNO_FNMATCH_CASEFOLD -DUSE_WILDMATCH\n-DNO_MKSTEMPS -DINTERNAL_QSORT -Icompat \n/regex -DDEFAULT_PAGER='\"more\"' -DSHELL_PATH='\"/bin/sh\"' -o\ngit-credential-store   credential-store.o libg \nit.a xdiff/lib.a  -lz  -liconv -lintl  -lcrypto -pthread \n\nAlso, the undefined symbol errors - does anyone know which library these are\nsupposed to be in?\nSo when I grep for one undefined symbol\n$: git-2.4.5 $ grep -R diff_queued_diff * \nbuiltin/blame.c:        if (!diff_queued_diff.nr) { \nbuiltin/blame.c:                for (i = 0; i < diff_queued_diff.nr; i++) { \nbuiltin/blame.c:                        p = diff_queued_diff.queue[i]; \n...... \nbuiltin/diff.c: diff_queue(&diff_queued_diff, one, two); \nbuiltin/fast-export.c:  for (i = 0; i < diff_queued_diff.nr; i++) \nbuiltin/fast-export.c:          if\n(!S_ISGITLINK(diff_queued_diff.queue[i]->two->mode)) \nbuiltin/fast-export.c:                 \nexport_blob(diff_queued_diff.queue[i]->two->sha1); \n........ \ndiff.c: struct diff_queue_struct *q = &diff_queued_diff; \ndiff.c: struct diff_queue_struct *q = &diff_queued_diff; \n\nSo it is obviously a structure or variable that is being used so does anyone\nknow the library that this is defined in?\n\n\n\n\n--\nView this message in context: http://git.661346.n2.nabble.com/Building-git-2-4-5-on-AIX-6-1-problems-tp7635435p7635513.html\nSent from the git mailing list archive at Nabble.com.\n"},{"id":"266017","messageId":"CAPc5daWJ7T9UFi_457MvTBN7hoxAD0mEwwbQE1R076=Z+BWu7w@mail.gmail.com","threadId":"39822","inReplyTo":"1436596266437-7635513.post@n2.nabble.com","subject":"Re: Building git 2.4.5 on AIX 6.1 problems","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2015-07-11T06:57:28Z","receivedAt":"2015-07-11T06:57:28Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"On Fri, Jul 10, 2015 at 11:31 PM, norricorp <john@norricorp.f9.co.uk> wrote:\n>\n> This is the output I got from using V=1 with make\n> gcc  -g -O2 -I. -D_LARGE_FILES -DNO_D_TYPE_IN_DIRENT -DNO_NSEC -DOLD_ICONV\n> -pthread -DHAVE_PATHS_H -DHAVE_\n> LIBCHARSET_H -DHAVE_STRINGS_H -DSHA1_HEADER='<openssl/sha.h>'\n> -DFREAD_READS_DIRECTORIES -DNO_STRCASESTR -\n> DNO_STRLCPY -Icompat/fnmatch -DNO_FNMATCH_CASEFOLD -DUSE_WILDMATCH\n> -DNO_MKSTEMPS -DINTERNAL_QSORT -Icompat\n> /regex -DDEFAULT_PAGER='\"more\"' -DSHELL_PATH='\"/bin/sh\"' -o\n> git-credential-store   credential-store.o libg\n> it.a xdiff/lib.a  -lz  -liconv -lintl  -lcrypto -pthread\n>\n> Also, the undefined symbol errors - does anyone know which library these are\n> supposed to be in?\n> So when I grep for one undefined symbol\n> $: git-2.4.5 $ grep -R diff_queued_diff *\n> builtin/blame.c:        if (!diff_queued_diff.nr) {\n> builtin/blame.c:                for (i = 0; i < diff_queued_diff.nr; i++) {\n> builtin/blame.c:                        p = diff_queued_diff.queue[i];\n> ......\n> builtin/diff.c: diff_queue(&diff_queued_diff, one, two);\n> builtin/fast-export.c:  for (i = 0; i < diff_queued_diff.nr; i++)\n> builtin/fast-export.c:          if\n> (!S_ISGITLINK(diff_queued_diff.queue[i]->two->mode))\n> builtin/fast-export.c:\n> export_blob(diff_queued_diff.queue[i]->two->sha1);\n> ........\n> diff.c: struct diff_queue_struct *q = &diff_queued_diff;\n> diff.c: struct diff_queue_struct *q = &diff_queued_diff;\n>\n> So it is obviously a structure or variable that is being used so does anyone\n> know the library that this is defined in?\n\nMost of our objects should be found in libgit.a (you can see it on your\ncommand line) that our Makefile builds.\n\nNow, it has been more than a decade since I last had to deal with a\nsystem that needs this the last time, but perhaps AIX linker needs the\narchives explicitly prepared with ranlib(1)? Just a shot in the dark...\n"},{"id":"266053","messageId":"20150712041818.GA17595@peff.net","threadId":"39822","inReplyTo":"CAPc5daWJ7T9UFi_457MvTBN7hoxAD0mEwwbQE1R076=Z+BWu7w@mail.gmail.com","subject":"Re: Building git 2.4.5 on AIX 6.1 problems","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2015-07-12T04:18:18Z","receivedAt":"2015-07-12T04:18:18Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Fri, Jul 10, 2015 at 11:57:28PM -0700, Junio C Hamano wrote:\n\n> > So it is obviously a structure or variable that is being used so does anyone\n> > know the library that this is defined in?\n> \n> Most of our objects should be found in libgit.a (you can see it on your\n> command line) that our Makefile builds.\n> \n> Now, it has been more than a decade since I last had to deal with a\n> system that needs this the last time, but perhaps AIX linker needs the\n> archives explicitly prepared with ranlib(1)? Just a shot in the dark...\n\nUgh, you are giving me flashbacks. ;)\n\nWe use the \"s\" flag to \"ar\", which is supposed to do the same thing as\nranlib. But I guess it is possible that the system ar does not respect\nthat flag. Certainly running ranlib manually would be an interesting\nexperiment.\n\nIf the system has GNU ar on it as well as an AIX ar, it might be\ninteresting to point $(AR) at the former. E.g.:\n\n  make clean\n  make AR=gar\n\n(where \"gar\" is whatever GNU ar is called on the system).\n\n-Peff\n"},{"id":"266075","messageId":"1436775899179-7635578.post@n2.nabble.com","threadId":"39822","inReplyTo":"20150712041818.GA17595@peff.net","subject":"Re: Building git 2.4.5 on AIX 6.1 problems","fromName":"norricorp","fromEmail":"john@norricorp.f9.co.uk","sentAt":"2015-07-13T08:24:59Z","receivedAt":"2015-07-13T08:24:59Z","isPatch":false,"sender":{"key":"john@norricorp.f9.co.uk","avatar":"https://gravatar.com/avatar/e86cd998597501c0bebaefbe8415fbd9ca0d4169892122763df6defc3620c431?d=mp&s=160"},"body":"Hi Jeff,\nSo running with the ar in binutils gave the usual result.\nI think this boils down to knowing which library those undefined symbols are\ndefined in. The git code uses those variables so the library should be\naround somewhere. It is just knowing which library it is in.\nRegards,\nJohn\n\n\n\n--\nView this message in context: http://git.661346.n2.nabble.com/Building-git-2-4-5-on-AIX-6-1-problems-tp7635435p7635578.html\nSent from the git mailing list archive at Nabble.com.\n"},{"id":"266195","messageId":"1437058175744-7635699.post@n2.nabble.com","threadId":"39822","inReplyTo":"1436775899179-7635578.post@n2.nabble.com","subject":"Re: Building git 2.4.5 on AIX 6.1 problems","fromName":"norricorp","fromEmail":"john@norricorp.f9.co.uk","sentAt":"2015-07-16T14:49:35Z","receivedAt":"2015-07-16T14:49:35Z","isPatch":false,"sender":{"key":"john@norricorp.f9.co.uk","avatar":"https://gravatar.com/avatar/e86cd998597501c0bebaefbe8415fbd9ca0d4169892122763df6defc3620c431?d=mp&s=160"},"body":"The problem was down to the linker and archiver. I had to make sure that I\nused the ar and ld in /usr/bin (rather than aix ld and gnu ar) and the gnu\ncompiler.  Also, I did not realise I had already created libs so had to run\nclean and start with the right PATH to pick up the above.\nFinally, have to use the gnu install, not the /usr/bin/install.\nBut getting there so thanks for all of the help that people have taken the\ntime for.\nRegards,\nJohn\n\n\n\n--\nView this message in context: http://git.661346.n2.nabble.com/Building-git-2-4-5-on-AIX-6-1-problems-tp7635435p7635699.html\nSent from the git mailing list archive at Nabble.com.\n"}]}