Add ctests for hepmcanalysis and mctester (GENSER-110)

[GENSER-157] add ctest for hempcanalysis Created: 17/Oct/13  Updated: 01/Nov/13  Resolved: 01/Nov/13

Status: Resolved
Project: MC Generator Services
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Sub-task Priority: High
Reporter: Dmitri Konstantinov Assignee: Kirill Lugovskiy (Inactive)
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Development:

 Description   

add ctest for hempcanalysis



 Comments   
Comment by Dmitri Konstantinov [ 17/Oct/13 ]

Two tests based on hepmcanalysis examples are added. One read hepmc format file, second generates events with pythia6.
Waiting for nightlies.

Comment by Dmitri Konstantinov [ 21/Oct/13 ]

One test works without problem. Second one ( hepmcanalysis_test_hepmcreader ) is failing with ROOT error:

readconfigFile: Parameter max_eta=2.5
Info in <TCanvas::MakeDefCanvas>: created default TCanvas with name c1

      • Break *** segmentation violation
        readconfigFile: Parameter min_pt=0.5
        baseAnalysis: jet definition:
        Longitudinally invariant anti-kt algorithm with R = 0.4 and E scheme recombination
        Adding module ttbarAnalysis
        Adding module UserAnalysis
        baseAnalysis: jet definition:
        Longitudinally invariant anti-kt algorithm with R = 0.4 and E scheme recombination
        baseAnalysis: jet definition:
        Longitudinally invariant anti-kt algorithm with R = 0.4 and E scheme recombination
        Reading events and filling histograms...
        #--------------------------------------------------------------------------
  1. FastJet release 3.0.3
  2. M. Cacciari, G.P. Salam and G. Soyez
  3. A software package for jet finding and analysis at colliders
  4. http://fastjet.fr
  5. Please cite EPJC72(2012)1896 [arXiv:1111.6097] if you use this package
  6. for scientific work and optionally PLB641(2006)57 [hep-ph/0512210].
  7. FastJet is provided without warranty under the terms of the GNU GPLv2.
  8. It uses T. Chan's closest pair algorithm, S. Fortune's Voronoi code
  9. and 3rd party plugin jet algorithms. See COPYING file for details.
    #--------------------------------------------------------------------------
    reader: 10 events found.
    The directory Ttbar will be created
    The directory User will be created
    baseAnalysis: Total number of particles with NaN (Not a Number) params: 0
    baseAnalysis: Total number of particles with NaN (Not a Number) params: 0
    reader: finished successfully!
    baseAnalysis: Total number of particles with NaN (Not a Number) params: 0

