.ncurses_ui.opt.o: In function `operator*':

#1
Distributor ID: Ubuntu
Description: Ubuntu 18.04.2 LTS
Release: 18.04
Codename: bionic
 .ncurses_ui.opt.o: In function `operator*':
 /home//kakoune/src/ncurses_ui.cc:649: undefined reference to `wgetch'
 /home//kakoune/src/ncurses_ui.cc:649: undefined reference to `wgetch'
 /home//kakoune/src/ncurses_ui.cc:649: undefined reference to `wgetch'
 /home//kakoune/src/ncurses_ui.cc:649: undefined reference to `wgetch'
 /home//kakoune/src/ncurses_ui.cc:649: undefined reference to `wgetch'
 .ncurses_ui.opt.o:/home//kakoune/src/ncurses_ui.cc:649: more undefined references to `wgetch' follow
 .ncurses_ui.opt.o: In function `Kakoune::NCursesUI::info_hide()':
 /home//kakoune/src/ncurses_ui.cc:1161: undefined reference to `wredrawln'
 /home//kakoune/src/ncurses_ui.cc:306: undefined reference to `delwin'
 .ncurses_ui.opt.o: In function `Kakoune::NCursesUI::menu_hide()':
 /home//kakoune/src/ncurses_ui.cc:1161: undefined reference to `wredrawln'
 /home//kakoune/src/ncurses_ui.cc:306: undefined reference to `delwin'
 .ncurses_ui.opt.o: In function `Kakoune::NCursesUI::refresh(bool)':
 /home//kakoune/src/ncurses_ui.cc:350: undefined reference to `wredrawln'
 /home//kakoune/src/ncurses_ui.cc:324: undefined reference to `pnoutrefresh'
 /home//kakoune/src/ncurses_ui.cc:318: undefined reference to `pnoutrefresh'
 /home//kakoune/src/ncurses_ui.cc:318: undefined reference to `pnoutrefresh'
 /home//kakoune/src/ncurses_ui.cc:332: undefined reference to `newscr'
 /home//kakoune/src/ncurses_ui.cc:336: undefined reference to `wmove'
 /home//kakoune/src/ncurses_ui.cc:339: undefined reference to `doupdate'
 /home//kakoune/src/ncurses_ui.cc:336: undefined reference to `wmove'
 /home//kakoune/src/ncurses_ui.cc:339: undefined reference to `doupdate'
 .ncurses_ui.opt.o: In function `Kakoune::NCursesUI::~NCursesUI()':
 /home//kakoune/src/ncurses_ui.cc:287: undefined reference to `can_change_color'
 /home//kakoune/src/ncurses_ui.cc:292: undefined reference to `endwin'
 /home//kakoune/src/ncurses_ui.cc:1208: undefined reference to `mousemask'
 .ncurses_ui.opt.o: In function `Kakoune::NCursesUI::Window::create(Kakoune::DisplayCoord const&, Kakoune::DisplayCoord const&)':
 /home//kakoune/src/ncurses_ui.cc:301: undefined reference to `newpad'
 .ncurses_ui.opt.o: In function `Kakoune::NCursesUI::Window::destroy()':
 /home//kakoune/src/ncurses_ui.cc:306: undefined reference to `delwin'
 .ncurses_ui.opt.o: In function `Kakoune::NCursesUI::Window::refresh()':
 /home//kakoune/src/ncurses_ui.cc:318: undefined reference to `pnoutrefresh'
 .ncurses_ui.opt.o: In function `Kakoune::NCursesUI::redraw()':
 /home//kakoune/src/ncurses_ui.cc:324: undefined reference to `pnoutrefresh'
 /home//kakoune/src/ncurses_ui.cc:318: undefined reference to `pnoutrefresh'
 /home//kakoune/src/ncurses_ui.cc:332: undefined reference to `newscr'
 /home//kakoune/src/ncurses_ui.cc:336: undefined reference to `wmove'
 /home//kakoune/src/ncurses_ui.cc:318: undefined reference to `pnoutrefresh'
 /home//kakoune/src/ncurses_ui.cc:336: undefined reference to `wmove'
 .ncurses_ui.opt.o: In function `Kakoune::NCursesUI::enable_mouse(bool)':
 /home//kakoune/src/ncurses_ui.cc:1208: undefined reference to `mousemask'
 /home//kakoune/src/ncurses_ui.cc:1199: undefined reference to `mousemask'
 /home//kakoune/src/ncurses_ui.cc:1200: undefined reference to `mouseinterval'
 .ncurses_ui.opt.o: In function `Kakoune::NCursesUI::check_resize(bool)':
 /home//kakoune/src/ncurses_ui.cc:498: undefined reference to `delwin'
 /home//kakoune/src/ncurses_ui.cc:306: undefined reference to `delwin'
 /home//kakoune/src/ncurses_ui.cc:306: undefined reference to `delwin'
 /home//kakoune/src/ncurses_ui.cc:502: undefined reference to `resize_term'
 /home//kakoune/src/ncurses_ui.cc:504: undefined reference to `newpad'
 /home//kakoune/src/ncurses_ui.cc:506: undefined reference to `intrflush'
 /home//kakoune/src/ncurses_ui.cc:507: undefined reference to `keypad'
 /home//kakoune/src/ncurses_ui.cc:508: undefined reference to `meta'
 /home//kakoune/src/ncurses_ui.cc:512: undefined reference to `tigetstr'
 /home//kakoune/src/ncurses_ui.cc:513: undefined reference to `tparm'
 /home//kakoune/src/ncurses_ui.cc:513: undefined reference to `putp'
 /home//kakoune/src/ncurses_ui.cc:524: undefined reference to `curscr'
 /home//kakoune/src/ncurses_ui.cc:524: undefined reference to `clearok'
 /home//kakoune/src/ncurses_ui.cc:525: undefined reference to `curscr'
 /home//kakoune/src/ncurses_ui.cc:525: undefined reference to `werase'
 .ncurses_ui.opt.o: In function `std::_Function_handler<void (Kakoune::FDWatcher&, Kakoune::FdEvents, Kakoune::EventMode), Kakoune::NCursesUI::NCursesUI()::{lambda(Kakoune::FDWatcher&, Kakoune::FdEvents, Kakoune::EventMode)#1}>::_M_invoke(std::_Any_data const&, Kakoune::FDWatcher&, Kakoune::FdEvents&&, Kakoune::EventMode&&)':
 /home//kakoune/src/ncurses_ui.cc:547: undefined reference to `wtimeout'
 /home//kakoune/src/ncurses_ui.cc:548: undefined reference to `wgetch'
 /home//kakoune/src/ncurses_ui.cc:549: undefined reference to `wtimeout'
 /home//kakoune/src/ncurses_ui.cc:711: undefined reference to `wtimeout'
 /home//kakoune/src/ncurses_ui.cc:712: undefined reference to `wgetch'
 /home//kakoune/src/ncurses_ui.cc:718: undefined reference to `wtimeout'
 /home//kakoune/src/ncurses_ui.cc:557: undefined reference to `getmouse'
 .ncurses_ui.opt.o: In function `operator()':
 /home//kakoune/src/ncurses_ui.cc:664: undefined reference to `wgetch'
 /home//kakoune/src/ncurses_ui.cc:705: undefined reference to `ungetch'
 .ncurses_ui.opt.o: In function `std::_Function_handler<void (Kakoune::FDWatcher&, Kakoune::FdEvents, Kakoune::EventMode), Kakoune::NCursesUI::NCursesUI()::{lambda(Kakoune::FDWatcher&, Kakoune::FdEvents, Kakoune::EventMode)#1}>::_M_invoke(std::_Any_data const&, Kakoune::FDWatcher&, Kakoune::FdEvents&&, Kakoune::EventMode&&)':
 /home//kakoune/src/ncurses_ui.cc:718: undefined reference to `wtimeout'
 .ncurses_ui.opt.o: In function `operator()':
 /home//kakoune/src/ncurses_ui.cc:645: undefined reference to `ungetch'
 /home//kakoune/src/ncurses_ui.cc:669: undefined reference to `wgetch'
 /home//kakoune/src/ncurses_ui.cc:674: undefined reference to `ungetch'
 /home//kakoune/src/ncurses_ui.cc:674: undefined reference to `ungetch'
 /home//kakoune/src/ncurses_ui.cc:677: undefined reference to `wgetch'
 /home//kakoune/src/ncurses_ui.cc:683: undefined reference to `wgetch'
 /home//kakoune/src/ncurses_ui.cc:686: undefined reference to `ungetch'
 /home//kakoune/src/ncurses_ui.cc:686: undefined reference to `ungetch'
 /home//kakoune/src/ncurses_ui.cc:686: undefined reference to `ungetch'
 /home//kakoune/src/ncurses_ui.cc:686: undefined reference to `ungetch'
 /home//kakoune/src/ncurses_ui.cc:645: undefined reference to `ungetch'
 .ncurses_ui.opt.o: In function `Kakoune::NCursesUI::get_next_key()':
 /home//kakoune/src/ncurses_ui.cc:547: undefined reference to `wtimeout'
 /home//kakoune/src/ncurses_ui.cc:548: undefined reference to `wgetch'
 /home//kakoune/src/ncurses_ui.cc:549: undefined reference to `wtimeout'
 /home//kakoune/src/ncurses_ui.cc:711: undefined reference to `wtimeout'
 /home//kakoune/src/ncurses_ui.cc:712: undefined reference to `wgetch'
 /home//kakoune/src/ncurses_ui.cc:718: undefined reference to `wtimeout'
 .ncurses_ui.opt.o: In function `operator()':
 /home//kakoune/src/ncurses_ui.cc:664: undefined reference to `wgetch'
 /home//kakoune/src/ncurses_ui.cc:705: undefined reference to `ungetch'
 .ncurses_ui.opt.o: In function `Kakoune::NCursesUI::get_next_key()':
 /home//kakoune/src/ncurses_ui.cc:718: undefined reference to `wtimeout'
 /home//kakoune/src/ncurses_ui.cc:557: undefined reference to `getmouse'
 .ncurses_ui.opt.o: In function `operator()':
 /home//kakoune/src/ncurses_ui.cc:645: undefined reference to `ungetch'
 /home//kakoune/src/ncurses_ui.cc:669: undefined reference to `wgetch'
 /home//kakoune/src/ncurses_ui.cc:674: undefined reference to `ungetch'
 /home//kakoune/src/ncurses_ui.cc:674: undefined reference to `ungetch'
 /home//kakoune/src/ncurses_ui.cc:677: undefined reference to `wgetch'
 /home//kakoune/src/ncurses_ui.cc:683: undefined reference to `wgetch'
 /home//kakoune/src/ncurses_ui.cc:686: undefined reference to `ungetch'
 /home//kakoune/src/ncurses_ui.cc:686: undefined reference to `ungetch'
 /home//kakoune/src/ncurses_ui.cc:686: undefined reference to `ungetch'
 /home//kakoune/src/ncurses_ui.cc:686: undefined reference to `ungetch'
 /home//kakoune/src/ncurses_ui.cc:645: undefined reference to `ungetch'
 .ncurses_ui.opt.o: In function `Kakoune::NCursesUI::set_ui_options(Kakoune::HashMap<Kakoune::String, Kakoune::String, (Kakoune::MemoryDomain)5, Kakoune::Vector> const&)':
 /home//kakoune/src/ncurses_ui.cc:1253: undefined reference to `can_change_color'
 /home//kakoune/src/ncurses_ui.cc:1208: undefined reference to `mousemask'
 /home//kakoune/src/ncurses_ui.cc:1199: undefined reference to `mousemask'
 /home//kakoune/src/ncurses_ui.cc:1200: undefined reference to `mouseinterval'
 /home//kakoune/src/ncurses_ui.cc:1286: undefined reference to `keypad'
 .ncurses_ui.opt.o: In function `Kakoune::NCursesUI::get_color(Kakoune::Color)':
 /home//kakoune/src/ncurses_ui.cc:151: undefined reference to `COLORS'
 /home//kakoune/src/ncurses_ui.cc:151: undefined reference to `can_change_color'
 /home//kakoune/src/ncurses_ui.cc:151: undefined reference to `COLORS'
 /home//kakoune/src/ncurses_ui.cc:156: undefined reference to `init_color'
 .ncurses_ui.opt.o: In function `Kakoune::NCursesUI::get_color_pair(Kakoune::Face const&)':
 /home//kakoune/src/ncurses_ui.cc:192: undefined reference to `init_pair'
 .ncurses_ui.opt.o: In function `Kakoune::NCursesUI::set_face(Kakoune::NCursesWin*, Kakoune::Face, Kakoune::Face const&)':
 /home//kakoune/src/ncurses_ui.cc:201: undefined reference to `wattr_off'
 /home//kakoune/src/ncurses_ui.cc:208: undefined reference to `wattr_on'
 /home//kakoune/src/ncurses_ui.cc:74: undefined reference to `wattr_off'
 /home//kakoune/src/ncurses_ui.cc:74: undefined reference to `wattr_off'
 /home//kakoune/src/ncurses_ui.cc:74: undefined reference to `wattr_off'
 /home//kakoune/src/ncurses_ui.cc:74: undefined reference to `wattr_off'
 /home//kakoune/src/ncurses_ui.cc:74: undefined reference to `wattr_off'
 .ncurses_ui.opt.o:/home//kakoune/src/ncurses_ui.cc:74: more undefined references to `wattr_off' follow
 .ncurses_ui.opt.o: In function `Kakoune::NCursesUI::set_face(Kakoune::NCursesWin*, Kakoune::Face, Kakoune::Face const&)':
 /home//kakoune/src/ncurses_ui.cc:72: undefined reference to `wattr_on'
 /home//kakoune/src/ncurses_ui.cc:72: undefined reference to `wattr_on'
 /home//kakoune/src/ncurses_ui.cc:72: undefined reference to `wattr_on'
 /home//kakoune/src/ncurses_ui.cc:72: undefined reference to `wattr_on'
 /home//kakoune/src/ncurses_ui.cc:72: undefined reference to `wattr_on'
 .ncurses_ui.opt.o:/home//kakoune/src/ncurses_ui.cc:72: more undefined references to `wattr_on' follow
 .ncurses_ui.opt.o: In function `Kakoune::NCursesUI::draw_line(Kakoune::NCursesWin*, Kakoune::DisplayLine const&, Kakoune::ColumnCount, Kakoune::ColumnCount, Kakoune::Face const&)':
 /home//kakoune/src/ncurses_ui.cc:359: undefined reference to `waddnstr'
 /home//kakoune/src/ncurses_ui.cc:359: undefined reference to `waddnstr'
 /home//kakoune/src/ncurses_ui.cc:379: undefined reference to `waddch'
 .ncurses_ui.opt.o: In function `Kakoune::NCursesUI::draw(Kakoune::DisplayBuffer const&, Kakoune::Face const&, Kakoune::Face const&)':
 /home//kakoune/src/ncurses_ui.cc:396: undefined reference to `wbkgdset'
 /home//kakoune/src/ncurses_ui.cc:405: undefined reference to `wmove'
 /home//kakoune/src/ncurses_ui.cc:406: undefined reference to `wclrtoeol'
 /home//kakoune/src/ncurses_ui.cc:411: undefined reference to `wbkgdset'
 /home//kakoune/src/ncurses_ui.cc:416: undefined reference to `wmove'
 /home//kakoune/src/ncurses_ui.cc:417: undefined reference to `wclrtoeol'
 /home//kakoune/src/ncurses_ui.cc:418: undefined reference to `waddch'
 .ncurses_ui.opt.o: In function `Kakoune::NCursesUI::draw_status(Kakoune::DisplayLine const&, Kakoune::DisplayLine const&, Kakoune::Face const&)':
 /home//kakoune/src/ncurses_ui.cc:429: undefined reference to `wmove'
 /home//kakoune/src/ncurses_ui.cc:431: undefined reference to `wbkgdset'
 /home//kakoune/src/ncurses_ui.cc:432: undefined reference to `wclrtoeol'
 /home//kakoune/src/ncurses_ui.cc:453: undefined reference to `wmove'
 /home//kakoune/src/ncurses_ui.cc:442: undefined reference to `wmove'
 .ncurses_ui.opt.o: In function `Kakoune::NCursesUI::draw_menu()':
 /home//kakoune/src/ncurses_ui.cc:743: undefined reference to `wattr_on'
 /home//kakoune/src/ncurses_ui.cc:744: undefined reference to `wbkgdset'
 /home//kakoune/src/ncurses_ui.cc:798: undefined reference to `wmove'
 /home//kakoune/src/ncurses_ui.cc:359: undefined reference to `waddnstr'
 /home//kakoune/src/ncurses_ui.cc:813: undefined reference to `wclrtoeol'
 /home//kakoune/src/ncurses_ui.cc:814: undefined reference to `wmove'
 /home//kakoune/src/ncurses_ui.cc:815: undefined reference to `wattr_on'
 /home//kakoune/src/ncurses_ui.cc:359: undefined reference to `waddnstr'
 /home//kakoune/src/ncurses_ui.cc:813: undefined reference to `wclrtoeol'
 /home//kakoune/src/ncurses_ui.cc:814: undefined reference to `wmove'
 /home//kakoune/src/ncurses_ui.cc:815: undefined reference to `wattr_on'
 /home//kakoune/src/ncurses_ui.cc:753: undefined reference to `wmove'
 /home//kakoune/src/ncurses_ui.cc:359: undefined reference to `waddnstr'
 /home//kakoune/src/ncurses_ui.cc:359: undefined reference to `waddnstr'
 /home//kakoune/src/ncurses_ui.cc:359: undefined reference to `waddnstr'
 /home//kakoune/src/ncurses_ui.cc:768: undefined reference to `wattr_on'
 /home//kakoune/src/ncurses_ui.cc:359: undefined reference to `waddnstr'
 /home//kakoune/src/ncurses_ui.cc:359: undefined reference to `waddnstr'
 .ncurses_ui.opt.o: In function `Kakoune::NCursesUI::menu_show(Kakoune::ArrayView<Kakoune::DisplayLine const>, Kakoune::DisplayCoord, Kakoune::Face, Kakoune::Face, Kakoune::MenuStyle)':
 /home//kakoune/src/ncurses_ui.cc:1161: undefined reference to `wredrawln'
 /home//kakoune/src/ncurses_ui.cc:306: undefined reference to `delwin'
 /home//kakoune/src/ncurses_ui.cc:301: undefined reference to `newpad'
 .ncurses_ui.opt.o: In function `Kakoune::NCursesUI::info_show(Kakoune::StringView, Kakoune::StringView, Kakoune::DisplayCoord, Kakoune::Face, Kakoune::InfoStyle)':
 /home//kakoune/src/ncurses_ui.cc:1161: undefined reference to `wredrawln'
 /home//kakoune/src/ncurses_ui.cc:306: undefined reference to `delwin'
 /home//kakoune/src/ncurses_ui.cc:301: undefined reference to `newpad'
 /home//kakoune/src/ncurses_ui.cc:1141: undefined reference to `wbkgd'
 /home//kakoune/src/ncurses_ui.cc:359: undefined reference to `waddnstr'
 /home//kakoune/src/ncurses_ui.cc:1144: undefined reference to `wmove'
 .ncurses_ui.opt.o: In function `Kakoune::NCursesUI::NCursesUI()':
 /home//kakoune/src/ncurses_ui.cc:265: undefined reference to `initscr'
 /home//kakoune/src/ncurses_ui.cc:266: undefined reference to `raw'
 /home//kakoune/src/ncurses_ui.cc:267: undefined reference to `noecho'
 /home//kakoune/src/ncurses_ui.cc:268: undefined reference to `nonl'
 /home//kakoune/src/ncurses_ui.cc:269: undefined reference to `curs_set'
 /home//kakoune/src/ncurses_ui.cc:270: undefined reference to `start_color'
 /home//kakoune/src/ncurses_ui.cc:271: undefined reference to `use_default_colors'
 /home//kakoune/src/ncurses_ui.cc:272: undefined reference to `set_escdelay'
 /home//kakoune/src/ncurses_ui.cc:1199: undefined reference to `mousemask'
 /home//kakoune/src/ncurses_ui.cc:1200: undefined reference to `mouseinterval'
 /home//kakoune/src/ncurses_ui.cc:498: undefined reference to `delwin'
 /home//kakoune/src/ncurses_ui.cc:306: undefined reference to `delwin'
 /home//kakoune/src/ncurses_ui.cc:306: undefined reference to `delwin'
 /home//kakoune/src/ncurses_ui.cc:502: undefined reference to `resize_term'
 /home//kakoune/src/ncurses_ui.cc:504: undefined reference to `newpad'
 /home//kakoune/src/ncurses_ui.cc:506: undefined reference to `intrflush'
 /home//kakoune/src/ncurses_ui.cc:507: undefined reference to `keypad'
 /home//kakoune/src/ncurses_ui.cc:508: undefined reference to `meta'
 /home//kakoune/src/ncurses_ui.cc:512: undefined reference to `tigetstr'
 /home//kakoune/src/ncurses_ui.cc:513: undefined reference to `tparm'
 /home//kakoune/src/ncurses_ui.cc:513: undefined reference to `putp'
 /home//kakoune/src/ncurses_ui.cc:524: undefined reference to `curscr'
 /home//kakoune/src/ncurses_ui.cc:524: undefined reference to `clearok'
 /home//kakoune/src/ncurses_ui.cc:525: undefined reference to `curscr'
 /home//kakoune/src/ncurses_ui.cc:525: undefined reference to `werase'
 .ncurses_ui.opt.o: In function `Kakoune::NCursesUI::redraw()':
 /home//kakoune/src/ncurses_ui.cc:339: undefined reference to `doupdate'
 /home//kakoune/src/ncurses_ui.cc:339: undefined reference to `doupdate'
 .ncurses_ui.opt.o: In function `Kakoune::add_str(_win_st*, Kakoune::StringView)':
 /home//kakoune/src/ncurses_ui.cc:359: undefined reference to `waddnstr'
 .ncurses_ui.opt.o: In function `Kakoune::NCursesUI::mark_dirty(Kakoune::NCursesUI::Window const&)':
 /home//kakoune/src/ncurses_ui.cc:1161: undefined reference to `wredrawln'
 .ncurses_ui.opt.o: In function `Kakoune::NCursesUI::abort()':
 /home//kakoune/src/ncurses_ui.cc:1188: undefined reference to `endwin'
 .ncurses_ui.opt.o: In function `Kakoune::NCursesUI::enable_mouse(bool) [clone .part.32]':
 /home//kakoune/src/ncurses_ui.cc:1199: undefined reference to `mousemask'
 /home//kakoune/src/ncurses_ui.cc:1200: undefined reference to `mouseinterval'
 /home//kakoune/src/ncurses_ui.cc:1208: undefined reference to `mousemask'
 collect2: error: ld returned 1 exit status
 Makefile:97: recipe for target 'kak.opt' failed
 make: *** [kak.opt] Error 1

Am I missing something to have it compiled?

I have libncursesw5-dev , pkg-conf installed for this distro. What else would I need?

I’m not familiar with Debian/Ubuntu but I don’t want to install pre-compiled either. It’s not the system I normally use.

#2

All those “undefined reference to” functions are part of ncurses.

If you tried building Kakoune, discovered you needed ncurses bits, installed libncursesw5-dev and tried building again, the build may be trying to use bits that were generated before libncursesw5-dev was installed. Try make clean && make, or (if you checked it out of git) git clean -dxf && make.

#3

Try make clean && make , or (if you checked it out of git) git clean -dxf && make .

Thanks!

I’ll try it out in a day or two. Thanks again