nvi2 icon indicating copy to clipboard operation
nvi2 copied to clipboard

linux build recommendations

Open kajukenbo opened this issue 4 years ago • 9 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.

kajukenbo avatar Sep 24 '20 04:09 kajukenbo

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

DidacGit avatar Sep 28 '20 13:09 DidacGit

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 avatar Oct 21 '20 17:10 matijaskala

@matijaskala

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

kajukenbo avatar Oct 21 '20 20:10 kajukenbo

@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 f804087623a3eb9800b7bb65314c3c419d9c4f0a helps a bit with GCC and GNU libc.

frno7 avatar Feb 01 '21 19:02 frno7

@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"

kajukenbo avatar Feb 01 '21 20:02 kajukenbo

@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])

kajukenbo avatar Feb 03 '21 02:02 kajukenbo

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:  [email protected] (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.

frno7 avatar Feb 03 '21 16:02 frno7

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.

kajukenbo avatar Feb 24 '21 20:02 kajukenbo

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

jsbmg avatar Dec 09 '21 04:12 jsbmg