Thread: pgagent linker problem

pgagent linker problem

From
Zdenek Kotala
Date:
When I try make pgagent binary (Solaris 10/SS11/wx2.8rc3), linker does
not recognize some symbols:

Undefined                       first referenced
  symbol                             in file
wxRadioButtonNameStr                connection.o
wxFileDialogNameStr                 connection.o
wxComboBoxNameStr                   connection.o
wxToolBarNameStr                    connection.o
<snip>

If I look into Makefile, there is
pgagent_LDADD = -L/opt/wxWidgegets-2.8.0/lib -mt   -L/usr/openwin/lib
-lwx_baseud-2.8

However missing symbols are located in the wx_gtk2ud_core-2.8. If I
added this library into pgagent_LDADD, it works fine.

Do you have any idea why it does not work - why configure does not setup
correct LD?

        thanks Zdenek

Re: pgagent linker problem

From
Dave Page
Date:
Zdenek Kotala wrote:
> When I try make pgagent binary (Solaris 10/SS11/wx2.8rc3), linker does
> not recognize some symbols:
>
> Undefined                       first referenced
>  symbol                             in file
> wxRadioButtonNameStr                connection.o
> wxFileDialogNameStr                 connection.o
> wxComboBoxNameStr                   connection.o
> wxToolBarNameStr                    connection.o
> <snip>
>
> If I look into Makefile, there is
> pgagent_LDADD = -L/opt/wxWidgegets-2.8.0/lib -mt   -L/usr/openwin/lib
> -lwx_baseud-2.8
>
> However missing symbols are located in the wx_gtk2ud_core-2.8. If I
> added this library into pgagent_LDADD, it works fine.
>
> Do you have any idea why it does not work - why configure does not setup
> correct LD?

