git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[FYI] How I compile on IRIX 6.5 with the MIPSpro compiler and ksh

From
Brandon Casey <casey@nrlssc.navy.mil>
Date
Aug 18, 2008, 22:55 UTC
Message-ID
<giNXZFTxzY3B65dQob7CwvwwfSKlZpw_60oz81RxU5UN3PsTT_3dMQ@cipher.nrlssc.navy.mil>

This email describes how I have successfully compiled git on IRIX6.5 with the native MIPSpro compiler version 7.4.4m and successfully run nearly all of the tests using the Korn shell.

A series of 7 patches will follow this email. The patches work around a couple of flaws in the IRIX c99 compiler, and the not-quite-recent build environment.

A build script is provided at the end of this email.

The GIT_SKIP_TESTS environment variable was used to skip tests which still fail. The tests which still fail do so because of an ancient iconv, with one exception: the t5000 tests which fail are due to the installed gnu tar being too old.

Two lingering concerns:
  1) Building with -Ofast produced an executable which segfaulted and could not
     pass the tests.
  2) Building without THREADED_DELTA_SEARCH=1 produced an executable which
     segfaulted and could not pass the tests.
I have no debugger.

Otherwise, I've been using this executable somewhat and have not experienced any problems. Maybe it will be useful to others.

 Makefile                      |   12 ++++++++++++
 git-compat-util.h             |   12 +++++++++++-
 t/lib-git-svn.sh              |    3 +++
 t/t1002-read-tree-m-u-2way.sh |   10 ++++++----
 t/t9301-fast-export.sh        |    1 -
 t/test-lib.sh                 |    2 +-
 templates/Makefile            |    2 +-
 unpack-trees.c                |    3 ++-
 8 files changed, 36 insertions(+), 9 deletions(-)
-brandon
#!/bin/sh
GIT_SKIP_TESTS='
   t3900.1[0-289] t3900.2[023]
   t3901.*
   t5000.1[0-24-689] t5000.2[01]
   t5100.[56] t5100.1[02]
   t9301.4
'
export GIT_SKIP_TESTS

# NO_C99_FORMAT is required since this c99 compiler does not understand %td, # and probably not %zu.

exec gmake \
    CC=c99 \
    CFLAGS='-n32 -O2' \
    SHELL_PATH='/bin/ksh' \
    TAR=gtar \
    NO_C99_FORMAT=1 \
    NO_CURL=1 \
    NO_OPENSSL=1 \
    NO_TCLTK=1 \
    NO_PERL_MAKEMAKER=1 \
    THREADED_DELTA_SEARCH=1
Next: Brandon Casey
Message 1 of 28 in “[FYI] How I compile on IRIX 6.5 with the MIPSpro compiler and ksh”
  1. Brandon CaseyAug 18, 2008
  2. Makefile: add section for SGI IRIXBrandon Casey, Aug 18, 2008
  3. git-compat-util.h: adjust for SGI IRIX 6.5Brandon Casey, Aug 18, 2008
  4. unpack-trees.c: work around run-time array initialization flaw on IRIX 6.5Brandon Casey, Aug 18, 2008
  5. templates/Makefile: work around SGI install which assumes / if ROOT not definedBrandon Casey, Aug 18, 2008
  6. Junio C HamanoAug 18, 2008
  7. Brandon CaseyAug 19, 2008
  8. templates/Makefile: install is unnecessary, just use mkdir -pBrandon Casey, Aug 22, 2008
  9. test-lib.sh: work around ksh's trap shortcomingsBrandon Casey, Aug 18, 2008
  10. Junio C HamanoAug 18, 2008
  11. Brandon CaseyAug 19, 2008
  12. Junio C HamanoAug 19, 2008
  13. Brandon CaseyAug 19, 2008
  14. Brandon CaseyAug 19, 2008
  15. Brandon CaseyAug 20, 2008
  16. Mike RalphsonAug 20, 2008
  17. t1002-read-tree-m-u-2way.sh: use 'git diff -U0' rather than 'diff -U0'Brandon Casey, Aug 18, 2008
  18. t9301-fast-export.sh: don't unset config variable while we're skipping test 4Brandon Casey, Aug 18, 2008
  19. Junio C HamanoAug 19, 2008
  20. Brandon CaseyAug 19, 2008
  21. t9301-fast-export: move unset of config variable into its own test functionBrandon Casey, Aug 22, 2008
  22. Junio C HamanoAug 22, 2008
  23. Junio C HamanoAug 22, 2008
  24. Johannes SixtAug 22, 2008
  25. Junio C HamanoAug 22, 2008
  26. Brandon CaseyAug 18, 2008
  27. Boyd Lynn GerberAug 19, 2008
  28. Brandon CaseyAug 19, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.