===========================================================
There was a crash.
This is the entire stack trace of all threads:
===========================================================
#0 0x00000039d6eac7ae in waitpid () from /lib64/libc.so.6
#1 0x00000039d6e3e8c9 in do_system () from /lib64/libc.so.6
#2 0x00007f24abb479ff in TUnixSystem::StackTrace() () from /ec/lcg-builds/experimental/x86_64-slc6-gcc48-opt-install/ROOT/5.34.10/x86_64-slc6-gcc48-opt/lib/libCore.so
#3 0x00007f24abb4960c in TUnixSystem::DispatchSignals(ESignals) () from /ec/lcg-builds/experimental/x86_64-slc6-gcc48-opt-install/ROOT/5.34.10/x86_64-slc6-gcc48-opt/lib/libCore.so
#4 <signal handler called>
#5 0x00007f24abaf83a4 in TList::FindObject(char const*) const () from /ec/lcg-builds/experimental/x86_64-slc6-gcc48-opt-install/ROOT/5.34.10/x86_64-slc6-gcc48-opt/lib/libCore.so
#6 0x00007f24abae4e4b in ROOT::RegisterClassTemplate(char const*, char const*, int) () from /ec/lcg-builds/experimental/x86_64-slc6-gcc48-opt-install/ROOT/5.34.10/x86_64-slc6-gcc48-opt/lib/libCore.so
#7 0x00007f24abb31d98 in ROOT::TGenericClassInfo::SetFromTemplate() () from /ec/lcg-builds/experimental/x86_64-slc6-gcc48-opt-install/ROOT/5.34.10/x86_64-slc6-gcc48-opt/lib/libCore.so
#8 0x00007f24abb320a5 in ROOT::TGenericClassInfo::GetImplFileLine() () from /ec/lcg-builds/experimental/x86_64-slc6-gcc48-opt-install/ROOT/5.34.10/x86_64-slc6-gcc48-opt/lib/libCore.so
#9 0x00007f24abb3426d in ROOT::TGenericClassInfo::GetClass() () from /ec/lcg-builds/experimental/x86_64-slc6-gcc48-opt-install/ROOT/5.34.10/x86_64-slc6-gcc48-opt/lib/libCore.so
#10 0x00007f24aba69955 in TStreamerArtificial::Class() () from /ec/lcg-builds/experimental/x86_64-slc6-gcc48-opt-install/ROOT/5.34.10/x86_64-slc6-gcc48-opt/lib/libCore.so
#11 0x00007f24aabad532 in TStreamerInfo::Streamer(TBuffer&) () from /ec/lcg-builds/experimental/x86_64-slc6-gcc48-opt-install/ROOT/5.34.10/x86_64-slc6-gcc48-opt/lib/libRIO.so
#12 0x00007f24aabedc11 in TBufferFile::WriteObjectClass(void const*, TClass const*) () from /ec/lcg-builds/experimental/x86_64-slc6-gcc48-opt-install/ROOT/5.34.10/x86_64-slc6-gcc48-opt/lib/libRIO.so
#13 0x00007f24aabeaaa3 in TBufferFile::WriteObjectAny(void const*, TClass const*) () from /ec/lcg-builds/experimental/x86_64-slc6-gcc48-opt-install/ROOT/5.34.10/x86_64-slc6-gcc48-opt/lib/libRIO.so
#14 0x00007f24abaf95f0 in TList::Streamer(TBuffer&) () from /ec/lcg-builds/experimental/x86_64-slc6-gcc48-opt-install/ROOT/5.34.10/x86_64-slc6-gcc48-opt/lib/libCore.so
#15 0x00007f24aabd6aea in TKey::TKey(TObject const*, char const*, int, TDirectory*) () from /ec/lcg-builds/experimental/x86_64-slc6-gcc48-opt-install/ROOT/5.34.10/x86_64-slc6-gcc48-opt/lib/libRIO.so
#16 0x00007f24aabe3310 in TFile::WriteStreamerInfo() () from /ec/lcg-builds/experimental/x86_64-slc6-gcc48-opt-install/ROOT/5.34.10/x86_64-slc6-gcc48-opt/lib/libRIO.so
#17 0x00007f24aabe28e1 in TFile::Close(char const*) () from /ec/lcg-builds/experimental/x86_64-slc6-gcc48-opt-install/ROOT/5.34.10/x86_64-slc6-gcc48-opt/lib/libRIO.so
#18 0x00007f24aabe29d3 in TFile::~TFile() () from /ec/lcg-builds/experimental/x86_64-slc6-gcc48-opt-install/ROOT/5.34.10/x86_64-slc6-gcc48-opt/lib/libRIO.so
#19 0x00007f24aabe2bf9 in TFile::~TFile() () from /ec/lcg-builds/experimental/x86_64-slc6-gcc48-opt-install/ROOT/5.34.10/x86_64-slc6-gcc48-opt/lib/libRIO.so
#20 0x00007f24abaf91c5 in TList::Delete(char const*) () from /ec/lcg-builds/experimental/x86_64-slc6-gcc48-opt-install/ROOT/5.34.10/x86_64-slc6-gcc48-opt/lib/libCore.so
#21 0x00007f24abba571b in TROOT::~TROOT() () from /ec/lcg-builds/experimental/x86_64-slc6-gcc48-opt-install/ROOT/5.34.10/x86_64-slc6-gcc48-opt/lib/libCore.so
#22 0x00000039d6e3617d in __cxa_finalize () from /lib64/libc.so.6
#23 0x00007f24ab7dc6f6 in __do_global_dtors_aux () from /ec/lcg-builds/experimental/x86_64-slc6-gcc48-opt-install/ROOT/5.34.10/x86_64-slc6-gcc48-opt/lib/libCore.so
#24 0x0000000000000031 in ?? ()
#25 0x0000000000000000 in ?? ()
===========================================================