It does on other platforms/wx versions - I guess something changed in
wx2.8rc3 :-(

The easy fix is to add 'core' to the appropriate lines in acinclude.m4:

pgagent_LDADD=`${WX_CONFIG} ${WX_STATIC} --libs base,core --unicode=yes
--debug=yes --version=${WX_VERSION}`

I'll do so later.

Thanks, Dave

Re: pgagent linker problem

From
Zdenek Kotala
Date:
Dave Page wrote:
> Zdenek Kotala wrote:
>> When I try make pgagent binary (Solaris 10/SS11/wx2.8rc3), linker does
>> not recognize some symbols:
>>
>> Undefined                       first referenced
>>  symbol                             in file
>> wxRadioButtonNameStr                connection.o
>> wxFileDialogNameStr                 connection.o
>> wxComboBoxNameStr                   connection.o
>> wxToolBarNameStr                    connection.o
>> <snip>
>>
>> If I look into Makefile, there is
>> pgagent_LDADD = -L/opt/wxWidgegets-2.8.0/lib -mt   -L/usr/openwin/lib
>> -lwx_baseud-2.8
>>
>> However missing symbols are located in the wx_gtk2ud_core-2.8. If I
>> added this library into pgagent_LDADD, it works fine.
>
> I just tried this before applying a fix, and found that I cannot
> reproduce it on Linux. Can you confirm that your wx installation is
> clean (ie. you don't have a mixture of rc1 and rc3 installed somehow),
> and that you see this error following a completely clean build of
> pgAdmin please?

I downloaded everything from web, unpack and build from scratch. I don't
have rc1 on my machine. I will recheck it on Wednesday together with
Dhanaraj problems.

There is wx configure:

  ./configure --prefix=/opt/wxWidgegets-2.8.0 --with-gtk --enable-gtk2
--enable-unicode --enable-mimetype=no --enable-debug


        Zdenek

Re: pgagent linker problem

From
Dave Page
Date:
Zdenek Kotala wrote:
>
> I downloaded everything from web, unpack and build from scratch. I don't
> have rc1 on my machine. I will recheck it on Wednesday together with
> Dhanaraj problems.
>
> There is wx configure:
>
>  ./configure --prefix=/opt/wxWidgegets-2.8.0 --with-gtk --enable-gtk2
> --enable-unicode --enable-mimetype=no --enable-debug

Thanks Zdenek.

I don't suppose you (or Josh, CC'd) have any contacts in Sun who could
get me a copy of a working Solaris VMWare virtual machine? It would
certainly help me to help you and Dhanaraj :-). I've repeatedly had my
installations fail to boot when completed, for apparently different
reasons each time :-(

Regards, Dave.

Re: pgagent linker problem

From
Josh Berkus
Date:
Dave,

> I don't suppose you (or Josh, CC'd) have any contacts in Sun who could
> get me a copy of a working Solaris VMWare virtual machine? It would
> certainly help me to help you and Dhanaraj :-). I've repeatedly had my
> installations fail to boot when completed, for apparently different
> reasons each time :-(

Nope, I don't even have one right now.

--
Josh Berkus
PostgreSQL @ Sun
San Francisco

Re: pgagent linker problem

From
Dave Page
Date:
Josh Berkus wrote:
> Dave,
>
>> I don't suppose you (or Josh, CC'd) have any contacts in Sun who could
>> get me a copy of a working Solaris VMWare virtual machine? It would
>> certainly help me to help you and Dhanaraj :-). I've repeatedly had my
>> installations fail to boot when completed, for apparently different
>> reasons each time :-(
>
> Nope, I don't even have one right now.
>

Oh well - worth a try.

Regards, Dave.

Re: pgagent linker problem

From
Zdenek Kotala
Date:
Dave Page napsal(a):
> Zdenek Kotala wrote:
>>
>> I downloaded everything from web, unpack and build from scratch. I
>> don't have rc1 on my machine. I will recheck it on Wednesday together
>> with Dhanaraj problems.
>>
>> There is wx configure:
>>
>>  ./configure --prefix=/opt/wxWidgegets-2.8.0 --with-gtk --enable-gtk2
>> --enable-unicode --enable-mimetype=no --enable-debug
>
> Thanks Zdenek.
>
> I don't suppose you (or Josh, CC'd) have any contacts in Sun who could
> get me a copy of a working Solaris VMWare virtual machine? It would
> certainly help me to help you and Dhanaraj :-). I've repeatedly had my
> installations fail to boot when completed, for apparently different
> reasons each time :-(

There is one prepared, but I have never tested it.

http://www.vmware.com/vmtn/appliances/directory/227


    Zdenek

Re: pgagent linker problem

From
Dave Page
Date:
Zdenek Kotala wrote:

> I tested it again and this problem occurred if I use sunstudio compiler.
>  Compilation with gcc works fine. I looks that gcc recursively go thru
> libraries to find symbol. You can test it with Linux version of SunStudio.

Ok - is there a relatively easy way to test for the SunStudio compiler
in configure, or shall I just add the lib for all compilers?

Regards Dave

Re: pgagent linker problem

From
Zdenek Kotala
Date:
Dave Page wrote:
> Zdenek Kotala wrote:
>
>> I tested it again and this problem occurred if I use sunstudio
>> compiler.  Compilation with gcc works fine. I looks that gcc
>> recursively go thru libraries to find symbol. You can test it with
>> Linux version of SunStudio.
>
> Ok - is there a relatively easy way to test for the SunStudio compiler
> in configure, or shall I just add the lib for all compilers?
>

There are more issues related to SunStudio (hardcoded gcc flags ...). I
will discussed it with Dhanaraj and we will prepare patch to solve it.

        Zdenek

Re: pgagent linker problem

From
Dave Page
Date:
Zdenek Kotala wrote:
> Dave Page wrote:
>> Zdenek Kotala wrote:
>>
>>> I tested it again and this problem occurred if I use sunstudio
>>> compiler.  Compilation with gcc works fine. I looks that gcc
>>> recursively go thru libraries to find symbol. You can test it with
>>> Linux version of SunStudio.
>>
>> Ok - is there a relatively easy way to test for the SunStudio compiler
>> in configure, or shall I just add the lib for all compilers?
>>
>
> There are more issues related to SunStudio (hardcoded gcc flags ...). I
> will discussed it with Dhanaraj and we will prepare patch to solve it.

OK, thanks - did you see my previous message about the correct fix to
include the core lib? Specifically, that you just add it to the
appropriate wx-config lines in acinclude.m4, eg:

pgagent_LDADD=`${WX_CONFIG} ${WX_STATIC} --libs base,core --unicode=yes
--debug=yes --version=${WX_VERSION} 2> /dev/null`

Regards, Dave.