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.
精彩评论