Problem while integrating with ClearCase

Help
2012-08-16
2013-06-03
  • Renato Mesa
    Renato Mesa
    2012-08-16

    Hello all,

    I´ve been trying to integrate Codestriker to ClearCase and I´m stucked. I am using a snapshot view and I can generate diff files and upload them to Codestriker withou errors.

    However, when I try to examine the original files (clicking in Parallel), The following error message appears in the pop-up window:

    Command failed: open3: IO::Pipe: Can't spawn-NOWAIT: No such file or directory at D:/Codestriker/codestriker-1.9.10/lib/Codestriker.pm line 590

    C:/Program Files/IBM/RationalSDLC/ClearCase/bin get -to \tmp\HzAhDd4QxO\Temp_YouCanDeleteThis C:\MyFileLocation\FileName@@\main\branchName\6
    Check your webserver error log for more information.
    at D:/Codestriker/codestriker-1.9.10/lib/Codestriker/Repository/ClearCaseSnapshot.pm line 60

    It seems to be some file handling problem, but I could not find the solution.

    Please anybody could help me?

    Thanks and Regards.

     
  • David Sitsky
    David Sitsky
    2012-08-16

    Try opening a cmd.exe window and type in that exact command to see what happens.  Its possible some obscure ClearCase error will come back which will explain why it is not working. 

    C:\Program Files]IBM]RationalSDLC]ClearCase]bin get -to \tmp\HzAhDd4QxO\Temp_YouCanDeleteThis C:\MyFileLocation\FileName@@\main\branchName\6

     
  • Renato Mesa
    Renato Mesa
    2012-08-17

    I checked and there is a File Not Found error in \tmp\HzAhDd4QxO\Temp_YouCanDeleteThis…If I change this path to a regular windows path (C:\Temp_YouCanDeleteThis) it works (in cmd.exe)

    I think Perl is not being able to create the file or copy the content…I´m trying to solve this in Codestriker code, but I´m totally newbie in Perl and I´m still stucked… =/

    Do you have any tips?

    Thank you so much for your help

     
  • David Sitsky
    David Sitsky
    2012-08-19

    I would create a temporary directory in windows, for example c:\temp, and make sure this is set in your codestriker.conf file, then all should work fine:

    $tmpdir = 'c:/temp';

    This is actually there in the codestriker.conf filke already, it just needs to be uncommented.

     
  • Renato Mesa
    Renato Mesa
    2012-08-20

    I guess I solved this problem. (Created the temp file dir)

    Unfortunatelly, another one appeared..

    Now, when I click on Parallel link, the following error appears:

    Can't open(GLOB(0x2095cac), <, C:\temp\QR6jRZZVHH\Temp_YouCanDeleteThis): No such file or directory at C:/codestriker-1.9.10/lib/Codestriker/Action/ViewTopicFile.pm line 66

    I checked other topics on google and tried to solve doing this:

    - Checked user permission for view access
    - Checked apache log on user (changed to mine)
    - Commented line 68 of ClearCaseSnapshot.pm

    However, I could not achieve success… Do you happen to know if it is an environment problem? I´m running Codestriker on Windows 7 32-bit with strawberry perl.

    Sorry for one more question :/

    Regards,

    Renato.

     
  • David Sitsky
    David Sitsky
    2012-08-20

    Your original message showed the following:

    C:/Program Files/IBM/RationalSDLC/ClearCase/bin get -to
    \tmp\HzAhDd4QxO\Temp_YouCanDeleteThis
    C:\MyFileLocation\FileName@@\main\branchName\6

    It seems your $cleartool setting in codestriker.conf is missing the cleartool.exe executable at the end?  Can you show me what it is set as?

     
  • Renato Mesa
    Renato Mesa
    2012-08-21

    Yeah, you are right..

    My original problem was related to the cleartool… I checked my codestriker.conf file and I could see that the path was wrongly configured (it was configured to the folder and not to the cleartool.exe)

    After this the error presented in the message 5 appeared.

    Anyway, some key points of my codestriker.conf file is attached below.

    Thanks and Regards.

    # Location of the cleartool binary.  This is only required if you are using
    # a ClearCase repository.
    $cleartool = 'C:\Program Files\IBM\RationalSDLC\ClearCase\bin\cleartool.exe';

    #Path to my snapshot view
    'clearcase:C:\\viewstore\\ECloud\\ECloud\\MobilePrint_ECloud'

     
  • David Sitsky
    David Sitsky
    2012-08-21

    I assume you are configured to run this as CGI and not mod_perl?  Can you check the apache error log file for any more information on what might have gone wrong?  It seems for some reason the cleartool command did not succeed.

     
  • Renato Mesa
    Renato Mesa
    2012-08-22

    Yeah. I´m running in CGI.

    I found out the problem. As you said previously, the problem was related to temp folder.

    I changed codestriker to use a pre-created file as temp file and it worked. The problem is that perl is not able to create folder/files in my temp folder (I created a new one and nothing happened)… I think the problem is related to user permission, but I could not solve.

     
  • Renato Mesa
    Renato Mesa
    2012-08-23

    Finally I found a way to fix the problem with a workaround!!

    I don´t know why my path is becoming empty in Apache/Perl context..So I avoided open3 call and created a .bat file instead, setting the path again in it and then cleartool command was successfully executed.

    I really don´t know why this happened, but now it´s working!

    Thank you so much for your help!

     
  • David Sitsky
    David Sitsky
    2012-08-23

    So you require C:/Program Files/IBM/RationalSDLC/ClearCase to be in the path?  You can adjust the path in the codestriker.pl file as another way to solve this.  I didn't realise on windows, cleartool.exe depends on other dlls in that directory?

    You can also set the PATH in apache.conf as well I believe.

     
  • Renato Mesa
    Renato Mesa
    2012-08-24

    No, the cleartool was being triggered by codestriker correctly. The problem is that I found an external dependency with RATLCRYPTO.DLL within C:\Program Files\IBM\RationalSDLC\common.. This folder was originally in my windows path, but since the value was empty in codestriker context, the .DLL was not found and cleartool crashed…

    I did not check the possibility of changing the PATH in apache.conf.. I´ll try this approach later

    But anyway, thank you for your support and sorry for the imprecise questions..