nvi2 icon indicating copy to clipboard operation
nvi2 copied to clipboard

fatal error: unctrl.h: No such file or directory

Open Chirunos opened this issue 1 year ago • 2 comments

nvi2 2.2.1 and Git Ninja 1.10 (Main Repository) CMake 3.28.3 (Main Repository) GCC 14.2+git10526 (Update repository with updates from SUSE Linux Enterprise 15) ncurses-devel+ncurses5-devel 6.1 (Update repository with updates from SUSE Linux Enterprise 15) libdb1-devel 1.85 (home:alsoft:depository) libbsd-devel 0.11.7 (home_ahmedmoselhi2) ghc-wcwidth-devel 0.0.2 (Main Repository) openSUSE Leap 15.6

Full output
$ ninja -C build
ninja: Entering directory `build'
[8/101] Building C object CMakeFiles/nvi.dir/Debug/common/options.c.o
FAILED: CMakeFiles/nvi.dir/Debug/common/options.c.o 
/usr/bin/cc -DCOMLOG -DDEBUG -DLIBBSD_OVERLAY -D_XOPEN_SOURCE_EXTENDED -D__REGEX_PRIVATE -DCMAKE_INTDIR=\"Debug\" -I/home/user/nvi2-2.2.1/build -I/usr/include/db1 -I/home/user/nvi2-2.2.1/regex -g   -isystem /usr/include/bsd -Wall -Wno-parentheses -Wno-uninitialized -Wmissing-prototypes -Wsystem-headers -Wno-string-compare -Wstack-protector -fstack-protector -Wstrict-aliasing -fstrict-aliasing -MD -MT CMakeFiles/nvi.dir/Debug/common/options.c.o -MF CMakeFiles/nvi.dir/Debug/common/options.c.o.d -o CMakeFiles/nvi.dir/Debug/common/options.c.o -c /home/user/nvi2-2.2.1/common/options.c
/home/user/nvi2-2.2.1/common/options.c:23:10: fatal error: unctrl.h: No such file or directory
   23 | #include <unctrl.h>
      |          ^~~~~~~~~~
compilation terminated.
[10/101] Building C object CMakeFiles/nvi.dir/Debug/common/put.c.o
ninja: build stopped: subcommand failed.

Chirunos avatar Dec 14 '24 16:12 Chirunos

Please give cmake -DCMAKE_C_FLAGS="-I/path/to/ncurses/include" .. a try.

lichray avatar Dec 15 '24 05:12 lichray

Please give cmake -DCMAKE_C_FLAGS="-I/path/to/ncurses/include" .. a try.

Now I get this:

Full output
$ cmake -DCMAKE_C_FLAGS="-I/usr/include/ncurses" -G "Ninja Multi-Config" -B build
-- The C compiler identification is GNU 13.3.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Performing Test USE_FCOLOR_DIAGNOSTICS
-- Performing Test USE_FCOLOR_DIAGNOSTICS - Failed
-- Looking for openpty
-- Looking for openpty - found
-- Looking for __b64_ntop
-- Looking for __b64_ntop - not found
-- Looking for asprintf
-- Looking for asprintf - found
-- Looking for iconv
-- Looking for iconv - found
-- Performing Test ICONV_TRADITIONAL
-- Performing Test ICONV_TRADITIONAL - Success
-- Looking for getprogname
-- Looking for getprogname - not found
-- Looking for strlcpy
-- Looking for strlcpy - found
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.2") 
-- Checking for module 'libbsd-overlay'
--   Found libbsd-overlay, version 0.11.7
-- Looking for dbopen
-- Looking for dbopen - not found
-- Looking for include file libutil.h
-- Looking for include file libutil.h - not found
-- Looking for include file ncurses.h
-- Looking for include file ncurses.h - found
-- Looking for include file ncursesw/ncurses.h
-- Looking for include file ncursesw/ncurses.h - found
-- Looking for include file pty.h
-- Looking for include file pty.h - found
-- Looking for include file term.h
-- Looking for include file term.h - found
-- Performing Test HAVE_DIRENT_D_NAMLEN
-- Performing Test HAVE_DIRENT_D_NAMLEN - Failed
-- Performing Test HAVE_STRUCT_STAT_ST_MTIMESPEC
-- Performing Test HAVE_STRUCT_STAT_ST_MTIMESPEC - Failed
-- Performing Test HAVE_STRUCT_STAT_ST_MTIM
-- Performing Test HAVE_STRUCT_STAT_ST_MTIM - Success
-- Configuring done (3.0s)
-- Generating done (0.0s)
-- Build files have been written to: /home/user/nvi2-2.2.1/build
$ ninja -C build
ninja: Entering directory `build'
[8/8] Linking C executable Debug/nvi
FAILED: Debug/nvi 
: && /usr/bin/cc -I/usr/include/ncurses -g  CMakeFiles/nvi.dir/Debug/cl/cl_funcs.c.o CMakeFiles/nvi.dir/Debug/cl/cl_main.c.o CMakeFiles/nvi.dir/Debug/cl/cl_read.c.o CMakeFiles/nvi.dir/Debug/cl/cl_screen.c.o CMakeFiles/nvi.dir/Debug/cl/cl_term.c.o CMakeFiles/nvi.dir/Debug/common/conv.c.o CMakeFiles/nvi.dir/Debug/common/cut.c.o CMakeFiles/nvi.dir/Debug/common/delete.c.o CMakeFiles/nvi.dir/Debug/common/encoding.c.o CMakeFiles/nvi.dir/Debug/common/exf.c.o CMakeFiles/nvi.dir/Debug/common/key.c.o CMakeFiles/nvi.dir/Debug/common/line.c.o CMakeFiles/nvi.dir/Debug/common/log.c.o CMakeFiles/nvi.dir/Debug/common/main.c.o CMakeFiles/nvi.dir/Debug/common/mark.c.o CMakeFiles/nvi.dir/Debug/common/msg.c.o CMakeFiles/nvi.dir/Debug/common/options.c.o CMakeFiles/nvi.dir/Debug/common/options_f.c.o CMakeFiles/nvi.dir/Debug/common/put.c.o CMakeFiles/nvi.dir/Debug/common/recover.c.o CMakeFiles/nvi.dir/Debug/common/screen.c.o CMakeFiles/nvi.dir/Debug/common/search.c.o CMakeFiles/nvi.dir/Debug/common/seq.c.o CMakeFiles/nvi.dir/Debug/common/util.c.o CMakeFiles/nvi.dir/Debug/ex/ex.c.o CMakeFiles/nvi.dir/Debug/ex/ex_abbrev.c.o CMakeFiles/nvi.dir/Debug/ex/ex_append.c.o CMakeFiles/nvi.dir/Debug/ex/ex_args.c.o CMakeFiles/nvi.dir/Debug/ex/ex_argv.c.o CMakeFiles/nvi.dir/Debug/ex/ex_at.c.o CMakeFiles/nvi.dir/Debug/ex/ex_bang.c.o CMakeFiles/nvi.dir/Debug/ex/ex_cd.c.o CMakeFiles/nvi.dir/Debug/ex/ex_cmd.c.o CMakeFiles/nvi.dir/Debug/ex/ex_cscope.c.o CMakeFiles/nvi.dir/Debug/ex/ex_delete.c.o CMakeFiles/nvi.dir/Debug/ex/ex_display.c.o CMakeFiles/nvi.dir/Debug/ex/ex_edit.c.o CMakeFiles/nvi.dir/Debug/ex/ex_equal.c.o CMakeFiles/nvi.dir/Debug/ex/ex_file.c.o CMakeFiles/nvi.dir/Debug/ex/ex_filter.c.o CMakeFiles/nvi.dir/Debug/ex/ex_global.c.o CMakeFiles/nvi.dir/Debug/ex/ex_init.c.o CMakeFiles/nvi.dir/Debug/ex/ex_join.c.o CMakeFiles/nvi.dir/Debug/ex/ex_map.c.o CMakeFiles/nvi.dir/Debug/ex/ex_mark.c.o CMakeFiles/nvi.dir/Debug/ex/ex_mkexrc.c.o CMakeFiles/nvi.dir/Debug/ex/ex_move.c.o CMakeFiles/nvi.dir/Debug/ex/ex_open.c.o CMakeFiles/nvi.dir/Debug/ex/ex_preserve.c.o CMakeFiles/nvi.dir/Debug/ex/ex_print.c.o CMakeFiles/nvi.dir/Debug/ex/ex_put.c.o CMakeFiles/nvi.dir/Debug/ex/ex_quit.c.o CMakeFiles/nvi.dir/Debug/ex/ex_read.c.o CMakeFiles/nvi.dir/Debug/ex/ex_screen.c.o CMakeFiles/nvi.dir/Debug/ex/ex_script.c.o CMakeFiles/nvi.dir/Debug/ex/ex_set.c.o CMakeFiles/nvi.dir/Debug/ex/ex_shell.c.o CMakeFiles/nvi.dir/Debug/ex/ex_shift.c.o CMakeFiles/nvi.dir/Debug/ex/ex_source.c.o CMakeFiles/nvi.dir/Debug/ex/ex_stop.c.o CMakeFiles/nvi.dir/Debug/ex/ex_subst.c.o CMakeFiles/nvi.dir/Debug/ex/ex_tag.c.o CMakeFiles/nvi.dir/Debug/ex/ex_txt.c.o CMakeFiles/nvi.dir/Debug/ex/ex_undo.c.o CMakeFiles/nvi.dir/Debug/ex/ex_usage.c.o CMakeFiles/nvi.dir/Debug/ex/ex_util.c.o CMakeFiles/nvi.dir/Debug/ex/ex_version.c.o CMakeFiles/nvi.dir/Debug/ex/ex_visual.c.o CMakeFiles/nvi.dir/Debug/ex/ex_write.c.o CMakeFiles/nvi.dir/Debug/ex/ex_yank.c.o CMakeFiles/nvi.dir/Debug/ex/ex_z.c.o CMakeFiles/nvi.dir/Debug/vi/getc.c.o CMakeFiles/nvi.dir/Debug/vi/v_at.c.o CMakeFiles/nvi.dir/Debug/vi/v_ch.c.o CMakeFiles/nvi.dir/Debug/vi/v_cmd.c.o CMakeFiles/nvi.dir/Debug/vi/v_delete.c.o CMakeFiles/nvi.dir/Debug/vi/v_ex.c.o CMakeFiles/nvi.dir/Debug/vi/v_increment.c.o CMakeFiles/nvi.dir/Debug/vi/v_init.c.o CMakeFiles/nvi.dir/Debug/vi/v_itxt.c.o CMakeFiles/nvi.dir/Debug/vi/v_left.c.o CMakeFiles/nvi.dir/Debug/vi/v_mark.c.o CMakeFiles/nvi.dir/Debug/vi/v_match.c.o CMakeFiles/nvi.dir/Debug/vi/v_paragraph.c.o CMakeFiles/nvi.dir/Debug/vi/v_put.c.o CMakeFiles/nvi.dir/Debug/vi/v_redraw.c.o CMakeFiles/nvi.dir/Debug/vi/v_replace.c.o CMakeFiles/nvi.dir/Debug/vi/v_right.c.o CMakeFiles/nvi.dir/Debug/vi/v_screen.c.o CMakeFiles/nvi.dir/Debug/vi/v_scroll.c.o CMakeFiles/nvi.dir/Debug/vi/v_search.c.o CMakeFiles/nvi.dir/Debug/vi/v_section.c.o CMakeFiles/nvi.dir/Debug/vi/v_sentence.c.o CMakeFiles/nvi.dir/Debug/vi/v_status.c.o CMakeFiles/nvi.dir/Debug/vi/v_txt.c.o CMakeFiles/nvi.dir/Debug/vi/v_ulcase.c.o CMakeFiles/nvi.dir/Debug/vi/v_undo.c.o CMakeFiles/nvi.dir/Debug/vi/v_util.c.o CMakeFiles/nvi.dir/Debug/vi/v_word.c.o CMakeFiles/nvi.dir/Debug/vi/v_xchar.c.o CMakeFiles/nvi.dir/Debug/vi/v_yank.c.o CMakeFiles/nvi.dir/Debug/vi/v_z.c.o CMakeFiles/nvi.dir/Debug/vi/v_zexit.c.o CMakeFiles/nvi.dir/Debug/vi/vi.c.o CMakeFiles/nvi.dir/Debug/vi/vs_line.c.o CMakeFiles/nvi.dir/Debug/vi/vs_msg.c.o CMakeFiles/nvi.dir/Debug/vi/vs_refresh.c.o CMakeFiles/nvi.dir/Debug/vi/vs_relative.c.o CMakeFiles/nvi.dir/Debug/vi/vs_smap.c.o CMakeFiles/nvi.dir/Debug/vi/vs_split.c.o -o Debug/nvi  /usr/lib64/libresolv.so  Debug/libregex.a  -lncursesw  -lbsd  -ldb1 && :
/usr/lib64/gcc/x86_64-suse-linux/13/../../../../x86_64-suse-linux/bin/ld: skipping incompatible /usr/lib/libdb1.so when searching for -ldb1
/usr/lib64/gcc/x86_64-suse-linux/13/../../../../x86_64-suse-linux/bin/ld: skipping incompatible /usr/lib/libdb1.a when searching for -ldb1
/usr/lib64/gcc/x86_64-suse-linux/13/../../../../x86_64-suse-linux/bin/ld: cannot find -ldb1: file in wrong format
/usr/lib64/gcc/x86_64-suse-linux/13/../../../../x86_64-suse-linux/bin/ld: skipping incompatible /usr/lib/libdb1.so when searching for -ldb1
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.

From my understanding this means there was an incompatibility between the Mageia and openSUSE RPM formats. I tried building libdb1 1.85 from here but got dozens of errors. I assume there's nothing I can do on my side aside from switching operating systems.

Note that I had to switch compiler versions due to ghc-wcwidth-devel depending on it.

Chirunos avatar Dec 15 '24 16:12 Chirunos