Joined: Apr 21, 2006 Posts: 95 Location: Utah, USA
Posted: 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)
Joined: Apr 21, 2006 Posts: 95 Location: Utah, USA
Posted: 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?
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.
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...)
Joined: May 25, 2003 Posts: 4752 Location: Santa Barbara, CA
Posted: 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.)
=============
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.
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.
Joined: Apr 21, 2006 Posts: 95 Location: Utah, USA
Posted: 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!
Joined: Apr 21, 2006 Posts: 95 Location: Utah, USA
Posted: 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...
Joined: May 25, 2003 Posts: 4752 Location: Santa Barbara, CA
Posted: 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.
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
Smokey _________________ "[...] whether the duck drinks hot chocolate or coffee is irrelevant." -- ovvldc and sardisson in the NeoWiki
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...
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.)
Joined: Apr 21, 2006 Posts: 95 Location: Utah, USA
Posted: 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!
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!
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.
It's probably bad form to keep replying to yourself...sorry.
We talk to ourselves all the time here 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
And until we have interested developers beating down our door Patrick and Ed's time is probably better spent debugging, fixing, and implementing
Welcome aboard!
Smokey _________________ "[...] whether the duck drinks hot chocolate or coffee is irrelevant." -- ovvldc and sardisson in the NeoWiki
Joined: Apr 21, 2006 Posts: 95 Location: Utah, USA
Posted: Mon Apr 24, 2006 7:47 pm Post subject:
Quote:
And until we have interested developers beating down our door Patrick and Ed's time is probably better spent debugging, fixing, and implementing
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.
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