Hi Davide,

On 31/01/2017 16:38, Vanzo, Davide wrote:
Yes, no luck even with the debug flag. Here are the last last log lines before my SIGINT:

== 2017-01-31 09:07:15,484 easyblock.py:2263 DEBUG Not skipping test step (skippable: True, skip: None, skipsteps: [], module_only: False, force: False
== 2017-01-31 09:07:15,484 build_log.py:216 INFO testing...
== 2017-01-31 09:07:15,485 easyblock.py:2271 INFO Starting test step
== 2017-01-31 09:07:15,485 templates.py:151 DEBUG config: <easybuild.framework.easyconfig.easyconfig.EasyConfig object at 0x7f1d37e88c50> == 2017-01-31 09:07:15,485 templates.py:175 DEBUG version found in easyconfig is 5.24.0 == 2017-01-31 09:07:15,485 templates.py:219 DEBUG name: github_account, config: None
== 2017-01-31 09:07:15,485 templates.py:219 DEBUG name: name, config: Perl
== 2017-01-31 09:07:15,486 templates.py:219 DEBUG name: version, config: 5.24.0 == 2017-01-31 09:07:15,486 templates.py:219 DEBUG name: versionsuffix, config: == 2017-01-31 09:07:15,486 templates.py:219 DEBUG name: versionprefix, config: == 2017-01-31 09:07:15,486 templates.py:151 DEBUG config: <easybuild.framework.easyconfig.easyconfig.EasyConfig object at 0x7f1d37e88c50> == 2017-01-31 09:07:15,486 templates.py:175 DEBUG version found in easyconfig is 5.24.0 == 2017-01-31 09:07:15,487 templates.py:219 DEBUG name: github_account, config: None
== 2017-01-31 09:07:15,487 templates.py:219 DEBUG name: name, config: Perl
== 2017-01-31 09:07:15,487 templates.py:219 DEBUG name: version, config: 5.24.0 == 2017-01-31 09:07:15,487 templates.py:219 DEBUG name: versionsuffix, config: == 2017-01-31 09:07:15,487 templates.py:219 DEBUG name: versionprefix, config: == 2017-01-31 09:07:15,488 easyblock.py:2274 INFO Running method test_step part of step test == 2017-01-31 09:07:15,488 run.py:137 DEBUG run_cmd: running cmd export LC_ALL=C && make test (in /mnt/ramdisk/Perl/5.24.0/GCC-5.4.0-2.26/perl-5.24.0)

OK, basically what you are asking is that a running command would generate output in the EasyBuild log file, I think. This has been discussed/considered before, see https://github.com/hpcugent/easybuild-framework/issues/581 .

There's one way to get what you want, which is making the run_cmd function collect output in a separate temporary log file specific to that command while the command is still running.

Right now, this is not done by default, but we could change that...

Of course, the other option would be to just let run_cmd stream the output of the command into the main log, as the command is running. That's certainly doable too, but is a bit more tedious (certainly w.r.t. backward compatibility).


regards,

Kenneth


DV


On Jan 31 2017, at 9:31 am, Kenneth Hoste <[email protected]> wrote:

    Hi Davide,

    On 31/01/2017 16:01, Vanzo, Davide wrote:
    Kenneth,
    yes, for the configure and build steps I have the output in the
    log filed (sorry for the confusion before), but I don't see
    anything for the test step. For example, for both Tcl and Perl
    the last thing I see is:

    == 2017-01-30 17:55:58,057 easyblock.py:2274 INFO Running method
    test_step part of step test

    If the test hangs (as happened in both cases for me) I have no
    clue what is going wrong.

    Have you tried running with "eb --debug" to get a debug log?

    The test step for Tcl is nothing more than a 'make test' afaik.

    A non-debug log probably only shows which commands were run after
    they completed (we should probably change that).


    regards,

    Kenneth

    DV


    On Jan 31 2017, at 4:09 am, Kenneth Hoste
    <[email protected]> <mailto:[email protected]> wrote:

        Hi Davide,

        On 30/01/2017 23:08, Vanzo, Davide wrote:
        Hello world,
        I would find quite useful to have an option (or maybe make
        it a default behavior) to get the full raw standard output
        and error from whatever EB is running (make, test, etc.).
        For example, while installing Tcl it was hanging at the test
        section. After trying manually, I realized it was the httpd
        test that was hanging because of the iptables rules on that
        port. If I would have had access to the raw output I could
        have figured it out without having to redo the test manually
        outside EB. This would be even more useful when developing
        an easyconfig or easyblock.
        Have I missed the option or is it something that should be
        implemented on EB?

        This output should be available in the log file that
        EasyBuild collects?
        The location of the (temporary) log file is printed at the
        start of EB.

        With the hanging Tcl installation, you should be able to just
        dive into the log file after hitting Ctrl-C?

        If needed, you could pass --debug to get a debug log, but the
        info you're looking for should be there by default already...


        regards,

        Kenneth


        Thanks!

-- Davide Vanzo, PhD
        Application Developer
        Adjunct Assistant Professor of Chemical and Biomolecular
        Engineering
        Advanced Computing Center for Research and Education (ACCRE)
        Vanderbilt University - Hill Center 201
        (615)-875-9137
        www.accre.vanderbilt.edu <http://www.accre.vanderbilt.edu>



Reply via email to