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.
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
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
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.
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 :/
Your original message showed the following:
C:/Program Files/IBM/RationalSDLC/ClearCase/bin get -to
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?
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
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.
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.
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!
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.
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..