From: Perry Smith Date: Wed, 28 Jan 2009 01:35:00 GMT Subject: Re: git 1.6.1 on AIX 5.3 Message-ID: In-Reply-To: On Jan 27, 2009, at 4:10 AM, Mike Ralphson wrote: > 2009/1/26 Perry Smith : >> Thanks guys. I picked up coreutils version 7. I didn't >> install them but just moved ginstall over to /usr/local/bin. >> >> A few other comments: I had to add in the --without-tcltk flag. I >> don't >> have tcl installed but the config did not autodetect that it was >> not present. > > Yup, I usually build with NO_TCLTK=YesPlease in my config.mak, which > you can see from the link Peff posted. > > When you said 'out of tree builds' I thought you meant using the AIX > defaults in the Makefile without running ./configure, but it seems > not, you meant is a clone of the tree buildable by itself or are only > release snapshots buildable. Sorry. Sorry... I thought "out of tree" was a universal term. Just to be sure we are on the same page. My directory structure has a top/src/git-1.6.1 and top/build/git.1.6.1. The src/git-1.6.1 is the tar ball. The build/git-1.6.1 starts out empty. I cd into it and then do: ../../src/git-1.6.1/configure After this completes, you can do "make". About 90% of the open source configure / autoconf code out there can do this with. The other 10% you can not. I like it because when things die, its easier to grep around the source tree and I blow away the build directory and start back over and I know that I'm starting fresh. > > > ./configure is (deliberately) a second-class citizen in the world of > git, and may still get you a slightly suboptimal build compared with > the defaults on platforms such as AIX... e.g. it doesn't test for > performance-related switches such as INTERNAL_QSORT. If you have run > configure, there's some file you need to blow away to get back to a > non-autoconf world... is it config.mak.autogen? > > Despite that, your problem with --without-tcltk falling back to wish, > but not falling back if that isn't installed does look like something > we should fix, as per Peff's mail. > >> I can't tell if make test is happy or not. The output looks like >> its happy >> but the exit code is 2. >> >> Below is my "configure" script if anyone is interested. >> >> #!/usr/bin/env bash >> >> export CONFIG_SHELL=/usr/local/bin/bash >> export LDFLAGS='-L/usr/local/lib -L/usr/local/ssl/lib' >> export CFLAGS='-I/usr/local/include -I/usr/local/ssl/include' >> export CC=gcc >> echo CONFIG_SHELL set to ${CONFIG_SHELL} >> >> ${CONFIG_SHELL} ../../src/git-1.6.1/configure --without-tcltk >> >> # >> # Note that to install you need to do: >> # make INSTALL=ginstall install >> # to use GNU's install program > > I build with SHELL_PATH={path}/bash as well. If I don't, the test > suite exits after t0000-basic.sh with an unexpected error despite > passing all the tests. > > gmake -C t/ all > gmake[1]: Entering directory `/usr/local/src/gitbuild/t' > rm -f -r test-results > gmake aggregate-results-and-cleanup > gmake[2]: Entering directory `/usr/local/src/gitbuild/t' > *** t0000-basic.sh *** > * passed all remaining 40 test(s) > FATAL: Unexpected exit with code 0 > gmake[2]: *** [t0000-basic.sh] Error 1 > gmake[2]: Leaving directory `/usr/local/src/gitbuild/t' > gmake[1]: *** [all] Error 2 > gmake[1]: Leaving directory `/usr/local/src/gitbuild/t' > gmake: *** [test] Error 2 > > Is that what you're seeing? There's many more test scripts than that > 8-) > > With GIT_SKIP_TESTS='t3900 t3901 t5100.[12] t8005' (to omit some cases > not handled by the version of iconv I have access to on all the AIX > boxes I deploy to) the test suit runs to completion on AIX 5.3 for me. Yea, part of my larger quest is to start a web site to provide AIX builds of open source images as installp images. I have not added iconv to the mix yet because I fear bad interactions with GNU's and AIX's. In theory, AIX's commands should use AIX's library but it would not surprise me if there are a few AIX applications that are not built properly. > > > BTW Are you running AIX's make or GNU make? yes -- GNU's make and gcc 4.3.1 I just tried setting SHELL_PATH (and exporting it) and the make test gets into the second batch and then fails two tests. I assume the GIT_SKIP_TESTS is done: make GIT_SKIP_TESTS=....test I get further. But now test 10 of t0001.sh fails because test_cmp can not be found. Is that a GNU tool? (I didn't see it in git or coreutils.) (I'll go searching for it...) Thank you, Perry