Error with sudo make install NR 4.0 libPoco 1.9

Hi all, trying to install NR and getting this error when calling sudo make install for the latest NR from bitbucket: 

./src/Options.cpp: In member function 'bool NetResponsibility::Options::hasChildValue(std::string, std::string) const':
./src/Options.cpp:60:52: error: no matching function for call to 'NetResponsibility::Options::find(std::vector<std::basic_string<char> >::iterator, std::vector<std::basic_string<char> >::iterator, std::string&) const'
  it = find (children.begin(), children.end(), value);
                                                    ^
./src/Options.cpp:60:52: note: candidate is:
In file included from /usr/local/include/Poco/Util/Application.h:23:0,
                 from ./include/MyXml.h:34,
                 from ./include/Options.h:33,
                 from ./src/Options.cpp:20:
/usr/local/include/Poco/Util/LayeredConfiguration.h:127:12: note: Poco::Util::LayeredConfiguration::ConfigPtr Poco::Util::LayeredConfiguration::find(const string&) const
  ConfigPtr find(const std::string& label) const;
            ^
/usr/local/include/Poco/Util/LayeredConfiguration.h:127:12: note:   candidate expects 1 argument, 3 provided
make[1]: *** [src/libNetResponsibility_la-Options.lo] Error 1

seems to be an error with the code itself?  or it's some kind of error with Poco.  Please help, need to use linux since my macbook pro is dying and linux is all my backup laptop can run

Edit:  Running Ubuntu 14.04.5 LTS straight from canonical

Comments

  • Hi! Thanks for the edit -- always helpful to include the OS/distro info. :) Based on my limited understanding, I would guess your best option is to upgrade to Ubuntu 16.04 and then install NR on that. Here's a link to a message I posted to the mailing list about successful installs on *ubuntu 16.04 systems:
    https://sourceforge.net/p/responsibility/mailman/message/35931373/
    Note that you'll want to read through the associated thread for additional important info. I'm using an earlier Poco version than 1.9, but the forum thread here ( https://forum.netresponsibility.com/discussion/comment/1224 ) includes a report of someone using the info I posted via the link above to get a successful install with Poco 1.9 on Ubuntu (they didn't mention what version).

    From what I remember, there are older versions of NR that will install on Ubuntu 14.04 but won't be able to send the reports. And the latest versions of NR include a fix that enables them to work on Ubuntu 16.04, but I'm guessing the nature of the fix means they won't work on 14.04. Depending on the order of development, there's perhaps a small chance there is a development version at some point in the versioning system that includes the report sending fix but not the 16.04 compatibility fix, which might work for your current system. Or if you have the willingness and ability, you could come up with your own customized version. This is why, even though getting it working on your current system is probably not impossible, I would say your best option is to upgrade your system to Ubuntu 16.04.

    HTH,
    Dustin
  • @duststuff and @severectify,

    After following the mailing list instructions, I am running into the same issue while running Ubuntu Mate 16.04 I tried poco 1.8.1 and poco 1.9, but I have had no success.  The only thing I would add is I had a couple extra lines of output:

    make[1]: Leaving directory '/home/luke/Downloads/netresponsibilityteam-net-responsibility-fb798cc00fd2'
    Makefile:1268: recipe for target 'all-recursive' failed
    make: *** [all-recursive] Error 1

    Any additional information I can provide, please let me know.

    Thank you,

    LukeMorrison
  • @LukeMorrison , here's a couple things you could try, but no guarantees:

    1. Try using Poco v1.7.8p3 (the version I used as mentioned in the mailing list thread).
    2. Try to get in touch with @MathGeek8 on the forum thread I linked to above to get more details on his install. He reported a successful install on Ubuntu using Poco 1.9, but I don't know what version of Ubuntu. If he installed successfully on 16.04, then it seems the Poco version shouldn't be the issue.

    HTH,
    Dustin
  • Just a possible correction to my March 24 post above, after doing some testing with various Poco versions, I'm guessing that @MathGeek8 didn't get Net Responsibility (NR) installed with Poco 1.9 but rather with an earlier version; if he did, I would love to know how. :) I have gotten the error mentioned in this thread with the following versions of Poco: 1.9.0, 1.8.1, 1.8.0.1, and 1.7.9p2. I haven't tested 1.7.9p1 or 1.7.9, but I'm guessing there is a good chance that v1.7.8p3 (released 22 Jun 2017) is the latest version that works (I've installed on Lubuntu 18.04 systems now as well) and that one or more bug fixes and/or features in v1.7.9 created an incompatibility with NR's code, which breaks the 'make' process. You can check out the change log on the Poco website for more details; comparing it with the error makes me think that the following entry under v1.7.9 points to the change that caused the problem:
    > Poco::Util::LayeredConfiguration: added support for labelling configurations and finding them by their label

    So presumably the fix is to figure out more details about how Poco changed their rules and then adapt the NR code to follow those. The thing we don't know is if there are other parts of the 'make' process that are broken as well, but this error breaks the process before it gets to them.
  • @duststuff,

    I am getting the follow error when attempting to compile NR 4.0:

    autoreconf -vfi
    autoreconf: Entering directory `.'
    autoreconf: configure.ac: not using Gettext
    autoreconf: running: aclocal -I scripts/m4 --output=aclocal.m4t
    Can't exec "aclocal": No such file or directory at /usr/share/autoconf/Autom4te/FileUtils.pm line 326.
    autoreconf: failed to run aclocal: No such file or directory

    The output is fairly clear, but I'm not sure where I went wrong.  The POCO libraries seemed to compile correctly, so I don't think that is what is causing the issue, but I could be wrong. 

  • It looks like I found my issue.  automake was not installed
  • @LukeMorrison,

    Glad you figured it out. There are a number of build-related packages necessary that some distros don't have installed by default.
Sign In or Register to comment.