Welcome to NeoOffice developer notes and announcements
NeoOffice
Developer notes and announcements
 
 

This website is an archive and is no longer active
NeoOffice announcements have moved to the NeoOffice News website


Support
· Forums
· NeoOffice Support
· NeoWiki


Announcements
· Twitter @NeoOffice


Downloads
· Download NeoOffice


  
NeoOffice :: View topic - Build of 2.0 alpha with java 5
Build of 2.0 alpha with java 5
 
   NeoOffice Forum Index -> NeoOffice Development
View previous topic :: View next topic  
Author Message
toonetown
Keymaker


Joined: Apr 21, 2006
Posts: 95
Location: Utah, USA

PostPosted: Fri Apr 21, 2006 7:25 am    Post subject: Build of 2.0 alpha with java 5

This is my first post to neooffice.org - I hope to do a lot more. I've been reading the forums for a few weeks now (I'm new to MacOS and NeoOffice).

I had this hairbrained Idea to try and compile the 2.0 alpha tag from CVS with java 5 (1.5.06 from apple). It's still going, but I just wanted to report that so far, it looks like it will at least compile. I had to add a "source=1.4" line to the javac tag in neojava/build/xmerge/source/xmerge/build.xml - but other than that, all has been going well.

Anyway - not a very interesting post - but I thought I'd post my progress so far...(don't know if it's helpful to anyone or not)
Back to top
toonetown
Keymaker


Joined: Apr 21, 2006
Posts: 95
Location: Utah, USA

PostPosted: Fri Apr 21, 2006 7:32 am    Post subject:

Actually, I *do* have a question (not an important one, but one nonetheless).

How can I build neooffice with only certain localizations (instead of all - or just english)? I've built OOo (on linux) with certain locales by using the "--with-lang" option to ./configure - but does the neooffice makefile support that in some way?
Back to top
pluby
The Architect
The Architect


Joined: Jun 16, 2003
Posts: 11949

PostPosted: Fri Apr 21, 2006 8:00 am    Post subject:

toonetown wrote:
I had this hairbrained Idea to try and compile the 2.0 alpha tag from CVS with java 5 (1.5.06 from apple). It's still going, but I just wanted to report that so far, it looks like it will at least compile. I had to add a "source=1.4" line to the javac tag in neojava/build/xmerge/source/xmerge/build.xml - but other than that, all has been going well.
.

Can you post your patch? I made the OpenOffice build use "source=1.4" but looks like I missed one or two places.

toonetown wrote:
Actually, I *do* have a question (not an important one, but one nonetheless).

How can I build neooffice with only certain localizations (instead of all - or just english)? I've built OOo (on linux) with certain locales by using the "--with-lang" option to ./configure - but does the neooffice makefile support that in some way?


You would have to edit the neojava/makefile. Just search for "configure" in that file and you will find the file. In any case, the default build will build all languages, but when it builds the NeoOffice installer, it will build an English installer and will put each of the other languages in a separate language pack.

FYI. I retagged a few files yesterday so you may want to stop your build, "cvs update -d" the neojava directory, and then reinvoke "make" to continue your build. You won't lose anything that has been built so far, it just and a few more files to the build to fix a performance problem in Impress.

Patrick
Back to top
toonetown
Keymaker


Joined: Apr 21, 2006
Posts: 95
Location: Utah, USA

PostPosted: Sat Apr 22, 2006 8:22 am    Post subject:

Here's the patch for xmerge (I just patched it directly in the build directory - I don't know where the original file exists...)

Code:

--- build/xmerge/source/xmerge/build.xml.orig   2006-04-22 09:29:52.000000000 -0600
+++ build/xmerge/source/xmerge/build.xml        2006-04-21 08:19:24.000000000 -0600
@@ -75,6 +75,7 @@
     <!-- compile java sources in ${package} -->
     <target name="compile" depends="init">
         <javac srcdir="${src.dir}"
+               source="1.4"
                destdir="${target.dir}"
                debug="${debug}"
                deprecation="${deprecation}"


I also got an error message compiling what looks like neojava-specific code:

Code:

=============
Building project desktop
=============
/Users/ntoone/Desktop/neojava/build/desktop/macosx/source
mkout -- version: 1.6
/Users/ntoone/Desktop/neojava/build/desktop/macosx/sourcerm -rf ../../unxmacxp.pro/misc/OpenOffice.org.app
osacompile -o ../../unxmacxp.pro/misc/OpenOffice.org.app -s main.applescript
2006-04-21 20:46:32.352 osacompile[27889] CFLog (0): CFMessagePort: bootstrap_register(): failed 1100 (0x44c), port = 0x2103, name = 'Processes-0.9961473'
See /usr/include/servers/bootstrap_defs.h for the error codes.
2006-04-21 20:46:32.353 osacompile[27889] CFLog (99): CFMessagePortCreateLocal(): failed to name Mach port (Processes-0.9961473)
CFMessagePortCreateLocal failed (name = Processes-0.9961473 error = 0)
Abort
dmake:  Error code 134, while making '../../unxmacxp.pro/misc/OpenOffice.org.app/Contents/Resources/Scripts/main.scpt'
'---* tg_merge.mk *---'

ERROR: Error 65280 occurred while making /Users/ntoone/Desktop/neojava/build/desktop/macosx/source
make: *** [build.oo_all] Error 1


I don't have access right now to the machine (I'm just looking at my compile log via an ssh session...) - and I don't feel like debugging it remotely right now. I'll look into it when I can get back on the machine...I was just wondering if it was anything that had been seen before. (Please do NOT spend time trying to debug that - I know that you are busy doing lots of other things...)

Thanks!

-Nathan
Back to top
OPENSTEP
The One
The One


Joined: May 25, 2003
Posts: 4752
Location: Santa Barbara, CA

PostPosted: Sat Apr 22, 2006 8:29 am    Post subject:

Well, the compile failure isn't in Neo specific code but rather the OOo code itself. The neojava/build subdirectory contains the main OOo X11 code, and that's where the build failure is happening, in the OOo desktop module. We don't patch that module, so the code is the same as in OOo.

The interesting thing is that osacompile is failing, which is trying to compile an AppleScript, probably the OOo X11 launcher. Are you by any chance running the machine headless or without someone being logged in? Sometimes AppleScript can fail if the Finder is not running as that's where it tends to send messages. I haven't done remote builds in quite some time, but back when I did I had to replace a number of AppleScript related portions of the build.

(general note: if the XMerge patch is something important, let us know...the Neo build process patches OOo itself to fix various Mac-specific bugs and other enhancements.)

ed
Back to top
pluby
The Architect
The Architect


Joined: Jun 16, 2003
Posts: 11949

PostPosted: Sat Apr 22, 2006 8:34 am    Post subject:

toonetown wrote:

Code:

=============
Building project desktop
=============
/Users/ntoone/Desktop/neojava/build/desktop/macosx/source
mkout -- version: 1.6
/Users/ntoone/Desktop/neojava/build/desktop/macosx/sourcerm -rf ../../unxmacxp.pro/misc/OpenOffice.org.app
osacompile -o ../../unxmacxp.pro/misc/OpenOffice.org.app -s main.applescript
2006-04-21 20:46:32.352 osacompile[27889] CFLog (0): CFMessagePort: bootstrap_register(): failed 1100 (0x44c), port = 0x2103, name = 'Processes-0.9961473'
See /usr/include/servers/bootstrap_defs.h for the error codes.
2006-04-21 20:46:32.353 osacompile[27889] CFLog (99): CFMessagePortCreateLocal(): failed to name Mach port (Processes-0.9961473)
CFMessagePortCreateLocal failed (name = Processes-0.9961473 error = 0)
Abort
dmake:  Error code 134, while making '../../unxmacxp.pro/misc/OpenOffice.org.app/Contents/Resources/Scripts/main.scpt'
'---* tg_merge.mk *---'

ERROR: Error 65280 occurred while making /Users/ntoone/Desktop/neojava/build/desktop/macosx/source
make: *** [build.oo_all] Error 1



Actually, you are still in the OOo build. Note that when the build directory in the output includes neojava's "build" subdirectory, you are in the OOo code.

Your build is breaking on this command:

Code:
osacompile -o ../../unxmacxp.pro/misc/OpenOffice.org.app -s main.applescript


Either something is horked with osacompile on your machine or there is a bug in OOo's main.applescript file. I have not seen this error before as I don't think main.applescript is doing anything fancy.

Patrick
Back to top
toonetown
Keymaker


Joined: Apr 21, 2006
Posts: 95
Location: Utah, USA

