Re: Compatible versions of wxWidgets

Mark Dootson <[email protected]> Sat, 25 Mar 2017 13:29:18 +0000
Newsgroups gmane.comp.lang.perl.wxperl
Message-ID <[email protected]>
--------------CA2ED2EE0FB99436A4AFA5F5
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Ron

ext/propgrid/PropertyGrid.c isn't distributed with the Wx source, it is 
created during the build. Looks like you're trying to build multiple 
times in the same source tree without cleaning up. This is probably the 
cause of your original issue.

Regards.

Mark

On 25/03/2017 12:50, Ron Grunwald via wxperl-users wrote:
> Hi all,
>
>> PropertyGrid.c: In function ‘void 
>> XS_Wx__ColourProperty_SetPlValue(PerlInterpreter*, CV*)’:
>> PropertyGrid.c:27130:49: error: call of overloaded 
>> ‘wxVariant(wxColour&)’ is ambiguous
>>                  wxVariant value = wxVariant(*col);
>
> The file "ext/propgrid/PropertyGrid.c" contains many, many references 
> to wxVariant. As a simple test I commented out lines 27130 & 27131.
> i.e.
>      wxVariant value = wxVariant(*col);
>  THIS->SetValue(value, NULL, flags );
>
> When I re-executed "make", to my surprise, the source file compiled 
> successfully. The above line containing the reference to wxVariant is 
> the only line giving a compilation error.
>
> Unfortunately, I don't know C++ very well. But it looks like there is 
> some kind of incompatibility between wxVariant and wxColour in the 
> above source file.
>
> Cheers,
>
> Ron.
>
>> On 18 Mar 2017, at 10:09 pm, Ron Grunwald via wxperl-users 
>> <[email protected] <mailto:[email protected]>> wrote:
>>
>> Hello all,
>>
>> I’ve attempted to build wxPerl (Wx 0.9928) with wxWidgets 3.0.2 under 
>> ActivePerl 5.24.1 for Linux. All went very well until the compilation 
>> of PropertyGrid. I’ve included an extract of some of the errors below 
>> this message.
>>
>> I think the issue that I’ve struck has already been reported under 
>> https://rt.cpan.org/Public/Bug/Display.html?id=118284 (Perl-Wx can 
>> not be built with STL variants of wxWidgets).
>>
>> I’m rather uncertain how to proceed from here. Would anyone have any 
>> suggestions? Thank you.
>>
>> Cheers,
>>
>> Ron.
>>
>> -------------------- EXTRACT OF COMPILE ERRORS --------------------
>> g++ -pthread   -c -I. -I.. 
>> -I/mnt/SeaLion/usr/local/lib/Alien/wxWidgets/gtk_3_0_2_uni/lib/wx/include/gtk3-unicode-3.0 
>> -I/mnt/SeaLion/usr/local/lib/Alien/wxWidgets/gtk_3_0_2_uni/include/wx-3.0 
>>  -I. -I. 
>> -I/mnt/SeaLion/usr/local/lib/Alien/wxWidgets/gtk_3_0_2_uni/lib/wx/include/gtk3-unicode-3.0 
>> -I/mnt/SeaLion/usr/local/lib/Alien/wxWidgets/gtk_3_0_2_uni/include/wx-3.0 
>>   -I. -I../.. 
>> -I/mnt/SeaLion/usr/local/lib/Alien/wxWidgets/gtk_3_0_2_uni/lib/wx/include/gtk3-unicode-3.0 
>> -I/mnt/SeaLion/usr/local/lib/Alien/wxWidgets/gtk_3_0_2_uni/include/wx-3.0 
>>  -D_REENTRANT -D_GNU_SOURCE -DUSE_SITECUSTOMIZE 
>> -DPERL_RELOCATABLE_INCPUSH -fno-merge-constants -fwrapv 
>> -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE 
>> -D_FILE_OFFSET_BITS=64 -O2 -DVERSION=\"0.01\" -DXS_VERSION=\"0.01\" 
>> -fPIC "-I/mnt/SeaLion/usr/local/ActivePerl-5.24.1/lib/CORE" 
>> -DWXPL_EXT -D_FILE_OFFSET_BITS=64 -DWXUSINGDLL -D__WXGTK__   
>> -D_FILE_OFFSET_BITS=64 -DWXUSINGDLL -D__WXGTK__    -DWXPL_EXT 
>> -D_FILE_OFFSET_BITS=64 -DWXUSINGDLL -D__WXGTK__   PropertyGrid.c
>> PropertyGrid.c: In function ‘void 
>> XS_Wx__ColourProperty_SetPlValue(PerlInterpreter*, CV*)’:
>> PropertyGrid.c:27130:49: error: call of overloaded 
>> ‘wxVariant(wxColour&)’ is ambiguous
>>                  wxVariant value = wxVariant(*col);
>>        ^
>> PropertyGrid.c:27130:49: note: candidates are:
>> In file included from ../../cpp/helpers.h:19:0,
>>                  from ../../cpp/wxapi.h:170,
>>                  from PropertyGrid.c:23:
>> /mnt/SeaLion/usr/local/lib/Alien/wxWidgets/gtk_3_0_2_uni/include/wx-3.0/wx/variant.h:283:5: 
>> note: wxVariant::wxVariant(void*, const wxString&) <near match>
>>      wxVariant(void* ptr, const wxString& name = wxEmptyString);
>>      ^
>> /mnt/SeaLion/usr/local/lib/Alien/wxWidgets/gtk_3_0_2_uni/include/wx-3.0/wx/variant.h:283:5: 
>> note:   no known conversion for argument 1 from ‘wxColour’ to ‘void*’
>> /mnt/SeaLion/usr/local/lib/Alien/wxWidgets/gtk_3_0_2_uni/include/wx-3.0/wx/variant.h:256:5: 
>> note: wxVariant::wxVariant(wchar_t, const wxString&) <near match>
>>      wxVariant(wchar_t val, const wxString& name = wxEmptyString);
>>      ^
>>
>> ________________________________________
>> Ron Grunwald
>> [email protected] <mailto:[email protected]>
>> http://www.dvlcorner.org <http://www.dvlcorner.org/>
>>
>>> On 26 Feb 2017, at 10:07 pm, Ron Grunwald via wxperl-users 
>>> <[email protected] <mailto:[email protected]>> wrote:
>>>
>>> Hello all,
>>>
>>> This is really useful information - thank you. Would it be possible 
>>> to update the FAQ on the wxPerl wiki?
>>>
>>> Cheers,
>>> Ron.
>>>
>>>> On 25 Feb 2017, at 12:43 am, bubnikv . <[email protected] 
>>>> <mailto:[email protected]>> wrote:
>>>>
>>>> I am using 3.0.3-beta1 on Windows / Linux / OSX, as it support some 
>>>> new flags for instantiating an OpenGL widget, namely it supports 
>>>> anti-aliasing. 3.1 introduced many changes in the definition of the 
>>>> base classes (ints replaced by enums and such), which broke the 
>>>> Perl bindings.
>>>>
>>>> Vojtech
>>>>
>>>>
>>>> On Fri, Feb 24, 2017 at 5:35 PM, Mark Dootson 
>>>> <[email protected] <mailto:[email protected]>> wrote:
>>>>
>>>>     Hi,
>>>>
>>>>     No, wiki is out of date. Current stable release of wxWidgets is
>>>>     3.0.2.
>>>>
>>>>
>>>>     On 24/02/2017 14:31, Ron Grunwald via wxperl-users wrote:
>>>>>     Hello all,
>>>>>
>>>>>     The FAQ on the wxPerl wiki
>>>>>     (http://wiki.wxperl.nl/index.php?title=FAQ
>>>>>     <http://wiki.wxperl.nl/index.php?title=FAQ>) states that the
>>>>>     current stable release of wxWidgets to use with wxPerl is
>>>>>     2.8.12. Is this still the case given that the latest release
>>>>>     of wxWidgets is 3.1.0?
>>>>>
>>>>>     Cheers,
>>>>>     Ron.
>>>>>     ________________________________________
>>>>>     Ron Grunwald
>>>>>     [email protected] <mailto:[email protected]>
>>>>>     http://www.dvlcorner.org <http://www.dvlcorner.org/>
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>
>


--------------CA2ED2EE0FB99436A4AFA5F5
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: 8bit

<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">Hi Ron<br>
      <br>
      ext/propgrid/PropertyGrid.c isn't distributed with the Wx source,
      it is created during the build. Looks like you're trying to build
      multiple times in the same source tree without cleaning up. This
      is probably the cause of your original issue.<br>
      <br>
      Regards.<br>
      <br>
      Mark<br>
      <br>
      On 25/03/2017 12:50, Ron Grunwald via wxperl-users wrote:<br>
    </div>
    <blockquote
      cite="mid:[email protected]"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      Hi all,
      <div class=""><br class="">
      </div>
      <div class="">
        <blockquote type="cite" class="">
          <div class="" style="word-wrap: break-word; -webkit-nbsp-mode:
            space; -webkit-line-break: after-white-space;">
            <div class="">PropertyGrid.c: In function ‘void
              XS_Wx__ColourProperty_SetPlValue(PerlInterpreter*, CV*)’:</div>
            <div class="">PropertyGrid.c:27130:49: error: call of
              overloaded ‘wxVariant(wxColour&amp;)’ is ambiguous</div>
            <div class="">                 wxVariant value =
              wxVariant(*col);</div>
          </div>
        </blockquote>
        <div class="">
          <div class="" style="word-wrap: break-word; -webkit-nbsp-mode:
            space; -webkit-line-break: after-white-space;">
            <div class=""><br class="">
            </div>
            <div class="">The file "ext/propgrid/PropertyGrid.c"
              contains many, many references to wxVariant. As a simple
              test I commented out lines 27130 &amp; 27131.</div>
            <div class="">i.e. </div>
            <div class=""><font class="" face="Courier">     wxVariant
                value = wxVariant(*col);</font></div>
            <div class=""><font class="" face="Courier">   
                 THIS-&gt;SetValue(value, NULL, flags );</font></div>
            <div class=""><br class="">
            </div>
            <div class="">When I re-executed "make", to my surprise, the
              source file compiled successfully. The above line
              containing the reference to wxVariant is the only line
              giving a compilation error.</div>
            <div class=""><br class="">
            </div>
            <div class="">Unfortunately, I don't know C++ very well. But
              it looks like there is some kind of incompatibility
              between wxVariant and wxColour in the above source file.</div>
          </div>
        </div>
        <div apple-content-edited="true" class="">
          <div style="color: rgb(0, 0, 0); letter-spacing: normal;
            orphans: auto; text-align: start; text-indent: 0px;
            text-transform: none; white-space: normal; widows: auto;
            word-spacing: 0px; -webkit-text-stroke-width: 0px;
            word-wrap: break-word; -webkit-nbsp-mode: space;
            -webkit-line-break: after-white-space;" class="">
            <div class=""><br class="">
            </div>
            <div class="">Cheers,</div>
            <div class=""><br class="">
            </div>
            <div class="">Ron.</div>
          </div>
        </div>
        <br class="">
        <div>
          <blockquote type="cite" class="">
            <div class="">On 18 Mar 2017, at 10:09 pm, Ron Grunwald via
              wxperl-users &lt;<a moz-do-not-send="true"
                href="mailto:[email protected]" class="">[email protected]</a>&gt;
              wrote:</div>
            <br class="Apple-interchange-newline">
            <div class="">
              <meta http-equiv="Content-Type" content="text/html;
                charset=utf-8" class="">
              <div style="word-wrap: break-word; -webkit-nbsp-mode:
                space; -webkit-line-break: after-white-space;" class="">
                <div class="">Hello all,</div>
                <div class=""><br class="">
                </div>
                <div class="">I’ve attempted to build wxPerl (Wx 0.9928)
                  with wxWidgets 3.0.2 under ActivePerl 5.24.1 for
                  Linux. All went very well until the compilation of
                  PropertyGrid. I’ve included an extract of some of the
                  errors below this message.</div>
                <div class=""><br class="">
                </div>
                <div class="">I think the issue that I’ve struck has
                  already been reported under <a moz-do-not-send="true"
href="https://rt.cpan.org/Public/Bug/Display.html?id=118284" class="">https://rt.cpan.org/Public/Bug/Display.html?id=118284</a> (Perl-Wx
                  can not be built with STL variants of wxWidgets).</div>
                <div class=""><br class="">
                </div>
                <div class="">I’m rather uncertain how to proceed from
                  here. Would anyone have any suggestions? Thank you.</div>
                <div class=""><br class="">
                </div>
                <div class="">Cheers,</div>
                <div class=""><br class="">
                </div>
                <div class="">Ron.</div>
                <div class=""><br class="">
                </div>
                <div class="">-------------------- EXTRACT OF COMPILE
                  ERRORS --------------------</div>
                <div class="">g++ -pthread   -c -I. -I..