The lines below might hint at the cause of the crash.
If they do not help you then please submit a bug report at
http://root.cern.ch/bugs. Please post the ENTIRE stack trace
from above as an attachment in addition to anything else
that might help us fixing this issue.
===========================================================
#5 0x00007f24abaf83a4 in TList::FindObject(char const*) const () from /ec/lcg-builds/experimental/x86_64-slc6-gcc48-opt-install/ROOT/5.34.10/x86_64-slc6-gcc48-opt/lib/libCore.so
#6 0x00007f24abae4e4b in ROOT::RegisterClassTemplate(char const*, char const*, int) () from /ec/lcg-builds/experimental/x86_64-slc6-gcc48-opt-install/ROOT/5.34.10/x86_64-slc6-gcc48-opt/lib/libCore.so
#7 0x00007f24abb31d98 in ROOT::TGenericClassInfo::SetFromTemplate() () from /ec/lcg-builds/experimental/x86_64-slc6-gcc48-opt-install/ROOT/5.34.10/x86_64-slc6-gcc48-opt/lib/libCore.so
#8 0x00007f24abb320a5 in ROOT::TGenericClassInfo::GetImplFileLine() () from /ec/lcg-builds/experimental/x86_64-slc6-gcc48-opt-install/ROOT/5.34.10/x86_64-slc6-gcc48-opt/lib/libCore.so
#9 0x00007f24abb3426d in ROOT::TGenericClassInfo::GetClass() () from /ec/lcg-builds/experimental/x86_64-slc6-gcc48-opt-install/ROOT/5.34.10/x86_64-slc6-gcc48-opt/lib/libCore.so
#10 0x00007f24aba69955 in TStreamerArtificial::Class() () from /ec/lcg-builds/experimental/x86_64-slc6-gcc48-opt-install/ROOT/5.34.10/x86_64-slc6-gcc48-opt/lib/libCore.so
#11 0x00007f24aabad532 in TStreamerInfo::Streamer(TBuffer&) () from /ec/lcg-builds/experimental/x86_64-slc6-gcc48-opt-install/ROOT/5.34.10/x86_64-slc6-gcc48-opt/lib/libRIO.so
#12 0x00007f24aabedc11 in TBufferFile::WriteObjectClass(void const*, TClass const*) () from /ec/lcg-builds/experimental/x86_64-slc6-gcc48-opt-install/ROOT/5.34.10/x86_64-slc6-gcc48-opt/lib/libRIO.so
#13 0x00007f24aabeaaa3 in TBufferFile::WriteObjectAny(void const*, TClass const*) () from /ec/lcg-builds/experimental/x86_64-slc6-gcc48-opt-install/ROOT/5.34.10/x86_64-slc6-gcc48-opt/lib/libRIO.so
#14 0x00007f24abaf95f0 in TList::Streamer(TBuffer&) () from /ec/lcg-builds/experimental/x86_64-slc6-gcc48-opt-install/ROOT/5.34.10/x86_64-slc6-gcc48-opt/lib/libCore.so
#15 0x00007f24aabd6aea in TKey::TKey(TObject const*, char const*, int, TDirectory*) () from /ec/lcg-builds/experimental/x86_64-slc6-gcc48-opt-install/ROOT/5.34.10/x86_64-slc6-gcc48-opt/lib/libRIO.so
#16 0x00007f24aabe3310 in TFile::WriteStreamerInfo() () from /ec/lcg-builds/experimental/x86_64-slc6-gcc48-opt-install/ROOT/5.34.10/x86_64-slc6-gcc48-opt/lib/libRIO.so
#17 0x00007f24aabe28e1 in TFile::Close(char const*) () from /ec/lcg-builds/experimental/x86_64-slc6-gcc48-opt-install/ROOT/5.34.10/x86_64-slc6-gcc48-opt/lib/libRIO.so
#18 0x00007f24aabe29d3 in TFile::~TFile() () from /ec/lcg-builds/experimental/x86_64-slc6-gcc48-opt-install/ROOT/5.34.10/x86_64-slc6-gcc48-opt/lib/libRIO.so
#19 0x00007f24aabe2bf9 in TFile::~TFile() () from /ec/lcg-builds/experimental/x86_64-slc6-gcc48-opt-install/ROOT/5.34.10/x86_64-slc6-gcc48-opt/lib/libRIO.so
#20 0x00007f24abaf91c5 in TList::Delete(char const*) () from /ec/lcg-builds/experimental/x86_64-slc6-gcc48-opt-install/ROOT/5.34.10/x86_64-slc6-gcc48-opt/lib/libCore.so
#21 0x00007f24abba571b in TROOT::~TROOT() () from /ec/lcg-builds/experimental/x86_64-slc6-gcc48-opt-install/ROOT/5.34.10/x86_64-slc6-gcc48-opt/lib/libCore.so
#22 0x00000039d6e3617d in __cxa_finalize () from /lib64/libc.so.6
#23 0x00007f24ab7dc6f6 in __do_global_dtors_aux () from /ec/lcg-builds/experimental/x86_64-slc6-gcc48-opt-install/ROOT/5.34.10/x86_64-slc6-gcc48-opt/lib/libCore.so
#24 0x0000000000000031 in ?? ()
#25 0x0000000000000000 in ?? ()
===========================================================

