[cfe-dev] Trouble Using scan-build in Windows 7

Anton Yartsev anton.yartsev at gmail.com
Fri Jun 28 13:48:42 PDT 2013


On 28.06.2013 22:56, Anna Zaks wrote:
>
>
> On Jun 28, 2013, at 11:47 AM, Anton Yartsev <anton.yartsev at gmail.com 
> <mailto:anton.yartsev at gmail.com>> wrote:
>
>> On 28.06.2013 21:28, Anna Zaks wrote:
>>> +<p>By default scan-build searches for clang executables in ./ or 
>>> ./bin paths relative to itself.
>>> +Use --use-analyzer=[path to clang] option to explicitly provide 
>>> path to your clang executables for scan-build:</p>
>>> +
>>> +<pre class="code_example">
>>> + scan-build <span 
>>> class="code_highlight">--use-analyzer=</span>F:/llvm/Release+Asserts/bin/clang.exe 
>>> make
>>> +</pre>
>>>
>>> This is applicable to all users, not only Windows. Is there a reason 
>>> why Windows users would need this option more?
>>>
>>> If not, I'd recommend documenting it with other generic options. 
>>> Usually, we do prefer users to use clang that comes with the 
>>> installation. If this is mainly for users who modify the analyzer, 
>>> maybe we should include it in the developer manual section.
>> Thanks for review!
>> Updated the patch with your remarks considered.
>> This documentation is for ordinary users, included the path to manual 
>> build by force of habit. Now when --use-analyzer is added to the list 
>> of generic options the example is removed.
>>
>> Also removed references to all perl ports except msys perl for now so 
>> the documentation is actual.
>> Ok to commit?
>>
>
> Let's commit but only after the scan-build.bat is in.
Committed at r185199, scan-build.bat is already in.

