qw3rtty / neix

neix - a RSS/Atom feed reader for your terminal.
GNU General Public License v3.0
200 stars 12 forks source link

[cant install] on mint20 #6

Closed odarcan closed 3 years ago

odarcan commented 3 years ago

ok previously I have tried compiling cmake and done many things none worked,

now I have installed linux mint 20 fresh, and Im trying to install neix

It has cmake 3.16.3

when doing

cmake .

I now get the error:

#################################ERROR BEGIN: `-- The C compiler identification is GNU 9.3.0 -- The CXX compiler identification is unknown -- Check for working C compiler: /usr/bin/cc -- Check for working C compiler: /usr/bin/cc -- broken CMake Error at /usr/share/cmake-3.16/Modules/CMakeTestCCompiler.cmake:60 (message): The C compiler

"/usr/bin/cc"

is not able to compile a simple test program.

It fails with the following output:

Change Dir: /home/x/neix/CMakeFiles/CMakeTmp

Run Build Command(s):/usr/bin/make cmTC_4cad3/fast && /usr/bin/make -f CMakeFiles/cmTC_4cad3.dir/build.make CMakeFiles/cmTC_4cad3.dir/build
make[1]: Entering directory '/home/x/neix/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_4cad3.dir/testCCompiler.c.o
/usr/bin/cc    -o CMakeFiles/cmTC_4cad3.dir/testCCompiler.c.o   -c /home/x/neix/CMakeFiles/CMakeTmp/testCCompiler.c
Linking C executable cmTC_4cad3
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_4cad3.dir/link.txt --verbose=1
/usr/bin/cc      CMakeFiles/cmTC_4cad3.dir/testCCompiler.c.o  -o cmTC_4cad3 
/usr/bin/ld: cannot find Scrt1.o: No such file or directory
/usr/bin/ld: cannot find crti.o: No such file or directory
collect2: error: ld returned 1 exit status
make[1]: *** [CMakeFiles/cmTC_4cad3.dir/build.make:87: cmTC_4cad3] Error 1
make[1]: Leaving directory '/home/x/neix/CMakeFiles/CMakeTmp'
make: *** [Makefile:121: cmTC_4cad3/fast] Error 2

CMake will not be able to correctly generate this project. Call Stack (most recent call first): CMakeLists.txt:2 (project)

CMake Error at CMakeLists.txt:2 (project): No CMAKE_CXX_COMPILER could be found.

Tell CMake where to find the compiler by setting either the environment variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path to the compiler, or to the compiler name if it is in the PATH.