Comment by Pere Mato Vila [ 21/Oct/13 ]

This crash occurs when finalizing the application. It could be that is closing a [T]file that was already deleted and closed. I would try to run with an older version of ROOT and see whether the problem has been recently introduced or not.

Comment by Dmitri Konstantinov [ 21/Oct/13 ]

Yes, good idea but I would like to look closer at c++ code for this test. Probably something is wrong there.
And one more comments it doesn't crash for me when I run it locally.

Comment by Dmitri Konstantinov [ 21/Oct/13 ]

There are few observations for this issue. I was able to reproduce it on lcgapp07 with x86_64-slc6-gcc48-opt while no such problem observed on ec-slc6-x86-64-spi-4 with same platform.
Here is a code to reproduce the problem:

#include <iostream>
#include <fstream>
#include "TFile.h"
#include "TH1D.h"

int main(int argc, const char* argv[])
{
TFile* f = new TFile("test.root","RECREATE");
f->cd();
TH1D * histo = new TH1D("test","test",10, 0 ,10);
histo->Write();
// f->Close();
return 0;
}

If I uncomment f->Close() then it works fine.

Here is an output from valgrind:

bash-4.1$ /afs/cern.ch/sw/lcg/external/valgrind/3.8.0/x86_64-slc6-gcc48-opt/bin/valgrind --tool=memcheck /afs/cern.ch/user/d/dkonst/reader.exe
==16868== Memcheck, a memory error detector
==16868== Copyright (C) 2002-2012, and GNU GPL'd, by Julian Seward et al.
==16868== Using Valgrind-3.8.0 and LibVEX; rerun with -h for copyright info
==16868== Command: /afs/cern.ch/user/d/dkonst/reader.exe
==16868==
Warning in <TUnixSystem::SetDisplay>: DISPLAY not set, setting it to lxplus0515.cern.ch:0.0
Info in <TCanvas::MakeDefCanvas>: created default TCanvas with name c1
==16868== Invalid read of size 8
==16868== at 0x5963374: TList::FindObject(char const*) const (in /build/dkonst/TEST2/lcgcmake-install/ROOT/5.34.10/x86_64-slc6-gcc48-opt/lib/libCore.so)
==16868== by 0x594FE2A: ROOT::RegisterClassTemplate(char const*, char const*, int) (in /build/dkonst/TEST2/lcgcmake-install/ROOT/5.34.10/x86_64-slc6-gcc48-opt/lib/libCore.so)
==16868== by 0x599CD77: ROOT::TGenericClassInfo::SetFromTemplate() (in /build/dkonst/TEST2/lcgcmake-install/ROOT/5.34.10/x86_64-slc6-gcc48-opt/lib/libCore.so)
==16868== by 0x599D084: ROOT::TGenericClassInfo::GetImplFileLine() (in /build/dkonst/TEST2/lcgcmake-install/ROOT/5.34.10/x86_64-slc6-gcc48-opt/lib/libCore.so)
==16868== by 0x599F24C: ROOT::TGenericClassInfo::GetClass() (in /build/dkonst/TEST2/lcgcmake-install/ROOT/5.34.10/x86_64-slc6-gcc48-opt/lib/libCore.so)
==16868== by 0x58D4934: TStreamerArtificial::Class() (in /build/dkonst/TEST2/lcgcmake-install/ROOT/5.34.10/x86_64-slc6-gcc48-opt/lib/libCore.so)
==16868== by 0x6C1B611: TStreamerInfo::Streamer(TBuffer&) (in /build/dkonst/TEST2/lcgcmake-install/ROOT/5.34.10/x86_64-slc6-gcc48-opt/lib/libRIO.so)
==16868== by 0x6C5BCF0: TBufferFile::WriteObjectClass(void const*, TClass const*) (in /build/dkonst/TEST2/lcgcmake-install/ROOT/5.34.10/x86_64-slc6-gcc48-opt/lib/libRIO.so)
==16868== by 0x6C58B82: TBufferFile::WriteObjectAny(void const*, TClass const*) (in /build/dkonst/TEST2/lcgcmake-install/ROOT/5.34.10/x86_64-slc6-gcc48-opt/lib/libRIO.so)
==16868== by 0x59645BF: TList::Streamer(TBuffer&) (in /build/dkonst/TEST2/lcgcmake-install/ROOT/5.34.10/x86_64-slc6-gcc48-opt/lib/libCore.so)
==16868== by 0x6C44BC9: TKey::TKey(TObject const*, char const*, int, TDirectory*) (in /build/dkonst/TEST2/lcgcmake-install/ROOT/5.34.10/x86_64-slc6-gcc48-opt/lib/libRIO.so)
==16868== by 0x6C513EF: TFile::WriteStreamerInfo() (in /build/dkonst/TEST2/lcgcmake-install/ROOT/5.34.10/x86_64-slc6-gcc48-opt/lib/libRIO.so)
==16868== Address 0x1f4ab884017 is not stack'd, malloc'd or (recently) free'd
==16868==

      • Break *** segmentation violation
        #0 vgModuleLocal_do_syscall_for_client_WRK () at m_syswrap/syscall-amd64-linux.S:147
        #1 0x0000000000000008 in ?? ()
        #2 0x0000000403046e20 in ?? ()
        #3 0x0000000403046de0 in ?? ()
        #4 0x000000003a555c00 in vgPlain_threads ()
        #5 0x000000000000003d in ?? ()
        #6 0x000000003a555bf0 in vgPlain_threads ()
        #7 0x000000003a93d808 in syscallInfo ()
        #8 0x00000000000000b8 in ?? ()
        #9 0x000000000000003d in ?? ()
        #10 0x0000000000000001 in ?? ()
        #11 0x000000003a93d778 in syscallInfo ()
        #12 0x000000003809ec1a in vgPlain_client_syscall ()
        #13 0x000000003809b8f0 in handle_syscall ()
        #14 0x000000003809cfe7 in vgPlain_scheduler ()
        #15 0x00000000380abcbd in run_a_thread_NORETURN () at m_syswrap/syswrap-linux.c:103
        #16 0x0000000000000000 in ?? ()
        ==16868==
        ==16868== HEAP SUMMARY:
        ==16868== in use at exit: 7,735,506 bytes in 88,184 blocks
        ==16868== total heap usage: 228,133 allocs, 139,949 frees, 15,694,067 bytes allocated
        ==16868==
        ==16868== LEAK SUMMARY:
        ==16868== definitely lost: 0 bytes in 0 blocks
        ==16868== indirectly lost: 0 bytes in 0 blocks
        ==16868== possibly lost: 8,910 bytes in 97 blocks
        ==16868== still reachable: 7,726,596 bytes in 88,087 blocks
        ==16868== suppressed: 0 bytes in 0 blocks
        ==16868== Rerun with --leak-check=full to see details of leaked memory
        ==16868==
        ==16868== For counts of detected and suppressed errors, rerun with: -v
        ==16868== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 186 from 14)
