Bug 454323 - openoffice.org-sdk c++ examples don't build
Summary: openoffice.org-sdk c++ examples don't build
Keywords:
Status: CLOSED WORKSFORME
Alias: None
Product: Fedora
Classification: Fedora
Component: openoffice.org
Version: 8
Hardware: i686
OS: Linux
low
medium
Target Milestone: ---
Assignee: Caolan McNamara
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2008-07-07 17:53 UTC by Philip Ashmore
Modified: 2008-07-08 14:04 UTC (History)
1 user (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2008-07-08 12:23:04 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Philip Ashmore 2008-07-07 17:53:01 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-GB; rv:1.9) Gecko/2008052912 Firefox/3.0

Description of problem:
I want to build/install/test the c++ CppComponent ".oxt" extension.
I can't build it as supplied.

This SDK was installed from the Fedora packaged RPM, and I'm running Fedora 8.

I'm assuming I don't have to be root to build these.


Version-Release number of selected component (if applicable):
openoffice.org-sdk-2.3.0-6.15

How reproducible:
Always


Steps to Reproduce:
1. # yum install openoffice.org-sdk-2.3.0-6.15.fc8.i386.rpm
2. $ cd /usr/lib/openoffice.org/sdk/examples/DevelopersGuide/Components/CppComponent
$ make


Actual Results:
mkdir -p ../../../../LINUXexample.out/misc/CppComponentSample
mkdir: cannot create directory `../../../../LINUXexample.out': Permission denied
make: [../../../../LINUXexample.out/misc/CppComponentSample/some.urd] Error 1 (ignored)
"/linux/bin/idlc" -I. -I../../../../idl -O../../../../LINUXexample.out/misc/CppComponentSample some.idl
/bin/sh: /linux/bin/idlc: No such file or directory
make: *** [../../../../LINUXexample.out/misc/CppComponentSample/some.urd] Error 127

Expected Results:
As a regular user I would have expected a folder in my home directory to be created to hold the files generated by making the examples.


Additional info:
The documentation supplied frequently refers to staroffice - not openoffice.

There are frequent references to "the UNO installation directory" leading me to suspect that this documentation arrived on my hard disk without being customized for Fedora.

I created my own directory structure and eventually managed to figure out how to build some of them - some worked and some didn't.

I had to copy/modify makefiles and makefile includes to get it going.

The fact that the examples don't build "out of the box" forces any developer to modify / replace (parts of) the build environment.

When they run into a problem the first question asked is "did you change anything?", to which they are forced to answer "yes".

I had the same problems with Firefox.

It seems that the distinction between packaging an sdk and providing a usable sdk is being missed, causing a huge duplication of effort among all the developers who take an interest in these products.

Just to be thorough I downloaded and installed openoffice.org-ooolatex-4.0.0-0.5.beta2.fc8.1.src.rpm to see how rpmbuild does it.

It doesn't build it - the ".oxt" file is part of the source package!

What's going on?

Comment 1 Caolan McNamara 2008-07-08 12:23:04 UTC
"refers to staroffice - not openoffice.org ..." 
would be an upstream error/over-sight, rather than a fedora over-sight.

"the UNO installation directory" is /usr/lib/openoffice.org/program", this is a
little more obvious in F-10 where there will be a directory actually called
"ure" where ure is "UNO runtime environment"

"I downloaded and installed openoffice.org-ooolatex-4.0.0-0.5"...
openoffice.org-ooolatex is written in StarBasic IIRC so it doesn't need to be
compiled, just interpreted so there is no real "build" stage for it. An example
of a C++ extension in Fedora is openoffice.org-voikko, and an example of a Java
extension is writer2latex.

And to build the examples, the following should work (it does on F-9 at least,
right out of the box)

1. yum install openoffice.org-sdk-doc-2.3.0-6.15.fc8.i386.rpm
2. /usr/lib/openoffice.org/sdk/setsdkenv_unix.sh
3. cd /usr/lib/openoffice.org/sdk/examples/DevelopersGuide/Components/CppComponent
4. make

and then you will have an output of...

~/sdk/LINUXexample.out/bin/CppComponent.oxt

Where the crucial bit is that the sdk has a environmental setting script
"setsdkenv_unix.sh" that needs to be run before any of the rest of the stuff works. 

I hope that helps.

Comment 2 Philip Ashmore 2008-07-08 14:04:35 UTC
I think you mean
    2. . /usr/lib/openoffice.org/sdk/setsdkenv_unix.sh
so that the current environment is modified, but otherwise it works like it says
on the tin - thanks.

I was looking for examples that used a registry/registered components (like COM)
without having to start up a copy of office each time. Looking at the Openoffice
website the UNO sdk seems perfect for this, but it seems to have disappeared.

Any pointers?


Note You need to log in before you can comment on or make changes to this bug.