Hi Leute,
ich hab heute schon den ganzen Tag versucht den NVI von BSD (den es ja auch für Debian gibt) auf meinem ArchLinux zu kompilieren und wollte dann mit Hilfe der dabei gemachten Erfahrungen auch eine PKGBUILD-Datei erstellen.
Leider haut es bei mir nicht hin, weder mit der aktuellen Version 1.79 (
ftp://ftp.sleepycat.com/pub/nvi-1.79.tar.gz), noch mit der Developer-Version 1.81.5 (
http://193.190.253.81/~skimo/nvi/deve...).
Die 1.79 lässt sich kompilieren, aber nicht starten. Und die 1.81.5 lässt sich nichtmal compilieren.
Ich bin dabei wie folgt vorgegangen:
BAUVER="`pwd`"
### ncurses
wget ftp://invisible-island.net/ncurses/ncurses-5.5.tar.gz
tar -xzf ncurses-5.5.tar.gz
cd ncurses-5.5
./configure --with-normal --enable-overwrite \
--enable-widec --disable-database \
--enable-getcap --enable-getcap-cache --enable-termcap \
--enable-warnings --with-gpm --with-sysmouse
make
cd ${BAUVER}
### DB
wget http://download.oracle.com/berkeley-db/db-3.1.17.tar.gz
tar -xzf db-3.1.17.tar.gz
cd db-3.1.17
### Auf keinen Fall die DB3.2 verwenden!
### Das steht in der README.
### Und bei DB3.3 bricht "configure" immer ab...
#wget http://download.oracle.com/berkeley-db/db-3.3.11.tar.gz
#tar -xzf db-3.3.11.tar.gz
#cd db-3.3.11
cd dist
# gcc -Wl,-Bsymbolic
./configure --enable-shared=no --enable-static=yes
make
cd ${BAUVER}
### NVI
wget http://193.190.253.81/~skimo/nvi/devel/nvi-1.81.5.tar.bz2
bzcat nvi-1.81.5.tar.bz2 | tar -xf -
cd nvi-1.81.5
cd build.unix
../dist/configure --program-prefix=n --disable-re \
--enable-threads \
--enable-widechar \
--prefix=/usr/local/nvi-1.81.5 \
--with-curses=${BAUVER}/ncurses-5.5 \
--with-db3=${BAUVER}/db-3.1.17
make
cd ${BAUVER}
Hier kommt dann die Fehlermeldung:
checking for int16_t... yes
checking for u_int32_t... yes
checking for int32_t... yes
checking return type of fprintf... void
checking fprintf prototype needed... no
checking for db_create in -ldb... yes
checking if --enable-dynamic-loading option specified... no
checking if --disable-re option specified... other RE
updating cache ./config.cache
creating ./config.status
creating Makefile
creating port.h
creating pathnames.h
creating recover
creating config.h
make all-am
make[1]: Entering directory `/var/tmp/nvi-1.81.5/build.unix'
/bin/sh ./libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I../dist -I. -D__REGEX_PRIVATE -O -I/home/manfred/tmp/db-3.1.17/include -g -O2 -I. -I../dist/../include -DVI=\"/usr/local/nvi-1.81.5/bin/`echo vi-ipc | sed 's,^,n,; '`\" -c -o api.lo `test -f ../dist/../common/api.c || echo '../dist/'`../dist/../common/api.c
mkdir .libs
gcc -DHAVE_CONFIG_H -I. -I../dist -I. -D__REGEX_PRIVATE -O -I/home/manfred/tmp/db-3.1.17/include -g -O2 -I. -I../dist/../include -DVI=\"/usr/local/nvi-1.81.5/bin/nvi-ipc\" -c ../dist/../common/api.c -fPIC -DPIC -o .libs/api.lo
../dist/../common/api.c: In function 'api_opts_set':
../dist/../common/api.c:474: error: invalid lvalue in assignment
../dist/../common/api.c:474: error: invalid lvalue in assignment
../dist/../common/api.c:474: error: invalid lvalue in assignment
../dist/../common/api.c:478: error: invalid lvalue in assignment
../dist/../common/api.c:478: error: invalid lvalue in assignment
../dist/../common/api.c:478: error: invalid lvalue in assignment
../dist/../common/api.c:482: error: invalid lvalue in assignment
../dist/../common/api.c:482: error: invalid lvalue in assignment
../dist/../common/api.c:482: error: invalid lvalue in assignment
make[1]: *** [api.lo] Fehler 1
make[1]: Leaving directory `/var/tmp/nvi-1.81.5/build.unix'
make: *** [all] Fehler 2
Am liebsten würde ich den statisch haben wollen, um das Binary auch einfach auf andere Maschinen kompieren zu können. Aber wenn das aus irgend welchen Gründen nicht geht, dann eben nicht.
Alternativ würde es mir auch genügen, wenn ich den vim wie ein nvi umkonfigurieren könnte.
Aber ich glaube nicht das man dem blöden vim beibringen kann die Tasten "
" und "[.]" richtig zu benutzen...... 🙁