开发者

Segmentation Fault using Git on Virtual Machine

I have just created an Ubuntu virtual machine for web development and I want to use Git for version control, however I'm running into some problems. [The reason that I mention the VM is simply because I've never encountered these problems before with a normal install.]

I used git init to initialize a new Git repo and I immediately receive the following error: segmentation fault.

Git appears to actually initialize the repository (by creating the relevant files), but when I try to git status or git add I receive errors saying fatal: not a Git repository.

Any insight into this problem would be appreciated.

UPDATE

Here is the info requested by @sehe:

a)

servace85@ubuntu:/var/www$uname -a
Linux ubuntu 2.6.38-8-generic #42-Ubuntu SMP Mon Apr 11 03:31:24 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux

servace85@ubuntu:/var/www$lsb_release -a
Distributor ID: Ubuntu
Description:    Ubuntu 11.04
Release:    11.04
Codename:   natty

b)

servace85@ubuntu:/var/www$dpkg --status git
Package: git
Status: install ok installed
Priority: optional
Section: vcs
Installed-Size: 10624
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Architecture: amd64
Version: 1:1.7.4.1-3
Replaces: cogito (<< 0.16rc2-0), git-core (<< 1:1.7.0.4-1.), gitweb (<< 1:1.7.4~rc1)
Provides: git-completion, git-core
Depends: libc6 (>= 2.7), libcurl3-gnutls (>= 7.16.2-1), libexpat1 (>= 1.95.8), zlib1g (>= 1:1.2.0), perl-modules, liberror-perl, git-man (>> 1:1.7.4.1), git-man (<< 1:1.7.4.1-.), emacsen-common
Recommends: patch, less, rsync, ssh-client
Suggests: git-doc, git-el, git-arch, git-cvs, git-svn, git-email, git-daemon-run, git-gui, gitk, gitweb
Breaks: cogito (<= 0.18.2+), git-buildpackage (<< 0.4.38), gitosis (<< 0.2+20090917-7), gitpkg (<< 0.15), gitweb (<< 1:1.7.4~rc1), guilt (<< 0.33), qgit (<< 1.5.5), stgit (<< 0.15), stgit-contrib (<< 0.15)
Conflicts: git-core (<< 1:1.7.0.4-1.)
Conffiles:
 /etc/bash_completion.d/git 8f2975422e54845ec9aea549daa6050b
Description: fast, scalable, distributed revision control system
 Git is popular version control system designed to handle very large
 projects with speed and efficiency; it is used for many high profile
 open source projects, most notably the Linux kernel.
 .
 Git falls in the category of distributed source code management tools.
 Every Git working directory is a full-fledged repository with full
 revision tracking capabilities, not dependent on network access or a
 central server.
 .
 This package provides the git main components with minimal dependencies.
 Additional functionality, e.g. a graphical user interface and revision
 tree visualizer, tools for interoperating with other VCS's, or a web
 interface, is provided as separate git* packages.
Original-Maintainer: Gerrit Pape <pape@smarden.org>
Homepage: http://git-scm.com/

servace85@ubuntu:/var/www$ find /etc/apt -iname '*.list' | xargs cat | grep -v ^# | sort -u
deb http://dl.google.com/linux/chrome/deb/ stable main
deb http://extras.ubuntu.com/ubuntu natty main
deb http://security.ubuntu.com/ubuntu natty-security main restricted
deb http://security.ubuntu.com/ubuntu natty-security multiverse
deb http://security.ubuntu.com/ubuntu natty-security universe
deb http://us.archive.ubuntu.com/ubuntu/ natty main restricted
deb http://us.archive.ubuntu.com/ubuntu/ natty multiverse
deb http://us.archive.ubuntu.com/ubuntu/ natty universe
deb http://us.archive.ubuntu.com/ubuntu/ natty-updates main restricted
deb http://us.archive.ubuntu.com/ubuntu/ natty-updates multiverse
deb http://us.archive.ubuntu.com/ubuntu/ natty-updates universe
deb-src http://extras.ubuntu.com/ubuntu natty main
deb-src http://security.ubuntu.com/ubuntu natty-开发者_StackOverflowsecurity main restricted
deb-src http://security.ubuntu.com/ubuntu natty-security multiverse
deb-src http://security.ubuntu.com/ubuntu natty-security universe
deb-src http://us.archive.ubuntu.com/ubuntu/ natty main restricted
deb-src http://us.archive.ubuntu.com/ubuntu/ natty multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ natty universe
deb-src http://us.archive.ubuntu.com/ubuntu/ natty-updates main restricted
deb-src http://us.archive.ubuntu.com/ubuntu/ natty-updates multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ natty-updates universe

c)

servace85@ubuntu:/var/www$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

servace85@ubuntu:/var/www$ echo $LD_LIBRARY_PATH


servace85@ubuntu:/var/www$ echo $LD_PRELOAD


servace85@ubuntu:/var/www$ which git
/usr/bin/git

servace85@ubuntu:/var/www$ file $(which git)
/usr/bin/git: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.15, stripped

servace85@ubuntu:/var/www$ ldd $(which git)
    linux-vdso.so.1 =>  (0x00007fff841ff000)
    libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f1eee16e000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f1eedf50000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f1eedbbb000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f1eee396000)


Without info, I can only advise:

env -i git init # rule out environment issues?

# or pave over any installation problem:
sudo apt-get install --reinstall git

However, the prefferable way would be to give more info:


(a) what version of ubuntu

uname -a
lsb_release -a

(b) what package / repositories

dpkg --status git

// perhaps large:
find /etc/apt -iname '*.list' | xargs cat | grep -v ^# | sort -u

(c) what environment

echo $PATH
echo $LD_LIBRARY_PATH
echo $LD_PRELOAD
which git
file $(which git)
ldd $(which git)


So, I was correct when I thought it had something to do with the Virtual Machine. It turns out that I was trying to use Git in a shared folder (shared between the VM and the host). This is where Git was having fits.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