Bug 454323 - openoffice.org-sdk c++ examples don't build
openoffice.org-sdk c++ examples don't build
Product: Fedora
Classification: Fedora
Component: openoffice.org (Show other bugs)
i686 Linux
low Severity medium
: ---
: ---
Assigned To: Caolan McNamara
Fedora Extras Quality Assurance
Depends On:
  Show dependency treegraph
Reported: 2008-07-07 13:53 EDT by Philip Ashmore
Modified: 2008-07-08 10:04 EDT (History)
1 user (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2008-07-08 08:23:04 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Philip Ashmore 2008-07-07 13:53:01 EDT
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):

How reproducible:

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 08:23:04 EDT
"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...


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 10:04:35 EDT
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.