On Mon, Nov 05, 2012 at 09:21:13AM -0800, Mathieu Dutour wrote:

First, note that this list is a support channel for Git newbies, and
your question appears to be more about Git source code itself so I'd say
it better fits the main Git list which is git at vger.kernel.org.
I Cc'ed this my response here in the hope someone with the platform
similar to yours might chime in; so please keep the Cc list in your

> I tried to install git on an IBM power 6 computer and I had the following
> problem when doing "gmake install"

This doesn't sound quite descriptive.  From what I gather from the
Internet, IBM POWER 6 is a CPU brand, targeted at mainframes.  I vaguely
recall IBM mainframes typically run their own OS (z/OS?) but have
extensive support for virtualization so I recall I read somewhere it's
customary to run, say, a virtualized Linux-based OS on it.

Since what matters here is a *software* platform, please be (way) more
precise about this.

> ./configure[6213]: syntax error at line 6367 : `;' unexpected

"configure" is just a shell script usually generated by the "autoconf"
program from a template file named "configure.in".
"configure" is meant to be ├╝ber-portable, but it assumes your /bin/sh is
a shell implementing the command language defined by POSIX, plus a
standard set of text-processing tools (such as sed and grep) is
I can make a guess that whatever is available as /bin/sh in your system
might not quite fit the expectations of "configure".
I envision two ways to fix this:
1) Install autoconf and run it to regenerate the configure script;
   then try the compilation again.
2) Try to force configure using a different shell, if available.
   GNU bash should cut it, ash and dash [1] too.

In either case note that there isn't any indication that that syntax
error actually made the build process to fail; the only failing error
in the output you quoted is that of the `install` command which runs
after the compilation is done to install things (obviously).

By this I mean, if you will be able to fix that `install` error it might
turn out you could ignore the configure error whatsoever.

> gmake[2]: `GIT-VERSION-FILE' is up to date.
>     GEN git-instaweb
>     SUBDIR git-gui
>     SUBDIR gitk-git
> gmake[1]: Nothing to be done for `all'.
>     SUBDIR perl
>     SUBDIR git_remote_helpers
>     SUBDIR templates
> install -d -m 755 '/home/ar69ovim/opt/git-1.8.0/bin'
> /usr/bin/getopt: Not a recognized flag: d
> Usage: install [-c DirectoryA] [-f DirectoryB] [-i] [-m] [-M Mode] [-O
> Owner]
>                [-G Group] [-S] [-n DirectoryC] [-o] [-s] File [DirectoryX
> ...]

Supposedly Git makefiles expect the `install` program to support the
"-d" command line option.  On my Linux system with `install` provided by
GNU coreutils [2], the "-d" command line option of this tool is used to
create the whole directory hierarchy according to the argument passed to
that option.  Obviously your `install` does not support this option.
Moreover, from the error output it follows, that your `install` is
implemented as a shell script which calls /usr/bin/getopt to parse its
command-line options.

Again, I can see several ways to fix that:
1) Patch Git makefile(s) to use some other means to create directory
   hierarchies.  For instance, some versions of `mkdir` support the "-p"
   command line option to do this.  You could combine `mkdir -p` with
   `chmod 755` to do what `install -d -m 755` would do.
2) (Somehow) get GNU coreutils and make Git makefiles see
   /usr/bin/install provided by this package.
3) Patch your `install` to support "-d".

> gmake: *** [install] Error 2

That's what makes the whole thing fail.

1. http://en.wikipedia.org/wiki/Debian_Almquist_shell
2. http://gnu.org/software/coreutils


Reply via email to