Boost logo

Boost :

Subject: Re: [boost] [boost-process] Beta & Review
From: Klemens Morgenstern (klemens.morgenstern_at_[hidden])
Date: 2016-08-05 21:38:10


Am 06.08.2016 um 03:21 schrieb Joseph Van Riper:
> On Mon, Jul 18, 2016 at 9:41 AM Klemens Morgenstern <
> klemens.morgenstern_at_[hidden]> wrote:
>
>> Hi,
>>
>> boost-process is now in beta, you can check it out here:
>> https://github.com/klemens-morgenstern/boost-process
>>
>> and read the doc here: http://klemens-morgenstern.github.io/process/
>>
>> It will probably be in review in the beginning of November, Antony
>> Polukhin will be the review manager. I really hope I'll get some
>> feedback before that, so I can work on the weak points and also get more
>> detailed in the documentation.
>>
>
> I tried at least part of the tutorial on an Ubuntu 16 machine using the git
> cloned code you have made available as of today, and I have the following
> observations:
>
> - Your example code suggests you look through a path of some kind for
> the executable, but while trying the code on my own, it did not seem to do
> this. I had to use absolute paths to the executable I wanted to run.
> Which is okay, but it feels like the docs need to manage my expectations a
> bit better there.

First of all, thank you very much for trying it out. That question is
noted for the FAQ. No, it does not look into the path, but the system
might do that. If you want to search PATH, you can use
boost::process::search_path.

> - Your documentation suggests the executable I'd create would terminate
> when the child it spawned ends. I do not see this... my executable hangs
> indefinitely. 'while (c.running() && std::getline(is, line))
> data.push_back(line);' never ends for me. Is this a bug you are currently
> working through, or is there something else that the tutorial may have
> missed?

The exiting child does NOT close the pipe. So I guess you'd be hanging
in std::getline(is, line), not in c.running(). If I'm wrong about this
one, please tell me.
We had this issue now a few times, where people expected the pipe to
close. Problem is: that cannot be done for all cases, hence it is not
implemented that way.

> - Your documentation doesn't tell me much about boost dependencies. I
> originally tried to work with the boost library one may apt install for
> Ubuntu 16, but it didn't seem your library was compatible with it (or maybe
> I erred somehow). I pulled down boost 1.61 and it compiled with that just
> fine, but I wonder what is the oldest boost library one may use? If
> there's a limit, it probably ought to be mentioned in the documentation,
> since many distributions are terrible about keeping up with the most
> current boost distribution.
Actually, that would be the develop-branch of boost, i.e. 1.62. You can
currently only use the current version, since I also updated
boost.winapi. That wouldn't concern you on ubuntu, but that's the actual
dependency.
>
> - Trey
>
> _______________________________________________
> Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
>


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk