make command with NR (Ubuntu and Poco 1.9)

Hi! I'm currently using Ubuntu and am having the following problem with the make command: 

./include/Blacklist.h:33:10: fatal error: Poco/Data/Common.h: No such file or directory
 #include "Poco/Data/Common.h"
compilation terminated.

I'm using poco 1.9 to install this. When I configured poco to install, I used the following command:
./configure --shared --no-tests --no-samples --omit=Data/MySQL,Data/ODBC,Crypto,PageCompiler,PageCompiler/File2Page,NetSSL_OpenSSL,CppUnit

Thanks for reading!

March 2018


  • Hi! The following section from my personal notes might help solve your problem:

    "*** Make sure the path to the POCO libs ('usr/local/lib', 7/17/17) is included in the shared library cache so that the NR install process will know where to look for them. (This is one way of avoiding NR install errors related to POCO library files being missing.) (7/17/17: My current experience is that Lub1604 had it already included, but Ub1604 had to have it added.)
    * 'ldconfig -p' will print the paths and libraries in the database; if it's too much output, you can use something like 'ldconfig -p | grep /usr/local/lib' or 'ldconfig -p | grep poco'.
    * If necessary, the path can be included by doing the following:
    ** Create a new file '/etc/' as root (one way to do it is like 'sudo gedit /etc/') containing the following [contents]: [/usr/local/lib].
    ** Then run 'sudo ldconfig' to rebuild the cache.
    ** If you had already tried to install NR before doing this, you can do a reinstall w/ 'sudo make uninstall' followed by 'sudo make install'."

    For a broader scope of info (including the above) related to my installing NR on *ubuntu 16.04 systems, see this message I posted to the mailing list along with its associated thread, especially those messages from me as they include additional info that may be helpful:

  • Great! This helped! Thank you. I have another question, however. I've got the path to the POCO libs fixed, but now when I try to make NR, it prints the following: 

    ./include/SnifferThread.h:60:10: fatal error: pcap.h: No such file or directory
     #include <pcap.h>
    The pcap.h file is in the tar.gz file for NR, but it's in a different location unaware to SnifferThread.h. Should I just try a previous version of NR? 
    Thanks for reading. 
  • Nevermind on the last post. This is my issue now. 

    /bin/bash ./libtool --tag=CXX   --mode=link g++ -I./include  -g -O2 -g -O2 -L/usr/local/lib -L/usr/lib  -o net-responsibility ./src/main.o -lNetResponsibility -lPocoNet -lPocoUtil -lPocoXML -lPocoZip -lPocoDataSQLite -lPocoData -lPocoFoundation 
    libtool: link: g++ -I./include -g -O2 -g -O2 -o .libs/net-responsibility ./src/main.o  -L/usr/local/lib -L/usr/lib /home/jhbatley/Downloads/net-responsibility-3.0.3/.libs/ -lPocoNet -lPocoUtil -lPocoXML -lPocoZip -lPocoDataSQLite -lPocoData -lPocoFoundation
    /home/jhbatley/Downloads/net-responsibility-3.0.3/.libs/ undefined reference to `pcap_next_ex'
    /home/jhbatley/Downloads/net-responsibility-3.0.3/.libs/ undefined reference to `pcap_findalldevs'
    /home/jhbatley/Downloads/net-responsibility-3.0.3/.libs/ undefined reference to `pcap_open_live'
    /home/jhbatley/Downloads/net-responsibility-3.0.3/.libs/ undefined reference to `pcap_geterr'
    /home/jhbatley/Downloads/net-responsibility-3.0.3/.libs/ undefined reference to `pcap_freealldevs'
    /home/jhbatley/Downloads/net-responsibility-3.0.3/.libs/ undefined reference to `pcap_setfilter'
    /home/jhbatley/Downloads/net-responsibility-3.0.3/.libs/ undefined reference to `pcap_compile'
    /home/jhbatley/Downloads/net-responsibility-3.0.3/.libs/ undefined reference to `pcap_close'
    collect2: error: ld returned 1 exit status
    Makefile:570: recipe for target 'net-responsibility' failed
    make: *** [net-responsibility] Error 1

  • Glad to know it helped.

    First off, did you read the message and related thread on the mailing list that I linked to in my previous post? If not, you really should. :) (Hint: It doesn't seem to me that you did, but I could be wrong. :) ) It will likely save you (and me or others who might try to help you resolve this) time. From what you posted above, it looks like you may have at least two issues:

    1. Do you have pcap installed? (See link mentioned above.)
    2. Seems like you are trying to install v 3.0.3. If so, you shouldn't because it's broken. AFAIK, the only working version of NR is the latest one from the development branch. (See link mentioned above.)

  • Ok. Thanks! I will start using v4.0. However, where do I get the hg (from BitBucket?) file so I can update the files and start compiling? 
  • You can probably tell, but I'm sort of new to the Linux world. I'm still learning how all of this works. How would you get the latest development version? 

  • No problem. It does come from BitBucket. In the mailing list message of the link mentioned above ( :) ), you will find a link to BitBucket where you can download a tarball (zipped archive) of the latest development version. Once again ( :) ), a great place to start is by reading the message and accompanying thread at the link mentioned above. :) (From your questions, it appears to me that you either haven't read these at all or haven't read them thoroughly.)
  • I now have everything installed due to your article. Thanks!
  • Great, glad to hear it, and you're welcome! :)
Sign In or Register to comment.