Icarus Verilog


49pages on
this wiki
Add New Page
Talk0 Share

Git is a source code management tool that came into be as a way to handle the large and distributed nature of Linux kernel development. It has since been increasingly adopted for a variety of projects. The git home page is

Getting git Edit

Get git from the git home page. Get at least version 1.5.

Installing git Edit

Git can supposedly be installed on a wide variety of systems. That doesn't mean it's necessarily trivial. Here are per-system notes on installing git.

Linux Edit

This is the main target system for git, so it builds and installs quite readily. The default makefile just works. Untar git, and build/install:

 % cd git-
 % make prefix=/usr   (or /usr/local, or /opt if you prefer)
 ... lots of output ...
 % su
 # make install prefix=/usr  (to match above prefix)

The "make uninstall" target should also work, but it does not. Uninstall target is traditionally unsupported by GIT build system. If you want to uninstall/upgrade GIT later, use packaged releases from your GNU/Linux distribution or install it into a dedicated directory.

Mac OS X Edit

The easiest way is to use fink to install git. It "just works."

FreeBSD Edit

FreeBSD Ports collection lets you to install git quickly:

 # cd /usr/ports/devel/git && make install clean

When in doubt, consult Packages and Ports section of FreeBSD Handbook.

Solaris Edit

Makefile doesn't adhere to POSIX 'make' syntax, so use GNU 'make'.

If you don't have "libcurl" and "curl" executable, define the NO_CURL variable to GNU 'make'. For example,

 jesus% cd /tmp/git-
 jesus% gmake prefix=/usr NO_CURL=1 all

Disabling curl will compile without curl, but since that is used to support the http and ftp protocol, this will also disable support for "http:" and "ftp:" urls. This should be fine as the main git repository for Icarus Verilog is accessed via a "git:" url.

In the case of SunOS, Makefile sets the INSTALL variable to "ginstall". If that command isn't found, set the variable instead to "/usr/ucb/install", known in the Solaris man pages as install(1B). For example,

 root@jesus # gmake prefix=/usr NO_CURL=1 INSTALL=/usr/ucb/install install

Makefile is incompatible with install(1M). The first problem you would notice is relatively minor. For example, the syntax of

 $(INSTALL) -d -m755 '$(DESTDIR_SQ)$(bindir_SQ)'

is incorrect because there is no whitespace between the -m option and its mode argument. The second problem is severe. You will see

 install: git-convert-objects was not found anywhere!

resulting from

 $(INSTALL) $(ALL_PROGRAMS) '$(DESTDIR_SQ)$(gitexecdir_SQ)'

install(1M) searches for the first program, git-convert-objects, in all of the "directories" that follow it. If the file is not found, install(1M) states this and exits. Well, most of those things are not directories. They're more programs. Makefile was obviously not expecting the semantics of install(1M).

Ad blocker interference detected!

Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.