Menu

How To Compile WASTE POSIX Release on OS X?

Help
therumpel
2007-10-11
2013-04-17
  • therumpel

    therumpel - 2007-10-11

    Hi there,
    is simply don't get it! Why the hell am i not able to compile Waste on OS X?
    I tried with Darwin Ports and always get stuck with this error:

    g++ -DHAVE_CONFIG_H -I.     -g -O2 -I/opt/local/lib/wx/include/mac-unicode-release-2.8 -I/opt/local/include/wx-2.8 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -D__WXMAC__  -D_DEFINE_WXUI -MT wxbrowser.o -MD -MP -MF .deps/wxbrowser.Tpo -c -o wxbrowser.o wxbrowser.cpp
    wxbrowser.cpp: In destructor 'virtual WxBrowser::~WxBrowser()':
    wxbrowser.cpp:121: warning: possible problem detected in invocation of delete operator:
    wxbrowser.cpp:121: warning: invalid use of undefined type 'struct wxImageList'
    /opt/local/include/wx-2.8/wx/generic/listctrl.h:16: warning: forward declaration of 'struct wxImageList'
    wxbrowser.cpp:121: note: neither the destructor nor the class-specific operator delete will be called, even if they are declared when the class is defined.
    wxbrowser.cpp: In member function 'bool WxBrowser::Create(wxWindow*, wxWindowID, const wxString&, const wxPoint&, const wxSize&, long int)':
    wxbrowser.cpp:169: error: invalid use of undefined type 'struct wxImageList'
    /opt/local/include/wx-2.8/wx/generic/listctrl.h:16: error: forward declaration of 'struct wxImageList'
    wxbrowser.cpp:173: error: invalid use of undefined type 'struct wxImageList'
    /opt/local/include/wx-2.8/wx/generic/listctrl.h:16: error: forward declaration of 'struct wxImageList'
    wxbrowser.cpp:174: error: invalid use of undefined type 'struct wxImageList'
    /opt/local/include/wx-2.8/wx/generic/listctrl.h:16: error: forward declaration of 'struct wxImageList'
    wxbrowser.cpp:175: error: invalid use of undefined type 'struct wxImageList'
    /opt/local/include/wx-2.8/wx/generic/listctrl.h:16: error: forward declaration of 'struct wxImageList'
    wxbrowser.cpp:177: error: 'wxIMAGE_LIST_SMALL' was not declared in this scope
    make[1]: *** [wxbrowser.o] Error 1
    make: *** [all] Error 2

    Does someone know the solution to my problem? I'm using version 2.8.x of wxWidgets.
    God dammit, that pisses me off!What am i doing wrong?! ;)

    Thanks in advance!

     
    • therumpel

      therumpel - 2007-10-14

      No one?! C'mon thats lame... :(

       
      • genpfault

        genpfault - 2007-11-15

        Changing the begin/end includes near line 35 of wxbrowser.cpp like this:

        ////@begin includes
        #include <wx/imaglist.h>
        ////@end includes

        seems to have fixed the compilation problems for me on Linux.  I suspect the same thing should work on OSX.

        Granted it segfaults on me shortly after startup, but hey, at least it compiled :)

         
        • genpfault

          genpfault - 2007-11-15

          Alrighty, figured out where it was segfaulting.  Data Display Debugger (DDD) for the win!

          Line 292 of wxmainframe:
              GetMenuBar()->FindItem(menuid)->Check(vis != 0);

          When changed to something like:
              if(GetMenuBar() != NULL)
                  if(GetMenuBar()->FindItem(menuid) != NULL)
                      GetMenuBar()->FindItem(menuid)->Check(vis != 0);

          Lets WASTE at least start up on my system.

          Running a custom-compiled wxWidgets 2.8.6 on Ubuntu 7.10:
          ./configure --disable-shared --with-opengl --enable-unicode --enable-monolithic --without-libtiff --with-zlib=builtin --with-libjpeg=builtin --with-libpng=builtin

           
          • therumpel

            therumpel - 2007-11-19

            Still doesn't work for me...damn! Anyway...thx for your help! ;)

             
            • genpfault

              genpfault - 2007-11-20

              Alrighty, found a configure line for wxMAC that fixed the XML linker problems I was having:
              ./configure --disable-shared --with-opengl --enable-unicode --enable-monolithic --with-expat=builtin

              Don't forget to add /usr/local/bin to your path before /usr/bin; 10.5 appears to have its own wxWidgets install.

              You'll also have to wrap up the resulting waste executable into an appfolder for it to be responsive to user input.

               
    • djcrazysk8er

      djcrazysk8er - 2008-02-14

      Genpfault can you post instructions on how to wrap it? I cannot figure it out.

      Thanks.

       
      • Jason

        Jason - 2008-03-04

        djcrazysk8r

        mkdir -p waste.app/Contents/MacOS/
        cp waste waste.app/Contents/MacOS/

         

Log in to post a comment.