lichray / nvi2

A multibyte fork of the nvi editor for BSD

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

linux build recommendations

kajukenbo opened this issue · comments

Dumb questions, but I am going in circles with internet searches.
I am trying a sample build on Debian systems, but I am unfamiliar with cmake.
I am used to normal makefiles, make clean install, etc.

Is there a recommended Linux platform to build on?
A list of build dependencies?
A list of cmake flags / settings that are needed?

The error logs are not very helpful either.
-- Configuring incomplete, errors occurred!
See also ".../nvi2-linux/CMakeFiles/CMakeOutput.log".
See also ".../nvi2-linux/CMakeFiles/CMakeError.log".

$ cmake --version
cmake version 3.10.2

I thought it might be worth a shot to ask.

The instructions in the wiki seem outdated as well, i.e. references to "cmake -i" which no longer seems to be supported.

Thanks for any advice you might have.

I would much rather use nvi over slow, bloated vim implementations.
But the versions shipping in most Linux distros are 1.81.6 circa 2007 at best.
Including several quirks and bugs, as you may know.

commented

I'm also unable to build it in Arch Linux. It's sad how there are no maintained vi implementations for Linux.

mkdir build
cd build
cmake -DCMAKE_C_COMPILER=clang ..

This branch is slightly easier to compile on linux distros other than Gentoo or Mageia.

@matijaskala

Thank you. I will give it a try sometime in the next week or so.

commented

@matijaskala, I’ve made a package app-editors/nvi2 for Gentoo, with a dependency on sys-libs/db:1. Only the (9999) Git HEAD variant so far. Also, commit f804087 helps a bit with GCC and GNU libc.

@matijaskala, I’ve made a package app-editors/nvi2 for Gentoo, with a dependency on sys-libs/db:1. Only the (9999) Git HEAD variant so far. Also, commit f804087 helps a bit with GCC and GNU libc.

Interesting. Thank you for the effort.
I've been considering switching from Devuan to a Gentoo base.
This might be an excuse to try out "Redcore Linux"

@frno7
I have a basic Gentoo build environment using a live-usb image of Calculate Linux.
I might post a HOWTO if I have consistent build results, but I am currently stuck.

As your note indicates, I need "sys-libs/db:1"
Any tips on where / how to get it? DuckDuckGo is failing me here.

guest@calculate /var/db/repos/frno7 $ sudo emerge app-editors/nvi2
Calculating dependencies... done!

The following keyword changes are necessary to proceed:
(see "package.accept_keywords" in the portage(5) man page for more details)
# required by app-editors/nvi2 (argument)
=app-editors/nvi2-9999 **

NOTE: The --autounmask-keep-masks option will prevent emerge
from creating package.unmask or ** keyword changes.

Use --autounmask-write to write changes to config files (honoring
CONFIG_PROTECT). Carefully examine the list of proposed changes,
paying special attention to mask or keyword changes that may expose
experimental or unstable packages.

* In order to avoid wasting time, backtracking has terminated early
* due to the above autounmask change(s). The --autounmask-backtrack=y
* option can be used to force further backtracking, but there is no
* guarantee that it will produce a solution.

emerge: there are no ebuilds to satisfy "sys-libs/db:1".
(dependency required by "app-editors/nvi2-9999::frno7" [ebuild])
(dependency required by "app-editors/nvi2" [argument])

commented

As your note indicates, I need "sys-libs/db:1" Any tips on where / how to get it?

I believe it comes with Gentoo proper. What does equery m sys-libs/db say? I have, shortened for brevity:

Maintainer:  base-system@gentoo.org (Gentoo Base System)
Upstream:    None specified
Homepage:    http://www.oracle.com/technetwork/database/database-technologies/berkeleydb/overview/index.html
Location:    /usr/portage/sys-libs/db
Keywords:    1.85-r4:1: amd64 arm arm64 hppa ppc ppc64 s390 sparc x86 ~alpha ~ia64 ~m68k ~mips
Keywords:    3.2.9_p2-r1:3: amd64 arm arm64 hppa ppc ppc64 s390 sparc x86 ~alpha ~ia64 ~m68k ~mips
Keywords:    4.2.52_p5-r3:4.2: amd64 arm arm64 hppa ppc ppc64 s390 sparc x86 ~alpha ~ia64 ~m68k ~mips ~x64-macos
...
Keywords:    18.1.32:18.1: 
Keywords:    18.1.40:18.1: ~alpha ~amd64 ~amd64-linux ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc-macos ~ppc64 ~riscv ~s390 ~sparc ~sparc-solaris ~sparc64-solaris ~x64-macos ~x64-solaris ~x86 ~x86-solaris
License:     Sleepycat

The dependency is on 1.85-r4:1, as listed above. Gentoo supplies db-1.85-r4.ebuild, and I suppose you could use it with in an overlay for your Calculate Linux, if it’s missing.

The following keyword changes are necessary to proceed:
(see "package.accept_keywords" in the portage(5) man page for more details)
# required by app-editors/nvi2 (argument)
=app-editors/nvi2-9999 **

This is expected, because I’m waiting for @lichray to tag a version suitable for GCC and GNU libc, perhaps 2.2.1 or suchlike. In the meantime, the package (having 9999 as Gentoo has it) builds Git HEAD of nvi2, and is therefore marked unstable, needing an accept_keywords directive to proceed with the installation.

Sorry, I forgot to give an update.
I did get the compile finished on Calculate Linux.
I will post my notes when I have some time after I am finished testing.

I was able to compile @matijaskalal's fork with US_DB=off on Fedora 34.