newsboat: error while compiling: dependencies installed but still errors

Hello,

nice project but I have some errors while compiling on ubuntu 16:

/newsboat# make
Makefile:30: config.mk: No such file or directory
Checking for package sqlite3... not found

You need package sqlite3 in order to compile this program.
Please make sure it is installed.

You can download sqlite3 from here: newer)](http://www.sqlite.org/download.html)
newsboat
Checking for package libcurl... found
Checking for package libxml-2.0... found
Checking for package stfl... found
Checking for package json... found
Checking for package ncursesw... found

One or more dependencies couldn't be found. Please install
these packages and retry compilation.
Makefile:316: recipe for target 'config.mk' failed
make: *** [config.mk] Error 1

I see the message about sqlite3 missing but it is installed

# dpkg -l | grep sqlite3
ii  libaprutil1-dbd-sqlite3:amd64         1.5.4-1build1                              amd64        Apache Portable Runtime Utility Library - SQLite3 Driver
ii  libdbd-sqlite3-perl                   1.50-1                                     amd64        Perl DBI driver with a self-contained RDBMS
ii  libsqlite3-0:amd64                    3.11.0-1ubuntu1                            amd64        SQLite 3 shared library
ii  sqlite3                               3.11.0-1ubuntu1                            amd64        Command line interface for SQLite 3
ii  sqlite3-doc                           3.11.0-1ubuntu1                            all          SQLite 3 documentation
ii  sqlite3-pcre                          0~git20070120091816+4229ecc-0ubuntu1       amd64        Perl-compatible regular expression support for SQLite

so I don’t understand which dependencies are still missing. On centos 7 and arch linux 2017 I have problems with stfl which I can’t install. On Arch

# make
gcc -pthread -I. -Wall -Os -ggdb -D_GNU_SOURCE -fPIC   -c -o public.o public.c
In file included from public.c:23:0:
stfl_internals.h:31:10: fatal error: ncursesw/ncurses.h: No such file or directory
 #include <ncursesw/ncurses.h>
          ^~~~~~~~~~~~~~~~~~~~
compilation terminated.
make: *** [<builtin>: public.o] Error 1

On centos

cd perl5 && swig -perl5 stfl.i && perl Makefile.PL
../swig/basedecls.i:87: Warning 314: 'dump' is a perl keyword
../swig/basedecls.i:181: Warning 314: 'dump' is a perl keyword
Can't locate ExtUtils/MakeMaker.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at Makefile.PL line 1.
BEGIN failed--compilation aborted at Makefile.PL line 1.
make: *** [perl5/build_ok] Error 2

Can you help me to understand what’s going wrong, please?

EDIT: I have updated the errors

Thx

About this issue

  • Original URL
  • State: closed
  • Created 7 years ago
  • Reactions: 1
  • Comments: 20 (10 by maintainers)

Most upvoted comments

Ld didn’t look into /usr/local/lib, so i added /usr/local/lib to /etc/ld.so.conf and it works! Now I feel stupid.

Thank you very much!

Try re-create ld cache by running sudo ldconfig. Then run ldd newsboat (where “newsboat” is a filename, so if you don’t have it in the current directory – navigate there, or use a proper path):

$ ldd newsboat
	linux-vdso.so.1 (0x00007fffb1bfa000)
	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f18fa015000)
	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f18fa010000)
	libsqlite3.so.0 => /usr/lib/x86_64-linux-gnu/libsqlite3.so.0 (0x00007f18f9ee6000)
	libcurl.so.4 => /usr/lib/x86_64-linux-gnu/libcurl.so.4 (0x00007f18f9e55000)
	libxml2.so.2 => /usr/lib/x86_64-linux-gnu/libxml2.so.2 (0x00007f18f9c9c000)
	libstfl.so.0 => /usr/lib/libstfl.so.0 (0x00007f18f9c8d000)
…

That should list libraries along with their paths.

If that doesn’t help, check if ld even looks into /usr/local/lib. There is a config in /etc/ld.so.conf, it should mention that directory. (There might also be /etc/ld.so.conf.d/, look in there too).

Okay, run this: export PKG_CONFIG_PATH=//usr/local/lib/pkgconfig/, then in the same terminal try to build Newsboat. pkg-config simply can’t find a description of libstfl because it doesn’t know where to look. By providing PKG_CONFIG_PATH, we tell it where to search. Hope this helps!

From the newsboat package the full dependency list for debian/ubuntu is

libncursesw5-dev, ncurses-term, debhelper (>=9), libxml2-dev, libstfl-dev, libsqlite3-dev, perl, pkg-config, libcurl4-gnutls-dev, libjson-c-dev, asciidoc, libxml2-utils, xsltproc, docbook-xml, docbook-xsl, bc

You’re missing the last ones related to building the docs (asciidoc and the like).


PS. You can use code blocks like this

` ``
Text here
` `` 

To get a much prettier text block (remove the space between the ticks, just there to prevent github catching it as actual formatting).