PostPosted: Sat Apr 22, 2006 1:46 pm    Post subject:

I'm sorry - I misunderstood how the compile worked. I thought that all "mac-related" compile stuff (such as applescript compilation, creating the .app file, etc) was neojava - I didn't know that there was that stuff in OpenOffice. I was wrong.

The failure to build is probably due to me trying to build it headless - I'll have to try building when I'm actually *on* the box. Thanks!

-Nathan
Back to top
toonetown
Keymaker


Joined: Apr 21, 2006
Posts: 95
Location: Utah, USA

PostPosted: Sun Apr 23, 2006 6:48 am    Post subject:

I found out why the osacompile was failing when building headless. I was running it nohupped, and for some reason it didn't have the privileges needed to compile the applescript file.

Doing the build with sudo worked fine through that part. (I know - not the "safest" way to do it - but it worked for me right now...

I know that everyone was probably losing sleep over this... Wink

-Nathan
Back to top
OPENSTEP
The One
The One


Joined: May 25, 2003
Posts: 4752
Location: Santa Barbara, CA

PostPosted: Mon Apr 24, 2006 9:49 am    Post subject:

Hmm...odd that the nohup is what did it. Odd.

While I was talking with Patrick over the weekend, we can eventually work on patching the desktop module to not try and compile the OOo launcher. We don't use it, so we don't actually need to do that osacompile step that may cause these kinds of problems.

ed
Back to top
sardisson
Town Crier
Town Crier


Joined: Feb 01, 2004
Posts: 4588

PostPosted: Mon Apr 24, 2006 10:42 am    Post subject:

OPENSTEP wrote:
While I was talking with Patrick over the weekend, we can eventually work on patching the desktop module to not try and compile the OOo launcher. We don't use it, so we don't actually need to do that osacompile step that may cause these kinds of problems.

The less wasted time compiling unneeded things in a 3-day compile, the better Wink

Smokey

_________________
"[...] whether the duck drinks hot chocolate or coffee is irrelevant." -- ovvldc and sardisson in the NeoWiki
Back to top
toonetown
Keymaker


Joined: Apr 21, 2006
Posts: 95
Location: Utah, USA

PostPosted: Mon Apr 24, 2006 2:03 pm    Post subject:

So all of OOo built just fine sudo-ed...but the neooffice stuff didn't (specifically the target build.package)

I got this error:

Code:
chmod -Rf a-w,a+r "install/NeoOffice-2.0_Alpha-Language_Pack_Afrikaans"
chmod -f u+w "install/NeoOffice-2.0_Alpha-Language_Pack_Afrikaans"
mv "install/NeoOffice-2.0_Alpha-Language_Pack_Afrikaans" "install/NeoOffice-2.0_Alpha-Language_Pack_Afrikaans-PowerPC"
sync ; hdiutil create -srcfolder "install/NeoOffice-2.0_Alpha-Language_Pack_Afrikaans-PowerPC" -format UDZO -ov -o "install/NeoOffice-2.0_Alpha-Language_Pack_Afrikaans-PowerPC.dmg"
hdiutil: create failed - Device not configured
make[1]: *** [build.package_Afrikaans] Error 1
make: *** [build.package] Error 2


Running "make build.package" as myself (not sudo-ed) worked just fine through this part.

I tend to agree with removing as much unnecessary building as possible...it *does* take quite a while as it is. It might not save too much but still... Laughing

And in reading through the makefile, it appears that the variable to set the languages is already in there - you can build, for example, just the us-english locale by running:

Code:
make OO_LANGUAGE="en-US"


(that's more for my own reference in the future - I'm sure everyone here was already aware of that.)

-Nathan[/code]
Back to top
toonetown
Keymaker


Joined: Apr 21, 2006
Posts: 95
Location: Utah, USA

PostPosted: Mon Apr 24, 2006 2:13 pm    Post subject:

It's probably bad form to keep replying to yourself...sorry.

I'm interested in messing around with the build scripts myself (I like doing things like that...) I was wondering a couple of things:

1) there isn't a "clean" target - is there something similar, or do you manually have to clean the prebuilt files? (Or do a re-checkout)

2) Where and how are the patches created/stored in CVS? Are they dynamically generated by source files in the neooffice CVS structure? After a build, I have 7 or 8 patches in the patches/openoffice directory - but I only see one while browsing through the neooffice cvsweb...

