I'm trying to install vim to $HOME/bin by compiling the sources.
./configure --prefix=$home/bin
seems to work, but when running make I get:
> make
Starting make in the src directory.
If there are problems, cd to the src directory and run make there
cd src && make first
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/openwin/include -I/usr/sfw/include -I/usr/sfw/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -g -O2 -I/usr/openwin/include -o objects/buffer.o buffer.c
In file included from buffer.c:28:
vim.h:41: error: syntax error before ':' token
In file included from os_unix.h:29,
from vim.h:245,
from buffer.c:28:
/usr/include/sys/stat.h:251: error: syntax error before "blksize_t"
/usr/include/sys/stat.h:255: error: syntax error before '}' token
/usr/include/sys/stat.h:309: error: syntax error before "blksize_t"
/usr/include/sys/stat.h:310: error: conflicting types for 'st_blocks'
/usr/include/sys/stat.h:252: error: previous declaration of 'st_blocks' was here
/usr/include/sys/stat.h:313: error: syntax error before '}' token
In file included from /opt/local/bin/../lib/gcc/sparc-sun-solaris2.6/3.4.6/include/sys/signal.h:132,
from /usr/include/signal.h:26,
from os_unix.h:163,
from vim.h:245,
from buffer.c:28:
/usr/include/sys/siginfo.h:259: error: syntax error before "ctid_t"
/usr/include/sys/siginfo.h:292: error: syntax error before '}' token
/usr/include/sys/siginfo.h:294: error: syntax error before '}' token
/usr/include/sys/siginfo.h:390: error: syntax error before "ctid_t"
/usr/include/sys/siginfo.h:398: error: conflicting types for '__fault'
/usr/include/sys/siginfo.h:267: error: previous declaration of '__fault' was here
/usr/include/sys/siginfo.h:404: error: conflicting types for '__file'
/usr/include/sys/siginfo.h:273: error: previous declaration of '__file' was here
/usr/include/sys/siginfo.h:420: error: conflicting types for '__prof'
/usr/include/sys/siginfo.h:287: error: previous declaration of '__prof' was here
/usr/include/sys/siginfo.h:424: error: conflicting types for '__rctl'
/usr/include/sys/siginfo.h:291: error: previous declaration of '__rctl' was here
/usr/include/sys/siginfo.h:426: error: syntax error before '}' token
/usr/include/sys/siginfo.h:428: error: syntax error before '}' token
/usr/include/sys/siginfo.h:432: error: syntax error before "k_siginfo_t"
/usr/include/sys/siginfo.h:437: error: syntax error before '}' token
In file included from /usr/include/signal.h:26,
from os_unix.h:163,
from vim.h:245,
from buffer.c:28:
/opt/local/bin/../lib/gcc/sparc-sun-solaris2.6/3.4.6/include/sys/signal.h:173: error: syntax error before "siginfo_t"
In file included from os_unix.h:163,
from vim.h:245,
from buffer.c:28:
/usr/include/signal.h:111: error: syntax error before "siginfo_t"
/usr/include/signal.h:113: error: syntax error before "siginfo_t"
buffer.c: In function `buflist_new':
buffer.c:1502: error: storage size of 'st' isn't known
buffer.c: In function `buflist_findname':
buffer.c:1989: error: storage size of 'st' isn't known
buffer.c: In function `setfname':
buffer.c:2578: error: storage size of 'st' isn't known
buffer.c: In function `otherfile_buf':
buffer.c:2836: error: storage size of 'st' isn't known
buffer.c: In function `buf_setino':
buffer.c:2874: error: storage size of 'st' isn't known
buffer.c: In function `buf_same_ino':
buffer.c:2894: error: dereferencing pointer to incomplete type
buffer.c:2895: error: dereferencing pointer to incomplete type
*** Error code 1
make: Fatal error: Command failed for target `objects/buffer.o'
Current working directory /home/xluntor/vim72/src
*** Error code 1
make: Fatal error: Command failed for target `first'
How do I fix the make errors? Or is there another way to install vim as non-root?
Thanks in advance
EDIT: I took a look at the google groups link Sarah posted. The "Compiling Vim" page linked from there was for Linux, so the commands doesn't even work on Solars. But it did hint at logging the output of ./configure to a file, so I did that. Here it is:
./configure output removed. New version further down.
Does anyone spot anything critical missing?
EDIT 2:
So I downloaded the vim package from sunfreeware. I couldn't just install it, since I don't have root privileges, but I was able to extract the package file. This was the file structure in it:
`-- SMCvim
`-- reloc
|-- bin
|-- doc
| `-- vim
`-- share
|-- man
| `-- man1
`-- vim
`-- vim72
|-- autoload
| `-- xml
|-- colors
|-- compiler
|-- doc
|-- ftplugin
|-- indent
|-- keymap
|-- lang
|-- macros
| |-- hanoi
| |-- life
| |-- maze
| `-- urm
|-- plugin
|-- print
|-- spell
|-- syntax
|-- tools
`-- tutor
I moved the three files (vim, vimtutor, xdd) in SMCvim/reloc/bin to $HOME/bin, so now I can finally run $HOME/bin/vim! But where do I put the "share" directory and its content?
EDIT 3: It might also be worth noting that there already exists an install of vim on the system, but it is broken. When I try to run it I get:
ld.so.1: vim: fatal: libgtk-1.2.so.0: open failed: No such file or directory
"which vim" outputs
/opt/local/bin/vim
EDIT 4: Trying to compile this on Solaris 10.
uname -a
SunOS ws005-22 5.10 Generic_141414-10 sun4u sparc SUNW,SPARC-Enterprise
New ./configure output:
./configure --prefix=$home/bin ac_cv_sizeof_int=8 --enable-rubyinterp
configure: loading cache auto/config.cache
checking whether make sets $(MAKE)... yes
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... unsupported
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/sfw/bin/ggrep
checking for egrep... /usr/sfw/bin/ggrep -E
checking for library containing strerror... none required
checking for gawk... gawk
checking for strip... strip
checking for ANSI C header files... yes
checking for sys/wait.h that is POSIX.1 compatible... no
configure: checking for buggy tools...
checking for BeOS... no
checking for QNX... no
checking for Darwin (Mac OS X)... no
checking --with-local-dir argument... Defaulting to /usr/local
checking --with-vim-name argument... Defaulting to vim
checking --with-ex-name argument... Defaulting to ex
checking --with-view-name argument... Defaulting to view
checking --with-global-runtime argument... no
checking --with-modified-by argument... no
checking if character set is EBCDIC... no
checking --disable-selinux argument... no
checking for is_selinux_enabled in -lselinux... no
checking --with-features argument... Defaulting to normal
checking --with-compiledby argument... no
checking --disable-xsmp argument... no
checking --disable-xsmp-interact argument... no
checking --enable-mzschemeinterp argument... no
checking --enable-perlinterp argument... no
checking --enable-pythoninterp argument... no
checking --enable-tclinterp argument... no
checking --enable-rubyinterp argument... yes
checking for ruby... /opt/sfw/bin/ruby
checking Ruby version... OK
checking Ruby header files... /opt/sfw/lib/ruby/1.6/sparc-solaris2.10
checking --enable-cscope argument... no
checking --enable-workshop argument... no
checking --disable-netbeans argument... no
checking for socket in -lsocket... yes
checking for gethostbyname in -lnsl... yes
checking whether compiling netbeans integration is possible... no
checking --enable-sniff argument... no
checking --enable-multibyte argument... no
checking --enable-hangulinput argument... no
checking --enable-xim argument... defaulting to auto
checking --enable-fontset argument... no
checking for xmkmf... /usr/openwin/bin/xmkmf
checking for X... libraries /usr/openwin/lib, headers /usr/openwin/include
checking whether -R must be followed by a space... no
checking for gethostbyname... yes
checking for connect... yes
checking for remove... yes
checking for shmat... yes
checking for IceConnectionNumber in -lICE... yes
checking if X11 header files can be found... yes
checking for _XdmcpAuthDoIt in -lXdmcp... no
checking for IceOpenConnection in -lICE... yes
checking for XpmCreatePixmapFromData in -lXpm... yes
checking if X11 header files implicitly declare return values... no
checking --enable-gui argument... yes/auto - automatic GUI support
checking whether or not to look for GTK... yes
checking whether or not to look for GTK+ 2... yes
checking whether or not to look for GNOME... no
checking whether or not to look for Motif... yes
checking whether or not to look for Athena... yes
checking whether or not to look for neXtaw... yes
checking whether or not to look for Carbon... yes
checking --with-gtk-prefix argument... no
checking --with-gtk-exec-prefix argument... no
checking --disable-gtktest argument... gtk test enabled
checking for gtk-config... /opt/local/bin/gtk-config
checking for pkg-config... /usr/bin/pkg-config
checking for GTK - version = 2.2.0... yes; found version 2.4.9
checking X11/SM/SMlib.h usability... yes
checking X11/SM/SMlib.h presence... yes
checking for X11/SM/SMlib.h... yes
checking X11/xpm.h usability... yes
checking X11/xpm.h presence... yes
checking for X11/xpm.h... yes
checking X11/Sunkeysym.h usability... yes
checking X11/Sunkeysym.h presence... yes
checking for X11/Sunkeysym.h... yes
checking for XIMText in X11/Xlib.h... yes
X GUI selected; xim has been enabled
checking whether toupper is broken... no
checking whether __DATE__ and __TIME__ work... yes
checking elf.h usability... yes
checking elf.h presence... yes
checking for elf.h... yes
checking for main in -lelf... yes
checking for dirent.h that defines DIR... yes
checking for library containing opendir... none required
checking for sys/wait.h that defines union wait... no
checking stdarg.h usability... yes
checking stdarg.h presence... yes
checking for stdarg.h... yes
checking stdlib.h usability... yes
checking stdlib.h presence... yes
checking for stdlib.h... yes
checking string.h usability... yes
checking string.h presence... yes
checking for string.h... yes
checking sys/select.h usability... yes
checking sys/select.h presence... yes
checking for sys/select.h... yes
checking sys/utsname.h usability... yes
checking sys/utsname.h presence... yes
checking for sys/utsname.h... yes
checking termcap.h usability... yes
checking termcap.h presence... yes
checking for termcap.h... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking sgtty.h usability... yes
checking sgtty.h presence... yes
checking for sgtty.h... yes
checking sys/ioctl.h usability... yes
checking sys/ioctl.h presence... yes
checking for sys/ioctl.h... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking sys/types.h usability... yes
checking sys/types.h presence... yes
checking for sys/types.h... yes
checking termio.h usability... yes
checking termio.h presence... yes
checking for termio.h... yes
checking iconv.h usability... yes
checking iconv.h presence... yes
checking for iconv.h... yes
checking langinfo.h usability... yes
checking langinfo.h presence... yes
checking for langinfo.h... yes
checking math.h usability... yes
checking math.h presence... yes
checking for math.h... yes
checking unistd.h usability... yes
checking unistd.h presence... yes
checking for unistd.h... yes
checking stropts.h usability... no
checking stropts.h presence... yes
configure: WARNING: stropts.h: present but cannot be compiled
configure: WARNING: stropts.h: check for missing prerequisite headers?
configure: WARNING: stropts.h: see the Autoconf documentation
configure: WARNING: stropts.h: section "Present But Cannot Be Compiled"
configure: WARNING: stropts.h: proceeding with the preprocessor's result
configure: WARNING: stropts.h: in the future, the compiler will take precedence
checking for stropts.h... yes
checking errno.h usability... yes
checking errno.h presence... yes
checking for errno.h... yes
checking sys/resource.h usability... yes
checking sys/resource.h presence... yes
checking for sys/resource.h... yes
checking sys/systeminfo.h usability... yes
checking sys/systeminfo.h presence... yes
checking for sys/systeminfo.h... yes
checking locale.h usability... yes
checking locale.h presence... yes
checking for locale.h... yes
checking sys/stream.h usability... no
checking sys/stream.h presence... yes
configure: WARNING: sys/stream.h: present but cannot be compiled
configure: WARNING: sys/stream.h: check for missing prerequisite headers?
configure: WARNING: sys/stream.h: see the Autoconf documentation
configure: WARNING: sys/stream.h: section "Present But Cannot Be Compiled"
configure: WARNING: sys/stream.h: proceeding with the preprocessor's result
configure: WARNING: sys/stream.h: in the future, the compiler will take precedence
checking for sys/stream.h... yes
checking termios.h usability... yes
checking termios.h presence... yes
checking for termios.h... yes
checking libc.h usability... no
checking libc.h presence... no
checking for libc.h... no
checking sys/statfs.h usability... yes
checking sys/statfs.h presence... yes
checking for sys/statfs.h... yes
checking poll.h usability... yes
checking poll.h presence... yes
checking for poll.h... yes
checking sys/poll.h usability... yes
checking sys/poll.h presence... yes
checking for sys/poll.h... yes
checking pwd.h usability... yes
checking pwd.h presence... yes
checking for pwd.h... yes
checking utime.h usability... yes
checking utime.h presence... yes
checking for utime.h... yes
checking sys/param.h usability... yes
checking sys/param.h presence... yes
checking for sys/param.h... yes
checking libintl.h usability... yes
checking libintl.h presence... yes
checking for libintl.h... yes
checking libgen.h usability... yes
checking libgen.h presence... yes
checking for libgen.h... yes
checking util/debug.h usability... no
checking util/debug.h presence... no
checking for util/debug.h... no
checking util/msg18n.h usability... no
checking util/msg18n.h presence... no
checking for util/msg18n.h... no
checking frame.h usability... no
checking frame.h presence... no
checking for frame.h... no
checking sys/acl.h usability... yes
checking sys/acl.h presence... yes
checking for sys/acl.h... yes
checking sys/access.h usability... no
checking sys/access.h presence... no
checking for sys/access.h... no
checking sys/sysctl.h usability... no
checking sys/sysctl.h presence... no
checking for sys/sysctl.h... no
checking sys/sysinfo.h usability... yes
checking sys/sysinfo.h presence... yes
checking for sys/sysinfo.h... yes
checking wchar.h usability... yes
checking wchar.h presence... yes
checking for wchar.h... yes
checking wctype.h usability... yes
checking wctype.h presence... yes
checking for wctype.h... yes
checking for sys/ptem.h... no
checking for pthread_np.h... no
checking strings.h usability... yes
checking strings.h presence... yes
checking for strings.h... yes
checking if strings.h can be included after string.h... yes
checking whether gcc needs -traditional... no
checking for an ANSI C-conforming const... yes
checking for mode_t... yes
checking for off_t... yes
checking for pid_t... yes
checking for size_t... yes
checking for uid_t in sys/types.h... yes
checking whether time.h and sys/time.h may both be included... yes
checking for ino_t... yes
checking for dev_t... yes
checking for rlim_t... yes
checking for stack_t... yes
checking whether stack_t has an ss_base field... no
checking --with-tlib argument... empty: automatic terminal library selection
checking for tgetent in -lncurses... yes
checking whether we talk terminfo... yes
checking what tgetent() returns for an unknown terminal... zero
checking whether termcap.h contains ospeed... yes
checking whether termcap.h contains UP, BC and PC... yes
checking whether tputs() uses outfuntype... no
checking whether sys/select.h and sys/time.h may both be included... yes
checking for /dev/ptc... no
checking for SVR4 ptys... yes
checking for ptyranges... don't know
checking default tty permissions/group... can't determine - assume ptys are world accessable
world
checking return type of signal handlers... void
checking for struct sigcontext... no
checking getcwd implementation is broken... no
checking for bcmp... yes
checking for fchdir... yes
checking for fchown... yes
checking for fseeko... yes
checking for fsync... yes
checking for ftello... yes
checking for getcwd... yes
checking for getpseudotty... no
checking for getpwnam... yes
checking for getpwuid... yes
checking for getrlimit... yes
checking for gettimeofday... yes
checking for getwd... yes
checking for lstat... yes
checking for memcmp... yes
checking for memset... yes
checking for nanosleep... no
checking for opendir... yes
checking for putenv... yes
checking for qsort... yes
checking for readlink... yes
checking for select... yes
checking for setenv... yes
checking for setpgid... yes
checking for setsid... yes
checking for sigaltstack... yes
checking for sigstack... yes
checking for sigset... yes
checking for sigsetjmp... yes
checking for sigaction... yes
checking for sigvec... no
checking for strcasecmp... yes
checking for strerror... yes
checking for strftime... yes
checking for stricmp... no
checking for strncasecmp... yes
checking for strnicmp... no
checking for strpbrk... yes
checking for strtol... yes
checking for tgetent... yes
checking for towlower... yes
checking for towupper... yes
checking for iswupper... yes
checking for usleep... yes
checking for utime... yes
checking for utimes... yes
checking for st_blksize... no
checking whether stat() ignores a trailing slash... no
checking for iconv_open()... yes; with -liconv
checking for nl_langinfo(CODESET)... yes
checking for strtod in -lm... yes
checking for strtod() and other floating point functions... yes
checking --disable-acl argument... no
checking for acl_get_file in -lposix1e... no
checking for acl_get_file in -lacl... no
checking for POSIX ACL support... no
checking for Solaris ACL support... yes
checking for AIX ACL support... no
checking --disable-gpm argument... no
checking for gpm... no
checking --disable-sysmouse argument... no
checking for sysmouse... no
checking for rename... yes
checking for sysctl... not usable
checking for sysinfo... not usable
checking for sysinfo.mem_unit... no
checking for sysconf... yes
checking size of int... (cached) 8
checking whether memmove handles overlaps... yes
checking for _xpg4_setrunelocale in -lxpg4... no
checking how to create tags... ctags -t
checking how to run man with a section nr... man -s
checking --disable-nls argument... no
checking for msgfmt... msgfmt
checking for NLS... no "po/Makefile" - disabled
checking dlfcn.h usability... yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
checking for dlopen()... yes
checking for dlsym()... yes
checking setjmp.h usability... yes
checking setjmp.h presence... yes
checking for setjmp.h... yes
checking for GCC 3 or later... yes
configure: updating cache auto/config.cache
configure: creating auto/config.status
config.status: creating auto/config.mk
config.status: creating auto/config.h
Make:
make
Starting make in the src directory.
If there are problems, cd to the src directory and run make there
cd src && make first
mkdir objects
CC="gcc -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/openwin/include -I/usr/sfw/include -I/usr/sfw/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/openwin/include -I/opt/sfw/lib/ruby/1.6/sparc-solaris2.10 " srcdir=. sh ./osdef.sh
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/openwin/include -I/usr/sfw/include -I/usr/sfw/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -g -O2 -I/usr/openwin/include -I/opt/sfw/lib/ruby/1.6/sparc-solaris2.10 -o objects/buffer.o buffer.c
In file included from os_unix.h:29,
from vim.h:245,
from buffer.c:28:
/usr/include/sys/stat.h:251: error: syntax error before "blksize_t"
/usr/include/sys/stat.h:255: error: syntax error before '}' token
/usr/include/sys/stat.h:309: error: syntax error before "blksize_t"
/usr/include/sys/stat.h:310: error: conflicting types for 'st_blocks'
/usr/include/sys/stat.h:252: error: previous declaration of 'st_blocks' was here
/usr/include/sys/stat.h:313: error: syntax error before '}' token
In file included from /opt/local/bin/../lib/gcc/sparc-sun-solaris2.6/3.4.6/include/sys/signal.h:132,
from /usr/include/signal.h:26,
from os_unix.h:163,
from vim.h:245,
from buffer.c:28:
/usr/include/sys/siginfo.h:259: error: syntax error before "ctid_t"
/usr/include/sys/siginfo.h:292: error: syntax error before '}' token
/usr/include/sys/siginfo.h:294: error: syntax error before '}' token
/usr/include/sys/siginfo.h:390: error: syntax error before "ctid_t"
/usr/include/sys/siginfo.h:398: error: conflicting types for '__fault'
/usr/include/sys/siginfo.h:267: error: previous declaration of '__fault' was here
/usr/include/sys/siginfo.h:404: error: conflicting types for '__file'
/usr/include/sys/siginfo.h:273: error: previous declaration of '__file' was here
/usr/include/sys/siginfo.h:420: error: conflicting types for '__prof'
/usr/include/sys/siginfo.h:287: error: previous declaration of '__prof' was here
/usr/include/sys/siginfo.h:424: error: conflicting types for '__rctl'
/usr/include/sys/siginfo.h:291: error: previous declaration of '__rctl' was here
/usr/include/sys/siginfo.h:426: error: syntax error before '}' token
/usr/include/sys/siginfo.h:428: error: syntax error before '}' token
/usr/include/sys/siginfo.h:432: error: syntax error before "k_siginfo_t"
/usr/include/sys/siginfo.h:437: error: syntax error before '}' token
In file included from /usr/include/signal.h:26,
from os_unix.h:163,
from vim.h:245,
from buffer.c:28:
/opt/local/bin/../lib/gcc/sparc-sun-solaris2.6/3.4.6/include/sys/signal.h:173: error: syntax error before "siginfo_t"
In file included from os_unix.h:163,
from vim.h:245,
from buffer.c:28:
/usr/include/signal.h:111: error: syntax error before "siginfo_t"
/usr/include/signal.h:113: error: syntax error before "siginfo_t"
buffer.c: In function `buflist_new':
buffer.c:1502: error: storage size of 'st' isn't known
buffer.c: In function `buflist_findname':
buffer.c:1989: error: storage size of 'st' isn't known
buffer.c: In function `setfname':
buffer.c:2578: error: storage size of 'st' isn't known
buffer.c: In function `otherfile_buf':
buffer.c:2836: error: storage size of 'st' isn't known
buffer.c: In function `buf_setino':
buffer.c:2874: error: storage size of 'st' isn't known
buffer.c: In function `buf_same_ino':
buffer.c:2894: error: dereferencing pointer to incomplete type
buffer.c:2895: error: dereferencing pointer to incomplete type
*** Error code 1
make: Fatal error: Command failed for target `objects/buffer.o'
Current working directory /home/xluntor/vim72/src
*** Error code 1
make: Fatal error: Command failed for target `first'