problem with custom widgets in phab 6.3

Hi,

I want to use in 6.3 the custom widgets I made in 6.2.
I have configured appbuilder like I did in 6.2.
Between others, I add the following lines in palette.def:

l=DsWidgets,<photon/DsWidgets.h>:ph,phexlib
p=dspalette,DataServer Widgets


So, I think that appbuilder is supposed to load phexlib to use the symbols
from this library like PxConfigOpen, etc…

I didn’t have any problem in 6.2 but 6.3 don’t try to open phexlib and
complain about unkown symbol.

What is the problem?

Do you mean you built your library on 6.2 and are trying to use it on
6.3 without recompiling? That won’t work: the 6.2 headers and libraries
(libph.so.2 and libphexlib.so.2) are not binary compatible with the 6.3
stuff (libph.so.3 and libphexlib.so.3). In particular, PxConfigOpen()
is a macro in 6.3.

Alain Bonnefoy wrote:

Hi,

I want to use in 6.3 the custom widgets I made in 6.2.
I have configured appbuilder like I did in 6.2.
Between others, I add the following lines in palette.def:

l=DsWidgets,<photon/DsWidgets.h>:ph,phexlib
p=dspalette,DataServer Widgets


So, I think that appbuilder is supposed to load phexlib to use the symbols
from this library like PxConfigOpen, etc…

I didn’t have any problem in 6.2 but 6.3 don’t try to open phexlib and
complain about unkown symbol.

What is the problem?

Hi Wojtek,
I mean that in 6.2, I used a library named libDsWidgets.so.1 which used
some Px… symbols.
When I was building the application, the reference to libphexlib.so was
added by phab and there was not any problem.
Today, this reference is not added anymore so, the linker don’t where
Px… are from.
Maybe the problem comes from libDsWidgets.so which should have
libphexlib.so as NEEDED, but I’m not really sure.

In fact I have lot of problems with photon in 6.3 and I’m preparing a post
to explain it.

Alain.

Wojtek Lerch wrote:

Do you mean you built your library on 6.2 and are trying to use it on
6.3 without recompiling? That won’t work: the 6.2 headers and libraries
(libph.so.2 and libphexlib.so.2) are not binary compatible with the 6.3
stuff (libph.so.3 and libphexlib.so.3). In particular, PxConfigOpen()
is a macro in 6.3.

Alain Bonnefoy wrote:
Hi,

I want to use in 6.3 the custom widgets I made in 6.2.
I have configured appbuilder like I did in 6.2.
Between others, I add the following lines in palette.def:

l=DsWidgets,<photon/DsWidgets.h>:ph,phexlib
p=dspalette,DataServer Widgets


So, I think that appbuilder is supposed to load phexlib to use the symbols
from this library like PxConfigOpen, etc…

I didn’t have any problem in 6.2 but 6.3 don’t try to open phexlib and
complain about unkown symbol.

What is the problem?

Alain Bonnefoy wrote:

I mean that in 6.2, I used a library named libDsWidgets.so.1 which used
some Px… symbols.

It’s still unclear to me whether you recompiled that library under
6.3… Did you?

When I was building the application, the reference to libphexlib.so was
added by phab and there was not any problem.

Today, this reference is not added anymore so, the linker don’t where
Px… are from.

Could you post the contents of the abLfiles that PhAB generates under
6.3, as well as the full output from make, including the link command?

Maybe the problem comes from libDsWidgets.so which should have
libphexlib.so as NEEDED, but I’m not really sure.

My understanding is that the NEEDED reference is used when the library
is loaded at runtime, but not when you’re building an executable.

In fact I have lot of problems with photon in 6.3 and I’m preparing a post
to explain it.

Is it possible that some of your problems could be caused by mixing code
compiled with 6.2 Photon headers (.o’s or .so’s) with code compiled with
6.3 headers, in the same process?