Opened 9 years ago

Closed 7 years ago

#31804 closed defect (fixed)

wxWidgets-python 2.8.10.1 + --enable-graphics_ctx -> error: build failure

Reported by: guillaume.chevrot@… Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: justjoheinz@…, jyrkiwahlstedt, jameskyle@…, ryandesign (Ryan Schmidt), mojca (Mojca Miklavec)
Port: wxWidgets-python wxWidgets

Description

Build failure when I add --enable-graphics_ctx in the "configure.args" list in the wxWidgets-python Portfile

Attachments (4)

main.log (652.7 KB) - added by guillaume.chevrot@… 9 years ago.
main.log
Portfile (5.1 KB) - added by guillaume.chevrot@… 9 years ago.
Portfile
wxWidgets-2.8.Portfile (6.7 KB) - added by mojca (Mojca Miklavec) 7 years ago.
wxWidgets 2.8 Portfile with --enable-graphics_ctx
patch-configure.diff (3.4 KB) - added by mojca (Mojca Miklavec) 7 years ago.
A patch for archs and compile errors from graphics context in wxWidgets-2.8

Download all attachments as: .zip

Change History (9)

Changed 9 years ago by guillaume.chevrot@…

Attachment: main.log added

main.log

Changed 9 years ago by guillaume.chevrot@…

Attachment: Portfile added

Portfile

comment:1 Changed 9 years ago by ryandesign (Ryan Schmidt)

Port: wxWidgets-python added

Has duplicates #31812 and #31872. Please stop submitting new tickets for the same problem.

Please understand that if you go and add things to portfiles, and then they don't work, that's not our problem.

We could certainly consider officially adding --enable-graphics_ctx to the port, if that could be built; as you've found, that can't be built due to an error. If you or someone else figure out how to build it with that option, let us know here.

Since this port has no maintainer, nobody in MacPorts is looking after it; you may need to ask the developers of this software how to enable this option.

comment:2 Changed 9 years ago by mf2k (Frank Schima)

Resolution: invalid
Status: newclosed

Closing due to unsupported configuration. You can re-open the ticket if you fix the problem and want to submit a patch for the port.

comment:3 Changed 7 years ago by mojca (Mojca Miklavec)

Cc: justjoheinz@… jwa@… jameskyle@… ryandesign@… mojca@… added
Port: wxWidgets added
Resolution: invalid
Status: closedreopened
Version: 2.0.3

I tested with wxWidgets 2.8.12, not with wxWidgets-python, but it shouldn't make a difference. I succeeded to compile the package as 64-bit on 10.7 by using gtk2/x11. To allow the switch --enable-graphics_ctx to work I had to do the following (I still need to come up with a proper patch):

  • the following code in build/lib/wx/include/gtk2-unicode-release-2.8/wx/setup.h is problematic and I defined wxUSE_CAIRO to 1 unconditionally:
    #if !defined(__WIN32__) && !defined(__APPLE__)
    #define wxUSE_CAIRO 1
    #else
    #define wxUSE_CAIRO 0
    #endif
    
  • not sure if needed, but a patch from a later upstream version:
    --- src/generic/graphicc.cpp.orig
    +++ src/generic/graphicc.cpp
    @@ -1474,10 +1480,10 @@ wxGraphicsContext * wxCairoRenderer::CreateContext( const wxMemoryDC& dc)
     
     wxGraphicsContext * wxCairoRenderer::CreateContextFromNativeContext( void * context )
     {
    -#if __WXMSW__
    +#ifdef __WXMSW__
         return new wxCairoContext(this,(HDC)context);
     #endif
    -#if __WXGTK__
    +#ifdef __WXGTK__
         return new wxCairoContext(this,(cairo_t*)context);
     #endif
     }
    
  • I had to add -lcairo, -lGL -lGLU to build/Makefile (I'm not sure if both GL and GLU are needed, but some symbols were undefined and I didn't test if adding just one or the other would still work.)

After that the port installed fine. If anyone has more experience with coming up with a nice patch (given that it compiles on >= 10.6), I would be grateful. I'm attaching a Portfile (it might have some dependencies from browser:users/mojca/wxports, but it should be enough to get the idea of what I have I tested / how I configured the port).

comment:4 Changed 7 years ago by mojca (Mojca Miklavec)

I think I got it working. See browser:users/mojca/wxports/graphics/wxWidgets-2.8. The patches from that port could be applied to wxWidgets-python if needed, but it would be a lot better to fix the whole mess at once if possible.

Changed 7 years ago by mojca (Mojca Miklavec)

Attachment: wxWidgets-2.8.Portfile added

wxWidgets 2.8 Portfile with --enable-graphics_ctx

Changed 7 years ago by mojca (Mojca Miklavec)

Attachment: patch-configure.diff added

A patch for archs and compile errors from graphics context in wxWidgets-2.8

comment:5 Changed 7 years ago by mojca (Mojca Miklavec)

Resolution: fixed
Status: reopenedclosed

This should be fixed in r110234 and r110279. Please reopen in case it doesn't work.

Note: See TracTickets for help on using tickets.