Comment by Dmitri Konstantinov [ 22/Oct/13 ]

Further investigation revealed that for all our(lcgcmake) installations this test gives suspicious output(see below) while it is okay for afs installation. Philippe and Axel contacted.

./reader_2.exe
Error in <TBufferFile::WriteObjectAny>: ptrClass argument may not be 0
Error in <TBufferFile::WriteObjectAny>: ptrClass argument may not be 0
Error in <TBufferFile::WriteObjectAny>: ptrClass argument may not be 0
Error in <TBufferFile::WriteObjectAny>: ptrClass argument may not be 0
Error in <TBufferFile::WriteObjectAny>: ptrClass argument may not be 0
Error in <TBufferFile::WriteObjectAny>: ptrClass argument may not be 0
Error in <TBufferFile::WriteObjectAny>: ptrClass argument may not be 0
Error in <TBufferFile::WriteObjectAny>: ptrClass argument may not be 0
Error in <TBufferFile::WriteObjectAny>: ptrClass argument may not be 0
Error in <TBufferFile::WriteObjectAny>: ptrClass argument may not be 0
Error in <TBufferFile::WriteObjectAny>: ptrClass argument may not be 0
Error in <TBufferFile::WriteObjectAny>: ptrClass argument may not be 0
Error in <TBufferFile::WriteObjectAny>: ptrClass argument may not be 0
Error in <TBufferFile::WriteObjectAny>: ptrClass argument may not be 0