-- Configuring incomplete, errors occurred! See also "/home/x/neix/CMakeFiles/CMakeOutput.log". See also "/home/x/neix/CMakeFiles/CMakeError.log". `

#################################ERROR END Awaiting instructions.

This is what a beginner linux user probably will experience. And Im sort of a beginner at linux.

odarcan commented 3 years ago

ok I did a sudo apt install --reinstall build-essential

and now it says curl is missing.

odarcan commented 3 years ago

eh accidentally closed it

odarcan commented 3 years ago

sudo apt install libcurl3-gnutils-dev libcurl4-gnutils-dev

sudo apt install libncurses

odarcan commented 3 years ago

after those it did cmake .

without errors

odarcan commented 3 years ago

now it gives error at make

ERROR MESSAGE:

/usr/bin/ld: bin/library/libneixApplication.a(Application.cpp.o): in function neix::Application::Application()': Application.cpp:(.text+0x5c): undefined reference toinitscr' /usr/bin/ld: Application.cpp:(.text+0x61): undefined reference to clear' /usr/bin/ld: Application.cpp:(.text+0x66): undefined reference tonoecho' /usr/bin/ld: Application.cpp:(.text+0x6b): undefined reference to cbreak' /usr/bin/ld: Application.cpp:(.text+0x75): undefined reference tocurs_set' /usr/bin/ld: Application.cpp:(.text+0x99): undefined reference to LINES' /usr/bin/ld: bin/library/libneixApplication.a(Application.cpp.o): in functionneix::Application::~Application()': Application.cpp:(.text+0x155): undefined reference to stdscr' /usr/bin/ld: Application.cpp:(.text+0x15d): undefined reference towclrtoeol' /usr/bin/ld: Application.cpp:(.text+0x162): undefined reference to refresh' /usr/bin/ld: Application.cpp:(.text+0x167): undefined reference toendwin' /usr/bin/ld: bin/library/libneixApplication.a(Application.cpp.o): in function neix::Application::createFeedWindow()': Application.cpp:(.text+0x1f8): undefined reference toCOLS' /usr/bin/ld: bin/library/libneixApplication.a(Application.cpp.o): in function neix::Application::createArticleWindow()': Application.cpp:(.text+0x26e): undefined reference toCOLS' /usr/bin/ld: bin/library/libneixApplication.a(Application.cpp.o): in function neix::Application::resize()': Application.cpp:(.text+0x367): undefined reference toendwin' /usr/bin/ld: Application.cpp:(.text+0x36c): undefined reference to refresh' /usr/bin/ld: Application.cpp:(.text+0x371): undefined reference toclear' /usr/bin/ld: bin/library/libneixApplication.a(Application.cpp.o): in function neix::Application::printVersion()': Application.cpp:(.text+0x3ef): undefined reference tostdscr' /usr/bin/ld: Application.cpp:(.text+0x401): undefined reference to wattr_on' /usr/bin/ld: Application.cpp:(.text+0x423): undefined reference tomvprintw' /usr/bin/ld: Application.cpp:(.text+0x42a): undefined reference to stdscr' /usr/bin/ld: Application.cpp:(.text+0x43c): undefined reference towattr_off' /usr/bin/ld: bin/library/libneixApplication.a(Application.cpp.o): in function neix::Application::printControlHints()': Application.cpp:(.text+0x457): undefined reference tostdscr' /usr/bin/ld: Application.cpp:(.text+0x469): undefined reference to wattr_on' /usr/bin/ld: Application.cpp:(.text+0x46f): undefined reference toLINES' /usr/bin/ld: Application.cpp:(.text+0x48a): undefined reference to mvprintw' /usr/bin/ld: Application.cpp:(.text+0x491): undefined reference tostdscr' /usr/bin/ld: Application.cpp:(.text+0x4a3): undefined reference to wattr_off' /usr/bin/ld: bin/library/libneixApplication.a(Application.cpp.o): in functionneix::Application::show()': Application.cpp:(.text+0x4dc): undefined reference to refresh' /usr/bin/ld: Application.cpp:(.text+0x4fb): undefined reference tostdscr' /usr/bin/ld: Application.cpp:(.text+0x503): undefined reference to wgetch' /usr/bin/ld: Application.cpp:(.text+0x976): undefined reference toLINES' /usr/bin/ld: Application.cpp:(.text+0x994): undefined reference to mvprintw' /usr/bin/ld: Application.cpp:(.text+0x999): undefined reference torefresh' /usr/bin/ld: bin/library/libneixApplication.a(ApplicationWindow.cpp.o): in function neix::ApplicationWindow::_printWindow()': ApplicationWindow.cpp:(.text+0xea): undefined reference tobox' /usr/bin/ld: ApplicationWindow.cpp:(.text+0xfa): undefined reference to wrefresh' /usr/bin/ld: bin/library/libneixApplication.a(ApplicationWindow.cpp.o): in functionneix::ApplicationWindow::_printPad()': ApplicationWindow.cpp:(.text+0x114): undefined reference to COLS' /usr/bin/ld: ApplicationWindow.cpp:(.text+0x156): undefined reference toprefresh' /usr/bin/ld: bin/library/libneixApplication.a(ApplicationWindow.cpp.o): in function neix::ApplicationWindow::_printContent()': ApplicationWindow.cpp:(.text+0x18d): undefined reference towclear' /usr/bin/ld: ApplicationWindow.cpp:(.text+0x22a): undefined reference to wattr_on' /usr/bin/ld: ApplicationWindow.cpp:(.text+0x25e): undefined reference tomvwprintw' /usr/bin/ld: ApplicationWindow.cpp:(.text+0x278): undefined reference to wattr_off' /usr/bin/ld: ApplicationWindow.cpp:(.text+0x2ae): undefined reference tomvwprintw' /usr/bin/ld: bin/library/libneixApplication.a(ApplicationWindow.cpp.o): in function neix::ApplicationWindow::_create()': ApplicationWindow.cpp:(.text+0x31d): undefined reference tonewwin' /usr/bin/ld: ApplicationWindow.cpp:(.text+0x33a): undefined reference to keypad' /usr/bin/ld: ApplicationWindow.cpp:(.text+0x350): undefined reference tonewpad' /usr/bin/ld: ApplicationWindow.cpp:(.text+0x36d): undefined reference to keypad' /usr/bin/ld: bin/library/libneixApplication.a(ApplicationWindow.cpp.o): in functionneix::ApplicationWindow::hide()': ApplicationWindow.cpp:(.text+0x405): undefined reference to refresh' /usr/bin/ld: ApplicationWindow.cpp:(.text+0x415): undefined reference towclear' /usr/bin/ld: ApplicationWindow.cpp:(.text+0x425): undefined reference to wclear' /usr/bin/ld: bin/library/libneixApplication.a(ApplicationWindow.cpp.o): in functionneix::ApplicationWindow::reset()': ApplicationWindow.cpp:(.text+0x48b): undefined reference to wclear' /usr/bin/ld: bin/library/libneixApplication.a(ApplicationWindow.cpp.o): in functionneix::ApplicationWindow::setPosition(int, int)': ApplicationWindow.cpp:(.text+0x6b8): undefined reference to mvwin' /usr/bin/ld: ApplicationWindow.cpp:(.text+0x6de): undefined reference tomvwin' /usr/bin/ld: bin/library/libneixApplication.a(ApplicationWindow.cpp.o): in function neix::ApplicationWindow::setDimensions(int, int)': ApplicationWindow.cpp:(.text+0x738): undefined reference towresize' /usr/bin/ld: ApplicationWindow.cpp:(.text+0x757): undefined reference to wresize' /usr/bin/ld: bin/library/libneixFeed.a(FeedLoader.cpp.o): in functionneix::FeedLoader::loadXml()': FeedLoader.cpp:(.text+0x315): undefined reference to curl_global_init' /usr/bin/ld: FeedLoader.cpp:(.text+0x31a): undefined reference tocurl_easy_init' /usr/bin/ld: FeedLoader.cpp:(.text+0x35a): undefined reference to curl_easy_setopt' /usr/bin/ld: FeedLoader.cpp:(.text+0x377): undefined reference tocurl_easy_setopt' /usr/bin/ld: FeedLoader.cpp:(.text+0x395): undefined reference to curl_easy_setopt' /usr/bin/ld: FeedLoader.cpp:(.text+0x3b0): undefined reference tocurl_easy_setopt' /usr/bin/ld: FeedLoader.cpp:(.text+0x3cb): undefined reference to curl_easy_setopt' /usr/bin/ld: bin/library/libneixFeed.a(FeedLoader.cpp.o):FeedLoader.cpp:(.text+0x3e6): more undefined references tocurl_easy_setopt' follow /usr/bin/ld: bin/library/libneixFeed.a(FeedLoader.cpp.o): in function neix::FeedLoader::loadXml()': FeedLoader.cpp:(.text+0x445): undefined reference tocurl_easy_perform' /usr/bin/ld: FeedLoader.cpp:(.text+0x454): undefined reference to curl_easy_cleanup' /usr/bin/ld: FeedLoader.cpp:(.text+0x459): undefined reference tocurl_global_cleanup' /usr/bin/ld: FeedLoader.cpp:(.text+0x47f): undefined reference to `curl_easy_strerror' collect2: error: ld returned 1 exit status make[2]: [CMakeFiles/neix.dir/build.make:91: bin/neix] Error 1 make[1]: [CMakeFiles/Makefile2:91: CMakeFiles/neix.dir/all] Error 2 make: *** [Makefile:130: all] Error 2

