On 05/28/09 16:21, Adam Tauno Williams wrote:
On Thu, 2009-05-28 at 09:25 +0200, Stephan Bergmann wrote:
On 05/27/09 15:46, Adam Tauno Williams wrote:
On Fri, 2009-05-22 at 10:13 +0200, Stephan Bergmann wrote:
On 05/20/09 20:20, Adam Tauno Williams wrote:
On one of our webservers with use PUNO (the PHP UNO module
<http://www.wstech2.net/index.php?do=puno_install>) to communicate with
OOo running as a service.  In that case it is openSUSE 10.3 with
OpenOffice_org-2.3.0.1.2-10.5.  The module builds an works perfectly.
Now we need to deploy on openSUSE 11.1 with OpenOffice_org-3.0.1.3-3.1.
But unforunately the module fails to build since [as I interpret it) the
UNO API has changed:
OK: tar xf puno-0.6.tar.gz
Where did you get that tar file from?  I do not know what it is.
<http://sourceforge.net/project/showfiles.php?group_id=197229>
I see.
OK: cd puno-0.6
OK: /usr/lib/ooo3/basis3.0/sdk/setsdkenv_unix
OK: phpize
OK: ./configure --with-puno=/usr/lib/ooo3/basis3.0/sdk
OK: make cppumaker
FAILS: make install (or just make)
/usr/lib/ooo3/basis3.0/sdk/include/cppu/unotype.hxx: In static member
function 'static const com::sun::star::uno::Type& cppu::UnoType<
<template-parameter-1-1> >::get() [with T = int]':
/usr/lib/ooo3/basis3.0/sdk/include/cppu/unotype.hxx:293:   instantiated
from 'const com::sun::star::uno::Type& cppu::getTypeFavourUnsigned(const
T*) [with T = int]'
/usr/lib/ooo3/basis3.0/sdk/include/com/sun/star/uno/Any.hxx:205:
instantiated from 'void
com::sun::star::uno::operator<<=(com::sun::star::uno::Any&, const C&)
[with C = int]'
/root/puno-0.6/funcs.cpp:232:   instantiated from here
puno-0.6/funcs.cpp:232 is
   arguments[0]<<=xComponentLoader;
and xComponentLoader is declared as
   Reference < XComponentLoader > xComponentLoader(
at l. 184. However, that the complaint is about "com::sun::star::uno::operator<<=(com::sun::star::uno::Any&, const C&) [with C = int]" would imply that at l. 232 the compiler assumes that xComponentLoader is of type int, not of type com::sun::star::uno::Reference<com::sun::star::frame::XComponentLoader>. Something seems to go terribly wrong here. What is the exact gcc call that causes the error, and is the given error output the complete output of that gcc call, or just the tail?

I have published the output of the entire process:

/usr/lib/ooo3/basis3.0/sdk/setsdkenv_unix >& setsdkenv_unix.out
<https://www.mormail.com/snips/OGo12939740/setsdkenv_unix.out>

phpize >& phpize.out
<https://www.mormail.com/snips/OGo12939740/phpize.out>

./configure --with-puno=/usr/lib/ooo3/basis3.0/sdk >& configure.out
<https://www.mormail.com/snips/OGo12939740/configure.out>
<https://www.mormail.com/snips/OGo12939740/config.log.out> (the
resulting config.log file)

make --debug=i cppumaker >& make.cppumaker.out
<https://www.mormail.com/snips/OGo12939740/make.cppumaker.out>

make --debug=i >& make.out
<https://www.mormail.com/snips/OGo12939740/make.out>

As I expected, there are earlier errors about missing headers, like

"In file included from /root/puno-0.6/puno.cpp:19: /root/puno-0.6/php_puno.h:41:53: error: com/sun/star/registry/XSimpleRegistry.hpp: No such file or directory"

Those headers (declaring the C++ bindings for the OOo UNO types) are, AFAIK, not shipped with the SDK, but shall presumably be built by the make cppumaker step, whose output

"Prerequisite `/root/puno-0.6/modules/types.rdb' of target `cppumaker' does not exist."

hints at the alleged root problem: I guess that one of the earlier steps shall copy a types.rdb from the OOo installation to puno-0.6/modules/types.rdb. With OOo 2, there was a single types.rdb within the OOo installation, at opt/openoffice.org2/program/types.rdb. With OOo 3, this has changed, and the original types.rdb has been split into opt/openoffice.org/ure/misc/types.rdb and opt/openoffice.org/basis3.X/program/offapi.rdb (where the X is the OOo 3.X minor version number). (These files are considered internal artifacts of OOo, so no external mechanism should rely on them. The OOo SDK can shield external mechanisms from those---changing---details.)

In short, it looks like PUNO would need to be adapted to work with OOo 3.

-Stephan

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to