From: | Dave Page <dpage(at)pgadmin(dot)org> |
---|---|
To: | Peter Geoghegan <peter(dot)geoghegan86(at)gmail(dot)com> |
Cc: | Guillaume Lelarge <guillaume(at)lelarge(dot)info>, pgadmin-hackers(at)postgresql(dot)org |
Subject: | Re: wxWidgets 2.9 build |
Date: | 2011-01-18 09:31:58 |
Message-ID: | AANLkTimkBVyY2dBwojs09Do1-8dZwNGFaJdZCPwY+SS8@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgadmin-hackers |
On Mon, Jan 17, 2011 at 11:56 PM, Peter Geoghegan
<peter(dot)geoghegan86(at)gmail(dot)com> wrote:
> Hmmm....seem to be getting a weird linker error when I build OGL (from
> the independent package) against 2.9:
>
> /usr/bin/ld: ogl_dll_composit.o: relocation R_X86_64_32 against
> `wxDivisionControlPoint::ms_classInfo' can not be used when making a
> shared object; recompile with -fPIC
> ogl_dll_composit.o: could not read symbols: Bad value
> collect2: ld returned 1 exit status
>
> I take it that you didn't see this Dave? I built it against 2.9, which
> was itself built using a shell script that's the same as
> ./xtra/build-wxgtk, except that I removed the contrib stuff.
No, I didn't. FYI, I was building on Mac which tends to have it's own
unique set of issues due to the Universal Binaries the platform uses.
> Should -fPIC be in our CXXFLAGS? If so, why wouldn't it be?
I don't know - should it? We're not building any shared libraries, so
does it matter?
That reminds me of another issue that needs fixing at some point; the
build system confuses CPPFLAGS and CXXFLAGS.
>> I imagine that makes for a big (and ugly) patch - the main reason we
>> use c_str() is so we can pass wxStrings to variadics.
>
> Maybe we should consider using an alternative to conventional variadic
> functions. There are lots of things to not like about them.
> Boost.format is a good alternative . It may not actually be worth
> pursuing, but it's worth noting.
That would be a huge patch - and it would need some serious
justification for us to consider moving away from the wxWidgets way of
doing things.
> Find attached latest error output. All miscellaneous issues have been
> resolved. I'm only missing these object files now:
>
> g++: pgAdmin3.o: No such file or directory
> g++: ctlSQLBox.o: No such file or directory
> g++: explainCanvas.o: No such file or directory
> g++: explainShape.o: No such file or directory
> g++: frmQuery.o: No such file or directory
> g++: parser.tab.o: No such file or directory
>
> I believe that the only things standing between us and a rough 2.9 build are:
>
> 1. The linker problem above. OGL compiles acceptably.
That'll probably fix explainCanvas and explainShape.
> 2. The problem with pgsParser.yy. This is probably exceedingly simple,
> but I haven't managed to fix it yet.
> 3. The problem with wx2stc() above. I could have fixed this by copying
> and pasting the tiny function which only appears in private.h in 2.9,
> but it that would violate the wxWindows licence.
<grumble>. So we need to convert from a wxString to a UCS2 char array.
http://docs.wxwidgets.org/stable/wx_wxmbconvutf16.html#wxmbconvutf16
seems like it might do the trick.
> I have had to do one or two things that I'm not overjoyed with to get
> to this point, including using a const_cast to cast away constness
> from a handle (wxChar*) to the internal buffer used by wxString.
Urgh.
--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake
EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
From | Date | Subject | |
---|---|---|---|
Next Message | Peter Geoghegan | 2011-01-18 14:51:43 | Re: wxWidgets 2.9 build |
Previous Message | Peter Geoghegan | 2011-01-17 23:56:29 | Re: wxWidgets 2.9 build |