Comment by Philippe Canal [ 22/Oct/13 ]

Hi,

The problem is due to random (unpredictable) behavior in the order in which libraries and .o files are unloaded (and their global deletes). A better way of scheduling those end of process tear down had been implemented in the master and I just uploaded it to the v5-34-00 patches branch. This should solve your problem.

In the meantime (and in general), if you are in a position to do so, it is always better to explicitly delete (and thus Close) the TFile object.

i.e.

> If I uncomment f->Close() then it works fine.

It was the 'expected' (but not intended) result that without Close, the result would be unpredictable. This should be 'fixed' in the patch branch.

Cheers,
Philippe.

Comment by Kirill Lugovskiy (Inactive) [ 24/Oct/13 ]

The ROOT patch did not affect tests behavior, they fail the same way.

Comment by Philippe Canal [ 24/Oct/13 ]

Hi,

After looking at the example provided, the issue is that you have to choose between either explicitly deleting (or at least closing) the TFile or adding a TApplication object in your main (it does not need to receive the 'real' argc and argv passed to the main function). Without either of those, we have no way to properly schedule the (automatic) deletion of the TFile and some of the necessary resources might be delete before hand.

Cheers,
Philippe

Comment by Philippe Canal [ 26/Oct/13 ]

Hi,

I finally found a way to support even this use case. Your code (as is) should work with the tip of the v5-34-00 patch branch (and thus v5.34/11 when released).

Cheers,
Philippe.

Comment by Dmitri Konstantinov [ 28/Oct/13 ]

Hi Philippe, many thanks for the solution! I am reopening this issue as it not solved from our side yet. We need to patch original hepmcanalysis test and only then we can close the ticket

Comment by Pere Mato Vila [ 29/Oct/13 ]

Decided at the meeting 29/10/2013 to remove the ROOT patch (was incomplete) and add a patch to close the TFile. Kirill will be assigned.

Comment by Kirill Lugovskiy (Inactive) [ 30/Oct/13 ]

ROOT patch has been removed and the TFile-close patch has been applied as decided.

Comment by Dmitri Konstantinov [ 30/Oct/13 ]

Hi Kirill, just to document that I said earlier:

If you take a look at second hepmcanalysis test - it doesn't work.
It is failing with following message:

Unable to open fileUnable to open fileUnable to open file Fatal error: BLOCK DATA PYDATA has not been loaded!
The program execution is stopped now!

To fix it one needs to return pydata.o to "target_link_libraries"

target_link_libraries(hepmcanalysis_test_pythia6 ${CLHEP_MAIN_LIBRARY} ${HEPMC_LIBRARY} ${HEPMC_fio_LIBRARY} ${LHAPDF_LIBRARY} ${PYTHIA6_dummy_LIBRARY} ${PYTHIA6_LIBRARY} ${ROOT_LIBRARIES} ${FASTJET_LIBRARY} ${HEPMCANALYSIS_LIBRARY} ${PYTHIA6_LIBRARY_DIR}/pydata.o )

But having it back will cause some compilation conflict between libraries on macos. Please, try to fix it.

Comment by Dmitri Konstantinov [ 30/Oct/13 ]

or i can do it by myself

Comment by Kirill Lugovskiy (Inactive) [ 30/Oct/13 ]

no objections this will save you time. Besides, I cannot reproduce the error.

Comment by Dmitri Konstantinov [ 30/Oct/13 ]

I am trying to build hepmcanalysis and getting following lines:

100%] Performing update step for 'hepmcanalysis-3.4.14'
[100%] Performing patch step for 'hepmcanalysis-3.4.14'
patching file config.mk
patching file Makefile
can't find file to patch at input line 37
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------

— reader.cc.orig 2013-10-30 17:23:25.000000000 +0100
+++ reader.cc 2013-10-30 17:23:44.000000000 +0100
--------------------------
File to patch:
Comment by Dmitri Konstantinov [ 30/Oct/13 ]

I have fixed hepmcanalysis_test_pythia6 tests.

https://svnweb.cern.ch/trac/lcgsoft/changeset/5427/trunk/lcgcmake/generators

Generated at Sat Sep 21 06:39:19 CEST 2019 using Jira 7.13.1#713001-sha1:5e06076c2d215a6f699b7e5c90ab2fae7ba5a1ce.