3) Is there some kind of document about *how* neooffice works (from a high-level point of view) that I could go off of to start answering questions 1 and 2?

BTW - the build went very smoothly (except for the 3 issues listed above - the xmerge "source" attribute, the need to build nohupped as root (sudo) and the need to build packages as non-root. Now, when I get off vacation, I'll have to see how it actually works! Very Happy

-Nathan
Back to top
pluby
The Architect
The Architect


Joined: Jun 16, 2003
Posts: 11949

PostPosted: Mon Apr 24, 2006 5:34 pm    Post subject:

toonetown wrote:
1) there isn't a "clean" target - is there something similar, or do you manually have to clean the prebuilt files? (Or do a re-checkout)


Nope. The OOo build doesn't have a clean target and even if it did, the huge build times of a clean build is something that I try to avoid as much as possible. So, I designed the makefile targets to reduce the likelihood that I would accidently rebuild the OOo code.

toonetown wrote:
2) Where and how are the patches created/stored in CVS? Are they dynamically generated by source files in the neooffice CVS structure? After a build, I have 7 or 8 patches in the patches/openoffice directory - but I only see one while browsing through the neooffice cvsweb...


What's in the patches/openoffice directory is all there is. Nothing new is created and the patches are applied by one of the targets in the makefile (search for the "patch" command to find them). I don't know what is up with CVS web as I always use CVS directly.

toonetown wrote:
3) Is there some kind of document about *how* neooffice works (from a high-level point of view) that I could go off of to start answering questions 1 and 2?


Unfortunately, not that I have written. Your best bet is to look through the makefile if get a feel for how I swap in my own code to replace all of the X11 code. I haven't modified the OOo architecture, I only replace my own implementation of exported OOo APIs.

toonetown wrote:
BTW - the build went very smoothly (except for the 3 issues listed above - the xmerge "source" attribute, the need to build nohupped as root (sudo) and the need to build packages as non-root. Now, when I get off vacation, I'll have to see how it actually works! Very Happy


I will commit the xmerge patch, but I'm not sure that building headless is really going to be much of an option considering that we are building a GUI application. Some of the tools that doing packaging apparently need a connection to the Mac window server and you definitely need a monitor to test NeoOffice.

Patrick[/i]
Back to top
sardisson
Town Crier
Town Crier


Joined: Feb 01, 2004
Posts: 4588

PostPosted: Mon Apr 24, 2006 7:03 pm    Post subject:

toonetown wrote:
It's probably bad form to keep replying to yourself...sorry.

We talk to ourselves all the time here Smile Well, some of us....

toonetown wrote:
3) Is there some kind of document about *how* neooffice works (from a high-level point of view) that I could go off of to start answering questions 1 and 2?


As Patrick said, there's nothing formally written. Some bits and pieces have been explained over time and I've tried to collect them in the wiki (which I'm sure you've seen, since you managed to find some of the more hidden pages). I'd like to put something together at some point, but I'm not a developer, so not enough of it makes sense to me yet for me to write good documentation Sad

And until we have interested developers beating down our door Wink Patrick and Ed's time is probably better spent debugging, fixing, and implementing Smile

Welcome aboard!

Smokey

_________________
"[...] whether the duck drinks hot chocolate or coffee is irrelevant." -- ovvldc and sardisson in the NeoWiki
Back to top
toonetown
Keymaker


Joined: Apr 21, 2006
Posts: 95
Location: Utah, USA

PostPosted: Mon Apr 24, 2006 7:47 pm    Post subject:

Quote:
And until we have interested developers beating down our door Wink Patrick and Ed's time is probably better spent debugging, fixing, and implementing Smile


I totally agree - and I'll send anything I come across in my "journey through the makefiles" your way - so that you can add them to the wiki as a start.

-Nathan
Back to top
Display posts from previous:   
   NeoOffice Forum Index -> NeoOffice Development All times are GMT - 7 Hours
Goto page 1, 2  Next
Page 1 of 2

 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You cannot download files in this forum

Powered by phpBB © 2001, 2005 phpBB Group

All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © Planamesa Inc.
NeoOffice is a registered trademark of Planamesa Inc. and may not be used without permission.
PHP-Nuke Copyright © 2005 by Francisco Burzi. This is free software, and you may redistribute it under the GPL. PHP-Nuke comes with absolutely no warranty, for details, see the license.