← Back to team overview

kicad-developers team mailing list archive

Re: [PATCH] kicad-install.sh: Enhanced Error Handling with outcomes of cmake and make

 

Hi Wayne,
I can see your point of being leery of python-wxgtk2.8 issue,  but the issue is beyond of scope of this patch.   This patch fixes the real problems of the installation that have caused some other people panicking in recent days, and it does not add any harms to any part of the installation script.
I hope the patch can be integrated back to the main branch.  But if you decide not to do it, it's perfectly OK with me.
--Joe
 

     On Thursday, October 16, 2014 12:06 PM, Wayne Stambaugh <stambaughw@xxxxxxxxxxx> wrote:
   

 On 10/15/2014 9:25 PM, Joseph Chen wrote:
>  
> 
> Hi Wayne,
> 
> I am not doing anything with "-DKICAD_SCRIPTING_WXPYTHON=ON" at all.
> 
> Ubuntu14.04 just simply does not have a readily available
> python-wxgtk3.0 package, and it seems working OK to me with only 
> python-wxgtk2.8.

I would be very leery about doing this.  If you build KiCad against
wxWidgets 3, all of the low level objects will have wxWidgets 3 code
which may get passed to wxPython 2 which will undoubtedly linked against
wxWidgets 2.8.  I can see lots of bad thing happening.

> 
> The fixes by my patch will get rid of headaches of new users, myself
> included, with fresh installs by using "kicad-install.sh".

The problem with your solution is that if someone comments out line 48
and uncomments line 51 to build kicad with python scripting then your
patch will fail.  You are merely trading your problem with someone
elses.  I suggest that you keep your patch in your source branch until I
can come up with a fix that works in both cases.

> 
> --Joe
> 
> 
> 
> On Wednesday, October 15, 2014 7:39 AM, Wayne Stambaugh
> <stambaughw@xxxxxxxxxxx> wrote:
> 
> 
> Joe,
> 
> I'm not seeing where you checked for the presence of
> -DKICAD_SCRIPTING_WXPYTHON=ON in the $OPTS variable to add
> python-wxgtk3.0 to the list of prerequisite packages.  I thought that
> was what needed fixing or am I not understanding the original issue?
> 
> Wayne
> 
> On 10/14/2014 8:57 PM, Joseph Chen wrote:
>> Here is the patch (attached as well) for enhancing "kicad-install.sh"
>> handling of two error situations with Debian/Ubuntu:
>>
>> 1.  The prerequisites are installed individually, rather than a
>> grouped.  Thus it avoids failing for ALL of the group.
>> 2. The script stops when either cmake or make fails.  Thus it avoids a
>> false installation.
>>
>> The patch has been tested and passed with Ubuntu 14.04 LTS.
>>
>> --Joe
>> 
>>
>> --- old/kicad-install.sh    2014-10-14 18:41:37.834788832 -0600
>> +++ new/kicad-install.sh    2014-10-14 18:41:13.462986918 -0600
>> @@ -89,21 +89,26 @@
>>      # assume all these Debian, Mint, Ubuntu systems have same
> prerequisites
>>      if [ "$(expr match "$PM" '.*\(apt-get\)')" == "apt-get" ]; then
>>          #echo "debian compatible system"
>> -        sudo apt-get install \
>> -            bzr \
>> -            bzrtools \
>> -            build-essential \
>> -            cmake \
>> -            cmake-curses-gui \
>> -            debhelper \
>> -            doxygen \
>> -            grep \
>> -            libbz2-dev \
>> -            libcairo2-dev \
>> -            libglew-dev \
>> -            libssl-dev \
>> -            libwxgtk3.0-dev \
>> +        prerequisite_list="
>> +            bzr
>> +            bzrtools
>> +            build-essential
>> +            cmake
>> +            cmake-curses-gui
>> +            debhelper
>> +            doxygen
>> +            grep
>> +            libbz2-dev
>> +            libcairo2-dev
>> +            libglew-dev
>> +            libssl-dev
>> +            libwxgtk3.0-dev
>>              python-wxgtk3.0
>> +      "
>> +    for p in ${prerequisite_list}
>> +    do
>> +        sudo apt-get install $p
>> +    done
>> 
>>      # assume all yum systems have same prerequisites
>>      elif [ "$(expr match "$PM" '.*\(yum\)')" == "yum" ]; then
>> @@ -255,14 +260,14 @@
>>      cd kicad.bzr
>>      if [ ! -d "build" ]; then
>>          mkdir build && cd build
>> -        cmake $OPTS ../
>> +        cmake $OPTS ../ || exit 1
>>      else
>>          cd build
>>          # Although a "make clean" is sometimes needed, more often than
>> not it slows down the update
>>          # more than it is worth.  Do it manually if you need to in this
>> directory.
>>          # make clean
>>      fi
>> -    make -j4
>> +    make -j4 || exit 1
>>      echo " kicad compiled."
> 
>> 
>> 
>> 
>> 
>>
>>
>> _______________________________________________
>> Mailing list: https://launchpad.net/~kicad-developers
>> Post to    : kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
>> Unsubscribe : https://launchpad.net/~kicad-developers
>> More help  : https://help.launchpad.net/ListHelp
>>
> 
> 
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to    : kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help  : https://help.launchpad.net/ListHelp
> 
> 
> 


_______________________________________________
Mailing list: https://launchpad.net/~kicad-developers
Post to    : kicad-developers@xxxxxxxxxxxxxxxxxxx
Unsubscribe : https://launchpad.net/~kicad-developers
More help  : https://help.launchpad.net/ListHelp


   

Follow ups

References