-I/mnt/SeaLion/usr/local/lib/Alien/wxWidgets/gtk_3_0_2_uni/lib/wx/include/gtk3-unicode-3.0
-I/mnt/SeaLion/usr/local/lib/Alien/wxWidgets/gtk_3_0_2_uni/include/wx-3.0
                   -I. -I.
-I/mnt/SeaLion/usr/local/lib/Alien/wxWidgets/gtk_3_0_2_uni/lib/wx/include/gtk3-unicode-3.0
-I/mnt/SeaLion/usr/local/lib/Alien/wxWidgets/gtk_3_0_2_uni/include/wx-3.0
                    -I. -I../..
-I/mnt/SeaLion/usr/local/lib/Alien/wxWidgets/gtk_3_0_2_uni/lib/wx/include/gtk3-unicode-3.0
-I/mnt/SeaLion/usr/local/lib/Alien/wxWidgets/gtk_3_0_2_uni/include/wx-3.0
                   -D_REENTRANT -D_GNU_SOURCE -DUSE_SITECUSTOMIZE
                  -DPERL_RELOCATABLE_INCPUSH -fno-merge-constants
                  -fwrapv -fno-strict-aliasing -pipe -fstack-protector
                  -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2  
                  -DVERSION=\"0.01\" -DXS_VERSION=\"0.01\" -fPIC
                  "-I/mnt/SeaLion/usr/local/ActivePerl-5.24.1/lib/CORE"
                  -DWXPL_EXT -D_FILE_OFFSET_BITS=64 -DWXUSINGDLL
                  -D__WXGTK__   -D_FILE_OFFSET_BITS=64 -DWXUSINGDLL
                  -D__WXGTK__    -DWXPL_EXT -D_FILE_OFFSET_BITS=64
                  -DWXUSINGDLL -D__WXGTK__   PropertyGrid.c</div>
                <div class="">PropertyGrid.c: In function ‘void
                  XS_Wx__ColourProperty_SetPlValue(PerlInterpreter*,
                  CV*)’:</div>
                <div class="">PropertyGrid.c:27130:49: error: call of
                  overloaded ‘wxVariant(wxColour&amp;)’ is ambiguous</div>
                <div class="">                 wxVariant value =
                  wxVariant(*col);</div>
                <div class="">                                         
                         ^</div>
                <div class="">PropertyGrid.c:27130:49: note: candidates
                  are:</div>
                <div class="">In file included from
                  ../../cpp/helpers.h:19:0,</div>
                <div class="">                 from
                  ../../cpp/wxapi.h:170,</div>
                <div class="">                 from PropertyGrid.c:23:</div>
                <div class="">/mnt/SeaLion/usr/local/lib/Alien/wxWidgets/gtk_3_0_2_uni/include/wx-3.0/wx/variant.h:283:5:
                  note: wxVariant::wxVariant(void*, const wxString&amp;)
                  &lt;near match&gt;</div>
                <div class="">     wxVariant(void* ptr, const
                  wxString&amp; name = wxEmptyString);</div>
                <div class="">     ^</div>
                <div class="">/mnt/SeaLion/usr/local/lib/Alien/wxWidgets/gtk_3_0_2_uni/include/wx-3.0/wx/variant.h:283:5:
                  note:   no known conversion for argument 1 from
                  ‘wxColour’ to ‘void*’</div>
                <div class="">/mnt/SeaLion/usr/local/lib/Alien/wxWidgets/gtk_3_0_2_uni/include/wx-3.0/wx/variant.h:256:5:
                  note: wxVariant::wxVariant(wchar_t, const
                  wxString&amp;) &lt;near match&gt;</div>
                <div class="">     wxVariant(wchar_t val, const
                  wxString&amp; name = wxEmptyString);</div>
                <div class="">     ^</div>
                <div class=""><br class="">
                </div>
                <div apple-content-edited="true" class="">
                  <div style="letter-spacing: normal; orphans: auto;
                    text-align: start; text-indent: 0px; text-transform:
                    none; white-space: normal; widows: auto;
                    word-spacing: 0px; -webkit-text-stroke-width: 0px;
                    word-wrap: break-word; -webkit-nbsp-mode: space;
                    -webkit-line-break: after-white-space;" class="">
                    <div class="">________________________________________</div>
                    <div class="">
                      <div style="margin: 0px;" class="">Ron Grunwald</div>
                      <div style="margin: 0px;" class=""><a
                          moz-do-not-send="true"
                          href="mailto:[email protected]" class="">[email protected]</a></div>
                      <div style="margin: 0px;" class=""><a
                          moz-do-not-send="true"
                          href="http://www.dvlcorner.org/" class="">http://www.dvlcorner.org</a></div>
                    </div>
                    <div class=""><br class="">
                    </div>
                  </div>
                </div>
                <div class="">
                  <blockquote type="cite" class="">
                    <div class="">On 26 Feb 2017, at 10:07 pm, Ron
                      Grunwald via wxperl-users &lt;<a
                        moz-do-not-send="true"
                        href="mailto:[email protected]" class="">[email protected]</a>&gt;
                      wrote:</div>
                    <br class="Apple-interchange-newline">
                    <div class="">
                      <meta http-equiv="Content-Type"
                        content="text/html; charset=utf-8" class="">
                      <div style="word-wrap: break-word;
                        -webkit-nbsp-mode: space; -webkit-line-break:
                        after-white-space;" class="">Hello all,
                        <div class=""><br class="">
                        </div>
                        <div class="">This is really useful information
                          - thank you. Would it be possible to update
                          the FAQ on the wxPerl wiki?</div>
                        <div class=""><br class="">
                        </div>
                        <div class="">Cheers,</div>
                        <div class="">Ron.<br class="">
                          <br class="">
                          <div class="">
                            <blockquote type="cite" class="">
                              <div class="">On 25 Feb 2017, at 12:43 am,
                                bubnikv . &lt;<a moz-do-not-send="true"
                                  href="mailto:[email protected]"
                                  class="">[email protected]</a>&gt;
                                wrote:</div>
                              <br class="Apple-interchange-newline">
                              <div class="">
                                <div dir="ltr" class="">I am using
                                  3.0.3-beta1 on Windows / Linux / OSX,
                                  as it support some new flags for
                                  instantiating an OpenGL widget, namely
                                  it supports anti-aliasing. 3.1
                                  introduced many changes in the
                                  definition of the base classes (ints
                                  replaced by enums and such), which
                                  broke the Perl bindings.
                                  <div class="">
                                    <div class=""><br class="">
                                    </div>
                                    <div class="">Vojtech<br class="">
                                    </div>
                                    <div class=""><br class="">
                                    </div>
                                  </div>
                                </div>
                                <div class="gmail_extra"><br class="">
                                  <div class="gmail_quote">On Fri, Feb
                                    24, 2017 at 5:35 PM, Mark Dootson <span
                                      dir="ltr" class="">&lt;<a
                                        moz-do-not-send="true"
                                        href="mailto:[email protected]"
                                        target="_blank" class="">[email protected]</a>&gt;</span>
                                    wrote:<br class="">
                                    <blockquote class="gmail_quote"
                                      style="margin:0 0 0
                                      .8ex;border-left:1px #ccc
                                      solid;padding-left:1ex">
                                      <div bgcolor="#FFFFFF"
                                        text="#000000" class="">
                                        <div
                                          class="m_-446342024822033039moz-cite-prefix">Hi,<br
                                            class="">
                                          <br class="">
                                          No, wiki is out of date.
                                          Current stable release of
                                          wxWidgets is 3.0.2.
                                          <div class="">
                                            <div class="h5"><br class="">
                                              <br class="">
                                              On 24/02/2017 14:31, Ron
                                              Grunwald via wxperl-users
                                              wrote:<br class="">
                                            </div>
                                          </div>
                                        </div>
                                        <div class="">
                                          <div class="h5">
                                            <blockquote type="cite"
                                              class=""> Hello all,
                                              <div class=""><br class="">
                                              </div>
                                              <div class="">The FAQ on
                                                the wxPerl wiki (<a
                                                  moz-do-not-send="true"
href="http://wiki.wxperl.nl/index.php?title=FAQ" target="_blank"
                                                  class="">http://wiki.wxperl.nl/index.<wbr
                                                    class="">php?title=FAQ</a>)
                                                states that the current
                                                stable release of
                                                wxWidgets to use with
                                                wxPerl is 2.8.12. Is
                                                this still the case
                                                given that the latest
                                                release of wxWidgets is
                                                3.1.0?</div>
                                              <div class=""><br class="">
                                              </div>
                                              <div class="">Cheers,</div>
                                              <div class="">Ron.<br
                                                  class="">
                                                <div class="">
                                                  <div
                                                    style="letter-spacing:
                                                    normal; text-align:
                                                    start; text-indent:
                                                    0px; text-transform:
                                                    none; white-space:
                                                    normal;
                                                    word-spacing: 0px;
                                                    word-wrap:
                                                    break-word;"
                                                    class="">
                                                    <div class="">______________________________<wbr
                                                        class="">__________</div>
                                                    <div class="">
                                                      <div
                                                        style="margin:0px"
                                                        class="">Ron
                                                        Grunwald</div>
                                                      <div
                                                        style="margin:0px"
                                                        class=""><a
                                                          moz-do-not-send="true"
href="mailto:[email protected]" target="_blank" class="">[email protected]</a></div>
                                                      <div
                                                        style="margin:0px"
                                                        class=""><a
                                                          moz-do-not-send="true"
href="http://www.dvlcorner.org/" target="_blank" class="">http://www.dvlcorner.org</a></div>
                                                    </div>
                                                    <div class=""><br
                                                        class="">
                                                    </div>
                                                  </div>
                                                  <br
                                                    class="m_-446342024822033039Apple-interchange-newline">
                                                </div>
                                                <br class="">
                                              </div>
                                            </blockquote>
                                            <p class=""><br class="">
                                            </p>
                                          </div>
                                        </div>
                                      </div>
                                    </blockquote>
                                  </div>
                                  <br class="">
                                </div>
                              </div>
                            </blockquote>
                          </div>
                          <br class="">
                        </div>
                      </div>
                    </div>
                  </blockquote>
                </div>
                <br class="">
              </div>
            </div>
          </blockquote>
        </div>
        <br class="">
      </div>
    </blockquote>
    <p><br>
    </p>
  </body>
</html>

--------------CA2ED2EE0FB99436A4AFA5F5--