← Back to team overview

kicad-developers team mailing list archive

Re: cmake errors wxWidgets

 

What do you mean by broken? As far as I know they do coexist just
fine, except that the default wx-config is for 2.8. But you might want
to look at https://bugzilla.redhat.com/show_bug.cgi?id=1077718

2015-02-10 10:09 GMT+01:00 Roman Pavelka <roman.pavelka.asi@xxxxxxxxx>:
> IMHO wxWidgets OR wxPython 2.8/3.0 coexistence is broken in Fedora 20.
> Can someone confirm or refute this?
>
> Roman
>
> On 10 February 2015 at 09:48, Nick Østergaard <oe.nick@xxxxxxxxx> wrote:
>> Have you tried doing the same except making the wx-config in $PATH be a
>> symlink to your custom wx and remove the -DwxWidgets_CONFIG_EXECUTABLE?
>>
>> Because it works fine on arch with both 2.8 and 3.0, where the default
>> wx-config is for 3.0. By fine I mean that it uses the 3.0 one and builds
>> fine etc.
>>
>> Den 10/02/2015 08.11 skrev "inkblotter" <inkbottle@xxxxxxxxx>:
>>>
>>> I'll try again to find someone who understands  the ins and out of cmake
>>> enough to steer me to some solution that make sense.  Below you will see
>>> what happens on Fedora always with kicad cmake and wxWidgets.
>>>
>>> Notice that I am telling  cmake exactly how to run  my wx-config script.
>>> In fact, I have that path on my path.
>>>
>>>  wx-config --libs
>>> -L/home/jfm/wx-302/lib -pthread   -lwx_gtk2u_xrc-3.0 -lwx_gtk2u_html-3.0
>>> -lwx_gtk2u_qa-3.0 -lwx_gtk2u_adv-3.0 -lwx_gtk2u_core-3.0 -lwx_baseu_xml-3.0
>>> -lwx_baseu_net-3.0 -lwx_baseu-3.0
>>>
>>> I suppose it is too hard for cmake to simply use the results of wx-config
>>> --libs, not convert it to some semi-colon  list that won't work on  Linux in
>>> any case.   But cmake doesn't do that, instead it insists on using the
>>> system wxWidgets version, even if it doesn't exist.  I did indeed remove the
>>> system wxWidgets and all the programs that use it.   Did that change
>>> anything.   Yes, it changed the error message because  blank was compared to
>>> wxWidgets 3.0.0 and found wanting.
>>>
>>>
>>> So, 1) having wx-config on my PATH has no effect on the result; it fails.
>>>
>>> 2) removing the system wxWidgets (and all the programs that depend on it)
>>> has no effect on the result; it fails the same way.
>>> 3)  The the cmake log file doesn't  contain any  information about
>>> wxWidgets at all.
>>>
>>> I have hacked the cmake files to make this work on Fedora 19, and
>>> Fedora20, and succeeded but it is nothing I would document for any others
>>> using Fedora.
>>>
>>> The problem is that stuff it finds is more or less correct but it isn't in
>>> the right cmake variable for it to use it.
>>>
>>> That is, the cmake code that executes simply does the wrong thing on
>>> Linux, at least Fedora Linux.
>>>
>>> Now, I can hack this into working again, but that would be pushing this
>>> issue under the carpet again.  What needs to happen is that when  the cmake
>>> flag -DwxWidgets_CONFIG_EXECUTABLE is encountered  it uses the result of
>>> wx-config --libs directly and skips the system  check  completely, unless of
>>> course these libs really are the wrong version of wxWidgets , which in my
>>> case is not the case.
>>>
>>> Here is  example of the  error in all its glory.
>>>
>>> cmake -DKICAD_SCRIPTING=ON -DKICAD_SCRIPTING_MODULES=ON
>>> -DUSE_FP_LIB_TABLE=HARD_CODED_ON -DBUILD_GITHUB_PLUGIN=ON
>>> -DPYTHON_DEST=/home/jfm/sitepkgs -DCMAKE_INSTALL_PREFIX=/home/jfm/kicad
>>> -DwxWidgets_CONFIG_EXECUTABLE=/home/jfm/wx-302/bin/wx-config
>>>
>>> CMake Error at CMakeModules/FindPackageHandleStandardArgs.cmake:131
>>> (include):
>>>
>>> include could not find load file:
>>>
>>>
>>> Call Stack (most recent call first):
>>>
>>> CMakeModules/FindwxWidgets.cmake:928 (include)
>>>
>>> CMakeLists.txt:444 (find_package)
>>>
>>>
>>>
>>> CMake Error at CMakeModules/FindPackageHandleStandardArgs.cmake:136
>>> (message):
>>>
>>> Could NOT find wxWidgets: Found unsuitable version "2.8.12", but required
>>>
>>> is at least "3.0.0" (found
>>>
>>>
>>> -L/home/jfm/wx-302/lib;-pthread;;;-lwx_gtk2u_gl-3.0;-lwx_gtk2u_aui-3.0;-lwx_gtk2u_adv-3.0;-lwx_gtk2u_html-3.0;-lwx_gtk2u_core-3.0;-lwx_baseu_net-3.0;-lwx_baseu-3.0;-lwx_baseu_xml-3.0;-lwx_gtk2u_stc-3.0)
>>>
>>> Call Stack (most recent call first):
>>>
>>> CMakeModules/FindPackageHandleStandardArgs.cmake:341
>>> (_FPHSA_FAILURE_MESSAGE)
>>>
>>> CMakeModules/FindwxWidgets.cmake:930 (find_package_handle_standard_args)
>>>
>>> CMakeLists.txt:444 (find_package)
>>>
>>>
>>>
>>> -- Configuring incomplete, errors occurred!
>>>
>>>
>>> One more question for those who know.  I seem to recall that when building
>>> wxWidgets it is important to use additional flags  so that gal will be
>>> happy.   I don't remember the libs involved but I seem to recall that there
>>> were two libs needed.
>>>
>>>
>>> _______________________________________________
>>> 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
>>>
>>
>> _______________________________________________
>> 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
>>
>
>
>
> --
> Roman Pavelka
> http://kmlinux.fjfi.cvut.cz/~pavelro1


References