>
> Thanks!
> Anna.
>>>
>>> Cheers,
>>> Anna.
>>>
>>> On Jun 28, 2013, at 9:44 AM, Anton Yartsev <anton.yartsev at gmail.com 
>>> <mailto:anton.yartsev at gmail.com>> wrote:
>>>
>>>>> Anton,
>>>>>
>>>>> Maybe we should add a page describing what it takes to run 
>>>>> scan-build on Windows to the static analyzer website?
>>>> Added "For Windows Users" section to scan-build.html, will become 
>>>> actual after '[PATCH][analyzer][review request] scan-build port for 
>>>> windows' patch gets in.
>>>> Could you please give a feedback on it? Mainly worry about syntax.
>>>>>
>>>>> Cheers,
>>>>> Anna.
>>>>> On Jun 17, 2013, at 9:34 PM, Anton Yartsev 
>>>>> <anton.yartsev at gmail.com <mailto:anton.yartsev at gmail.com>> wrote:
>>>>>
>>>>>> On 18.06.2013 7:39, Lockhart, Jonathan (lockhaja) wrote:
>>>>>>> Anton,
>>>>>>>
>>>>>>> Well earlier today I uninstalled ActiveState perl for Strawberry 
>>>>>>> perl and oddly enough I ran into the same error, "getpwuid 
>>>>>>> function is unimplemented", which means that apparently it isn't 
>>>>>>> just ActiveState perl that causes the problem.
>>>>>>>
>>>>>>> Now I am surprised to hear you are using MinGW and that all I 
>>>>>>> need is the MinGW installation with MSYS. I have that already 
>>>>>>> installed, as I needed it for Eclipse with the C project I am 
>>>>>>> working on, and it is already in my path. I also have the latest 
>>>>>>> version of both llvm and clang from the trunk. I also added 
>>>>>>> scan-build to my path. With all that I am still hitting the 
>>>>>>> error I emailed back today.
>>>>>>>
>>>>>>> Now I have not tried the example you provided so I will give 
>>>>>>> that a shot and be sure to provide it the build folder for 
>>>>>>> clang.exe and see if that takes care of the problem. Only other 
>>>>>>> thing I can figure is that scan-build can't find MinGW on my 
>>>>>>> path though it is there.
>>>>>>>
>>>>>>> I have also checked the MinGW\msys folder, and there is no perl 
>>>>>>> in the bin folder.
>>>>>> Tried to install MinGW from the latest installer 
>>>>>> mingw-get-inst-20120426.exe 
>>>>>> (http://sourceforge.net/projects/mingw/files/)
>>>>>> Found out that "MinGW Developer Toolkit" component should be 
>>>>>> selected during installation to have perl installed at 
>>>>>> \MinGW\msys\1.0\bin\
>>>>>>
>>>>>>>
>>>>>>> Looks like I still got a bunch of problems left to figure out.
>>>>>>>
>>>>>>> Regards,
>>>>>>> Jon
>>>>>>>
>>>>>>> ------------------------------------------------------------------------
>>>>>>> *From:*Anton Yartsev [anton.yartsev at gmail.com]
>>>>>>> *Sent:*Monday, June 17, 2013 11:09 PM
>>>>>>> *To:*Lockhart, Jonathan (lockhaja)
>>>>>>> *Cc:*Jordan Rose; cfe-dev Developers
>>>>>>> *Subject:*Re: Trouble Using scan-build in Windows 7
>>>>>>>
>>>>>>> On 16.06.2013 20:36, Lockhart, Jonathan (lockhaja) wrote:
>>>>>>>> Anton and Jordon,
>>>>>>>>
>>>>>>>> So I got scan-build to fire off, and when I do it does another 
>>>>>>>> command with perl -S in front of it. Now I did not have perl 
>>>>>>>> originally install on my machine but since have gone and 
>>>>>>>> grabbed a copy of perl and installed it. Now when I run the 
>>>>>>>> scan-build command I get this error:
>>>>>>>>
>>>>>>>> C:\Users\lockhaja\llvm\tools\clang\tools\scan-build>perl -S 
>>>>>>>> scan-build
>>>>>>>> The getpwuid function is unimplemented at scan-build line 35.
>>>>>>>>
>>>>>>>> Now Patrik on the LLVM list point out this article to me:
>>>>>>>> http://lists.cs.uiuc.edu/pipermail/cfe-dev/2010-April/008659.html
>>>>>>>>
>>>>>>>> I read through it and believe I may be using the ActiveState 
>>>>>>>> perl which appears not to work with scan-build. This would mean 
>>>>>>>> I would have to go grab another version. I am curious to know 
>>>>>>>> if I would have to perform all this changes that were described 
>>>>>>>> further in the digest, as I am on 7 not XP, and I would feel 
>>>>>>>> that the Static Analyzer has progressed since 2010 and its 
>>>>>>>> building on Windows.
>>>>>>>>
>>>>>>>> I would be very interested in knowing your set up Anton.
>>>>>>> Now I see that it was a good idea to try MinGW first :)
>>>>>>> I got the same error "getpwuid function is unimplemented" when 
>>>>>>> tried to launch scan-build with ActiveState perl. Then I 
>>>>>>> switched to perl from my MinGW+MSYS installation, and after 
>>>>>>> little changes in scripts scan-build worked for me. I never 
>>>>>>> tried to launch scan-build with Cygwin.
>>>>>>> Clang repository (http://llvm.org/svn/llvm-project/cfe/trunk) 
>>>>>>> holds the changes, allowing to use scan-build with MinGW+MSYS, 
>>>>>>> since the revision 180905.
>>>>>>>
>>>>>>> Theoretically all you should do to get scan-build work is:
>>>>>>> 1) install MinGW+MSYS, get scan-build 
>>>>>>> fromhttp://llvm.org/svn/llvm-project/cfe/trunk
>>>>>>> 2) add the path to scan-build to your PATH environment variable
>>>>>>> 3) provide --use-analyzer=[Xcode|path to clang] option to scan-build
>>>>>>>
>>>>>>> Here is a random example of how I use scan-build:
>>>>>>> for configuring:
>>>>>>> scan-build -v -v -v -o "./" 
>>>>>>> --use-analyzer=F:/llvm_COMMON/-Eclipse_build-/Release+Asserts/bin/clang.exe 
>>>>>>> ../configure DISABLE_ASSERTIONS=1
>>>>>>>
>>>>>>> for making:
>>>>>>> scan-build -v -v -v -o "./" 
>>>>>>> --use-analyzer=F:/llvm_COMMON/-Eclipse_build-/Release+Asserts/bin/clang.exe 
>>>>>>> make DISABLE_ASSERTIONS=1
>>>>>>>
>>>>>>> -o "./" forces scan-build to put reports to the current folder
>>>>>>> DISABLE_ASSERTIONS=1 is a command passed to the configure/make, 
>>>>>>> not scan-build
>>>>>>>
>>>>>>> Hope that helps.
>>>>>>>
>>>>>>>> Regards,
>>>>>>>> Jon
>>>>>>>>
>>>>>>>> ------------------------------------------------------------------------
>>>>>>>> *From:*Anton Yartsev [anton.yartsev at gmail.com]
>>>>>>>> *Sent:*Thursday, June 06, 2013 9:29 PM
>>>>>>>> *To:*Lockhart, Jonathan (lockhaja)
>>>>>>>> *Cc:*Jordan Rose; cfe-dev Developers
>>>>>>>> *Subject:*Re: Trouble Using scan-build in Windows 7
>>>>>>>>
>>>>>>>> On 07.06.2013 5:24, Anton Yartsev wrote:
>>>>>>>>> Hi Jonathan,
>>>>>>>>>
>>>>>>>>> To use the scan-build you should get the contents of 
>>>>>>>>> clang\tools\scan-build from Clang sources as Jordan pointed out.
>>>>>>>>> Currently the scan-build script expects the clang executables 
>>>>>>>>> (clang.exe and clang++.exe) to live in ./clang or ./bin/clang
>>>>>>>> mistake, ./ or ./bin
>>>>>>>>> directory relative to directory with the scan-build stuff but 
>>>>>>>>> you can use the --use-analyzer=[Xcode|path to clang] 
>>>>>>>>> scan-build option to tell scan-build where your clang 
>>>>>>>>> executables live.
>>>>>>>>> The last thing you should do is to add the path to scan-build 
>>>>>>>>> to your PATH and then you should be able to use scan-build as 
>>>>>>>>> it described inhttp://clang-analyzer.llvm.org/scan-build.html.
>>>>>>>>> Hope I've not missed something.
>>>>>>>>> Feel free to ask and point to problems.
>>>>>>>>>
>>>>>>>>>> No, cfe-dev is the appropriate list for questions. (Or 
>>>>>>>>>> cfe-users, but to be honest we analyzer folks don't follow 
>>>>>>>>>> that list much and you probably wouldn't have gotten an 
>>>>>>>>>> answer there!)
>>>>>>>>>>
>>>>>>>>>> scan-build is not installed with Clang or LLVM; I believe 
>>>>>>>>>> when the analyzer project first began it wasn't clear if 
>>>>>>>>>> everyone would want it as a part of their default install. 
>>>>>>>>>> You can find the executables in tools\scan-build under your 
>>>>>>>>>> Clang source directory (probably llvm\tools\clang.)
>>>>>>>>>>
>>>>>>>>>> I've CC'd Anton Yartsev, who I know has been running 
>>>>>>>>>> scan-build on Windows for some time. (Not sure which version, 
>>>>>>>>>> though.)
>>>>>>>>>> Jordan
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Jun 3, 2013, at 14:13 , "Lockhart, Jonathan (lockhaja)" 
>>>>>>>>>> <lockhaja at mail.uc.edu <mailto:lockhaja at mail.uc.edu>> wrote:
>>>>>>>>>>
>>>>>>>>>>> Hello Clang Users and Developers,
>>>>>>>>>>>
>>>>>>>>>>> I apologize in advance if this is going to the wrong email 
>>>>>>>>>>> list, but I thought it would be inappropriate to send it to 
>>>>>>>>>>> the dev list.
>>>>>>>>>>>
>>>>>>>>>>> I am currently working on using Clang and LLVM in some 
>>>>>>>>>>> research I am doing. More specifically at this time I am 
>>>>>>>>>>> trying to use the Clang Static Analysis Tool. I have been 
>>>>>>>>>>> able to follow the instructions on the Static Analysis Tool 
>>>>>>>>>>> site as well as the LLVM page for compiling the code with 
>>>>>>>>>>> Cmake for use with Visual Studio, and I have successfully 
>>>>>>>>>>> built the system using "ALL_BUILD" as well as have testing 
>>>>>>>>>>> successfully clang by build "clang-test" in visual studio.
>>>>>>>>>>>
>>>>>>>>>>> With that said I seem to be able to find the bin file from 
>>>>>>>>>>> which all the material from the system was installed. 
>>>>>>>>>>> Following the directions, I would believe it to be located 
>>>>>>>>>>> in the \bin directory under build but it is not there. I 
>>>>>>>>>>> have also search my llvm and build directories with no 
>>>>>>>>>>> mention of scan-build being found via inspection or search.
>>>>>>>>>>>
>>>>>>>>>>> I was wondering if the instructions online were outdated and 
>>>>>>>>>>> a newer process for running the Clang Static Analyzer was 
>>>>>>>>>>> now used? Is the project even still active and worth me 
>>>>>>>>>>> using in the development of my C programs? Is there now a 
>>>>>>>>>>> way to use the tool from an IDE on the code you have 
>>>>>>>>>>> written, such as through Eclipse or Visual Studio?
>>>>>>>>>>>
>>>>>>>>>>> These are the questions I currently have as I am stuck after 
>>>>>>>>>>> building and testing via the instructions found 
>>>>>>>>>>> here:http://clang.llvm.org/get_started.html#build. Any 
>>>>>>>>>>> assistance would be most appreciative.
>>>>>>>>>>>
>>>>>>>>>>> Regards,
>>>>>>>>>>> Jon Lockhart
>>>>>>>>>>> PhD Candidate - EE Systems
>>>>>>>>>>> IEEE Vice President 13/14
>>>>>>>>>>> University of Cincinnati
>>>>>>>>>>> lockhaja at mail.uc.edu <mailto:lockhaja at mail.uc.edu>
>>>>>>>>>>> _______________________________________________
>>>>>>>>>>> cfe-commits mailing list
>>>>>>>>>>> cfe-commits at cs.uiuc.edu <mailto:cfe-commits at cs.uiuc.edu>
>>>>>>>>>>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> -- 
>>>>>>>>> Anton
>>>>>>>>
>>>>>>>>
>>>>>>>> -- 
>>>>>>>> Anton
>>>>>>>
>>>>>>>
>>>>>>> -- 
>>>>>>> Anton
>>>>>>
>>>>>>
>>>>>> -- 
>>>>>> Anton
>>>>>> _______________________________________________
>>>>>> cfe-dev mailing list
>>>>>> cfe-dev at cs.uiuc.edu <mailto:cfe-dev at cs.uiuc.edu>
>>>>>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
>>>>>
>>>>
>>>>
>>>> -- 
>>>> Anton
>>>> <scan-build-win-users-html_v1.patch>
>>>
>>
>>
>> -- 
>> Anton
>> <scan-build-win-users-html_v2.patch>
>


-- 
Anton

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20130629/eb4b7b5d/attachment.html>


More information about the cfe-dev mailing list