← Back to team overview

kicad-developers team mailing list archive

Re: Fwd: Are build warnings and notes normal?

 


On 01/29/2015 01:52 AM, Fat-Zer wrote:
2015-01-29 2:40 GMT+03:00 Bob Gustafson <bobgus@xxxxxxx>:
 From the KiCad directory, I loaded a fresh source copy by:

    bzr checkout lp:kicad kicad.bzr

(I use the checkout so I can enter the kicad.bzr and do ‘bzr up’ )

Then enter the kicad.bzr directory and do:

    sh ../kicad-configure.sh 2>&1 | tee config.out

The kicad-configure.sh file is attached.

Then do:

    make 2>&1 | tee ../kicad_make.out

The ../ is to put the output file into my KiCad directory so it is safe if I
do another bzr checkout

Then when that finishes, do:

    sudo make install 2>&1 | tee ../kicad_install.out

sudo - I think it is being installed in directories with restrictive
permissions.

Then when that finishes, double-click the /Applications/kicad which is soft
linked to the executable generated in the install step above.

The output from Help->Copy Version Information is: (don’t forget to exit so
clipboard contents is fresh)

Application: kicad
Version: (2015-01-28 BZR 5393)-product Debug build
wxWidgets: Version 3.0.2 (debug,UTF-8,compiler with C++ ABI 1002,GCC
4.2.1,STL containers,compatible with 2.8)
Platform: Mac OS X (Darwin 14.1.0 x86_64), 64 bit, Little endian, wxMac
Boost version: 1.57.0
          USE_WX_GRAPHICS_CONTEXT=OFF
          USE_WX_OVERLAY=ON
          KICAD_SCRIPTING=ON
          KICAD_SCRIPTING_MODULES=ON
          KICAD_SCRIPTING_WXPYTHON=ON
          USE_FP_LIB_TABLE=HARD_CODED_ON
          BUILD_GITHUB_PLUGIN=ON
          KICAD_USE_WEBKIT=ON

Now, from the KiCad directory, execute the count-warnings.rb and
warning-histo.rb programs
(programs are attached - sorry they are not python)

Bobs-MacBook-Air:KiCad bobgus$ ruby count-warnings.rb kicad_make.out
7652 total warnings
Bobs-MacBook-Air:KiCad bobgus$ ruby warning-histo.rb kicad_make.out

warning

   7459    template argument uses unnamed type [-Wunnamed-type-template
    314    'BOARD::SetLayer' hides overloaded virtual function [-Woverl
     56    'LIB_PART::GetBoundingBox' hides overloaded virtual function
     33    comparison of constant 4294967295 with expression of type 'i
     23    'SHAPE_LINE_CHAIN::Collide' hides overloaded virtual functio
     14    comparison of constant 4294967295 with expression of type 'L
      4    comparison of constant 4294967294 with expression of type 'L
      4    'PCAD2KICAD::PCB_PAD::AddToModule' hides overloaded virtual
      4    'KIGFX::CACHED_CONTAINER::GetVertices' hides overloaded virt
      3    'PCAD2KICAD::PCB_CUTOUT::Parse' hides overloaded virtual fun
      3    comparison of unsigned expression >= 0 is always true [-Wtau
      2    'PCAD2KICAD::PCB::Parse' hides overloaded virtual function [
      2    variable 'FullFileName' is uninitialized when used within it
      2    'PCAD2KICAD::PCB_KEEPOUT::Parse' hides overloaded virtual fu
      2    private field 'm_writable' is not used [-Wunused-private-fie
      1    private field 'm_currentWidth' is not used [-Wunused-private
      1    private field 'm_startLayer' is not used [-Wunused-private-f
      1    implicit conversion of NULL constant to 'bool' [-Wnull-conve
      1    private field 'm_startsOnVia' is not used [-Wunused-private-
      1    comparison of constant 4294967294 with expression of type 'i
      1    'va_start' has undefined behavior with reference types [-Wva
      1    private field 'm_iteration' is not used [-Wunused-private-fi
      1    private field 'm_viaDiameter' is not used [-Wunused-private-
      1    private field 'm_Parent' is not used [-Wunused-private-field
      1    private field 'm_viaDrill' is not used [-Wunused-private-fie
      1    private field 'mur_eff' is not used [-Wunused-private-field]

Done, total = 7936 of warning

note

   7113    while substituting deduced template arguments into function
   5103    in instantiation of template class 'boost::polygon::is_polyg
   4879    in instantiation of template class 'boost::polygon::is_any_p
   1404    in instantiation of template class 'boost::polygon::is_mutab
    606    in instantiation of template class 'boost::polygon::is_eithe
    314    hidden overloaded virtual function 'BOARD_ITEM::SetLayer' de
     56    hidden overloaded virtual function 'EDA_ITEM::GetBoundingBox
     46    hidden overloaded virtual function 'SHAPE::Collide' declared
     30    in instantiation of function template specialization 'boost:
      5    hidden overloaded virtual function 'PCAD2KICAD::PCB_POLYGON:
      4    hidden overloaded virtual function 'PCAD2KICAD::PCB_COMPONEN
      4    hidden overloaded virtual function 'KIGFX::VERTEX_CONTAINER:
      2    hidden overloaded virtual function 'PCAD2KICAD::PCB_MODULE::

Done, total = 19566 of note
Bobs-MacBook-Air:KiCad bobgus$

The count from the two programs don't quite match.. Nothing is perfect :-)

Have fun

Bob G


On 01/28/2015 04:32 PM, Bob Gustafson wrote:

I'm building fresh from 5393. When it finishes I will post a summary.

Bob G

On 01/28/2015 04:24 PM, Adam Wolf wrote:

Yes.

Hi, I'm building with clang on linux (more for testing purposes rather
than for actual usage).
Firstly, I can confirm that most of those warnings are present in the build.
Secondly, don't be scared by the number of warnings: most of them are
point to headers so appear many times for the same issue.

Yes, there is a lot of 'low hanging fruit' - one change could result in
thousands less warnings..


Now some more details on concrete warnings:
I've tried to deal with some -Woverloaded-virtual in bug 1412528. Some
patches were not accepted, some are committed and some of the issues
are supposed to be fixed by later work. Also I haven't touched
PCAD2KICAD module.
I don't suppose -Wunused-private-field/function patches will be highly
appreciated because they may make more difficult the current work of
developers.
Any comments that come from the compiler are useful, particularly if the
running program does not crash, but gives wrong results.
The -Wtautological-constant-out-of-range-compare and some other
signed/unsigned comparison warnings may indicate a bug.
I haven't seen -Wunnamed-type-template-args. May be it's just not turn
in clang-3.3 by default.

_______________________________________________
Clang is known for better error messages than gcc. Newer versions of
either compiler should give more messages. It is a little like the new
cleaning lady finding dust bunnies left by the previous one.

Bob G


References