odarcan commented 3 years ago

adding -lcurl or something is needed to one makefile I think

qw3rtty commented 3 years ago

Thanks for opening this issue! I will try to install it on Mint 20.

If there is a Problem during the compiling I will fix it. But it looks like there is a problem with your ncurses Installation. The Compiler cant find ncurses. It is undefined

I will keep you up to Date.

qw3rtty commented 3 years ago

On Mint you have to install ncurses Like so: sudo apt-get install libncurses5-dev libncursesw5-dev

Please try to install it and the make a new try to install neix.

odarcan commented 3 years ago

unfortunately it did not work I think it is the same error:

[ 94%] Built target neixApplication [ 94%] Built target neixHelper [ 94%] Built target neixConfig [ 94%] Built target neixParser [ 94%] Built target neixFeed [ 94%] Linking CXX executable bin/neix /usr/bin/ld: bin/library/libneixApplication.a(Application.cpp.o): in function neix::Application::Application()': Application.cpp:(.text+0x5c): undefined reference toinitscr' /usr/bin/ld: Application.cpp:(.text+0x61): undefined reference to clear' /usr/bin/ld: Application.cpp:(.text+0x66): undefined reference tonoecho' /usr/bin/ld: Application.cpp:(.text+0x6b): undefined reference to cbreak' /usr/bin/ld: Application.cpp:(.text+0x75): undefined reference tocurs_set' /usr/bin/ld: Application.cpp:(.text+0x99): undefined reference to LINES' /usr/bin/ld: bin/library/libneixApplication.a(Application.cpp.o): in functionneix::Application::~Application()': Application.cpp:(.text+0x155): undefined reference to stdscr' /usr/bin/ld: Application.cpp:(.text+0x15d): undefined reference towclrtoeol' /usr/bin/ld: Application.cpp:(.text+0x162): undefined reference to refresh' /usr/bin/ld: Application.cpp:(.text+0x167): undefined reference toendwin' /usr/bin/ld: bin/library/libneixApplication.a(Application.cpp.o): in function neix::Application::createFeedWindow()': Application.cpp:(.text+0x1f8): undefined reference toCOLS' /usr/bin/ld: bin/library/libneixApplication.a(Application.cpp.o): in function neix::Application::createArticleWindow()': Application.cpp:(.text+0x26e): undefined reference toCOLS' /usr/bin/ld: bin/library/libneixApplication.a(Application.cpp.o): in function neix::Application::resize()': Application.cpp:(.text+0x367): undefined reference toendwin' /usr/bin/ld: Application.cpp:(.text+0x36c): undefined reference to refresh' /usr/bin/ld: Application.cpp:(.text+0x371): undefined reference toclear' /usr/bin/ld: bin/library/libneixApplication.a(Application.cpp.o): in function neix::Application::printVersion()': Application.cpp:(.text+0x3ef): undefined reference tostdscr' /usr/bin/ld: Application.cpp:(.text+0x401): undefined reference to wattr_on' /usr/bin/ld: Application.cpp:(.text+0x423): undefined reference tomvprintw' /usr/bin/ld: Application.cpp:(.text+0x42a): undefined reference to stdscr' /usr/bin/ld: Application.cpp:(.text+0x43c): undefined reference towattr_off' /usr/bin/ld: bin/library/libneixApplication.a(Application.cpp.o): in function neix::Application::printControlHints()': Application.cpp:(.text+0x457): undefined reference tostdscr' /usr/bin/ld: Application.cpp:(.text+0x469): undefined reference to wattr_on' /usr/bin/ld: Application.cpp:(.text+0x46f): undefined reference toLINES' /usr/bin/ld: Application.cpp:(.text+0x48a): undefined reference to mvprintw' /usr/bin/ld: Application.cpp:(.text+0x491): undefined reference tostdscr' /usr/bin/ld: Application.cpp:(.text+0x4a3): undefined reference to wattr_off' /usr/bin/ld: bin/library/libneixApplication.a(Application.cpp.o): in functionneix::Application::show()': Application.cpp:(.text+0x4dc): undefined reference to refresh' /usr/bin/ld: Application.cpp:(.text+0x4fb): undefined reference tostdscr' /usr/bin/ld: Application.cpp:(.text+0x503): undefined reference to wgetch' /usr/bin/ld: Application.cpp:(.text+0x976): undefined reference toLINES' /usr/bin/ld: Application.cpp:(.text+0x994): undefined reference to mvprintw' /usr/bin/ld: Application.cpp:(.text+0x999): undefined reference torefresh' /usr/bin/ld: bin/library/libneixApplication.a(ApplicationWindow.cpp.o): in function neix::ApplicationWindow::_printWindow()': ApplicationWindow.cpp:(.text+0xea): undefined reference tobox' /usr/bin/ld: ApplicationWindow.cpp:(.text+0xfa): undefined reference to wrefresh' /usr/bin/ld: bin/library/libneixApplication.a(ApplicationWindow.cpp.o): in functionneix::ApplicationWindow::_printPad()': ApplicationWindow.cpp:(.text+0x114): undefined reference to COLS' /usr/bin/ld: ApplicationWindow.cpp:(.text+0x156): undefined reference toprefresh' /usr/bin/ld: bin/library/libneixApplication.a(ApplicationWindow.cpp.o): in function neix::ApplicationWindow::_printContent()': ApplicationWindow.cpp:(.text+0x18d): undefined reference towclear' /usr/bin/ld: ApplicationWindow.cpp:(.text+0x22a): undefined reference to wattr_on' /usr/bin/ld: ApplicationWindow.cpp:(.text+0x25e): undefined reference tomvwprintw' /usr/bin/ld: ApplicationWindow.cpp:(.text+0x278): undefined reference to wattr_off' /usr/bin/ld: ApplicationWindow.cpp:(.text+0x2ae): undefined reference tomvwprintw' /usr/bin/ld: bin/library/libneixApplication.a(ApplicationWindow.cpp.o): in function neix::ApplicationWindow::_create()': ApplicationWindow.cpp:(.text+0x31d): undefined reference tonewwin' /usr/bin/ld: ApplicationWindow.cpp:(.text+0x33a): undefined reference to keypad' /usr/bin/ld: ApplicationWindow.cpp:(.text+0x350): undefined reference tonewpad' /usr/bin/ld: ApplicationWindow.cpp:(.text+0x36d): undefined reference to keypad' /usr/bin/ld: bin/library/libneixApplication.a(ApplicationWindow.cpp.o): in functionneix::ApplicationWindow::hide()': ApplicationWindow.cpp:(.text+0x405): undefined reference to refresh' /usr/bin/ld: ApplicationWindow.cpp:(.text+0x415): undefined reference towclear' /usr/bin/ld: ApplicationWindow.cpp:(.text+0x425): undefined reference to wclear' /usr/bin/ld: bin/library/libneixApplication.a(ApplicationWindow.cpp.o): in functionneix::ApplicationWindow::reset()': ApplicationWindow.cpp:(.text+0x48b): undefined reference to wclear' /usr/bin/ld: bin/library/libneixApplication.a(ApplicationWindow.cpp.o): in functionneix::ApplicationWindow::setPosition(int, int)': ApplicationWindow.cpp:(.text+0x6b8): undefined reference to mvwin' /usr/bin/ld: ApplicationWindow.cpp:(.text+0x6de): undefined reference tomvwin' /usr/bin/ld: bin/library/libneixApplication.a(ApplicationWindow.cpp.o): in function neix::ApplicationWindow::setDimensions(int, int)': ApplicationWindow.cpp:(.text+0x738): undefined reference towresize' /usr/bin/ld: ApplicationWindow.cpp:(.text+0x757): undefined reference to wresize' /usr/bin/ld: bin/library/libneixFeed.a(FeedLoader.cpp.o): in functionneix::FeedLoader::loadXml()': FeedLoader.cpp:(.text+0x315): undefined reference to curl_global_init' /usr/bin/ld: FeedLoader.cpp:(.text+0x31a): undefined reference tocurl_easy_init' /usr/bin/ld: FeedLoader.cpp:(.text+0x35a): undefined reference to curl_easy_setopt' /usr/bin/ld: FeedLoader.cpp:(.text+0x377): undefined reference tocurl_easy_setopt' /usr/bin/ld: FeedLoader.cpp:(.text+0x395): undefined reference to curl_easy_setopt' /usr/bin/ld: FeedLoader.cpp:(.text+0x3b0): undefined reference tocurl_easy_setopt' /usr/bin/ld: FeedLoader.cpp:(.text+0x3cb): undefined reference to curl_easy_setopt' /usr/bin/ld: bin/library/libneixFeed.a(FeedLoader.cpp.o):FeedLoader.cpp:(.text+0x3e6): more undefined references tocurl_easy_setopt' follow /usr/bin/ld: bin/library/libneixFeed.a(FeedLoader.cpp.o): in function neix::FeedLoader::loadXml()': FeedLoader.cpp:(.text+0x445): undefined reference tocurl_easy_perform' /usr/bin/ld: FeedLoader.cpp:(.text+0x454): undefined reference to curl_easy_cleanup' /usr/bin/ld: FeedLoader.cpp:(.text+0x459): undefined reference tocurl_global_cleanup' /usr/bin/ld: FeedLoader.cpp:(.text+0x47f): undefined reference to `curl_easy_strerror' collect2: error: ld returned 1 exit status make[2]: [CMakeFiles/neix.dir/build.make:91: bin/neix] Error 1 make[1]: [CMakeFiles/Makefile2:91: CMakeFiles/neix.dir/all] Error 2 make: *** [Makefile:130: all] Error 2

odarcan commented 3 years ago

I did run sudo apt install libncurses5-dev libncursesw5-dev before last error message

odarcan commented 3 years ago

if you are on irc I can let you use teamviewer to try yourself

qw3rtty commented 3 years ago

I could fix the issue. :) It was a problem while linking during the compiling. It could install it on a virtual machine running Mint 20.

Please try again to install neix :)

qw3rtty commented 3 years ago

Please let me know, if it works.

qw3rtty commented 3 years ago

I updated the installation section of the README with the requirements. I hope this will make it a bit easier for others in the future.

g4jc commented 3 years ago

Bug still happening on trunk, but thanks to some help on IRC got it narrowed down. Both CURSES_INCLUDE_DIR and CURSES_LIBRARY are deprecated. This results in linker errors. PR forthcoming.