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 - gcc4 porting
gcc4 porting
 
   NeoOffice Forum Index -> NeoOffice Development
View previous topic :: View next topic  
Author Message
jjmckenzie51
The Anomaly


Joined: Apr 01, 2005
Posts: 1055
Location: Southeastern Arizona

PostPosted: Sun Sep 25, 2005 4:19 pm    Post subject:

OPENSTEP wrote:
Woo hoo! After dbacces it sems base OOo 1.1.4 will compile with gcc4! It's building its install sets right now. I'm off to watch some preseason hockey, but after that will start work on getting the branch ready and all of the patchfiles Smile


Fantastic. Good work and I would like to see your patchset. I'm up to setting up mine on BugZilla with a major warning.

James


Last edited by jjmckenzie51 on Tue Sep 27, 2005 8:05 am; edited 1 time in total
Back to top
OPENSTEP
The One
The One


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

PostPosted: Mon Sep 26, 2005 10:13 pm    Post subject:

The new branch tag is:

gcc4_x86_experimental_branch

I should have all of the base OOo patches in there now along with corresponding makefile changes. There are still some portions of the patches I need to migrate into the NeoJ specific files that override module source files. The "x86" part of the patches is forthcoming once I start working on it, but I'll be throwing that on the same branch.

ed
Back to top
OPENSTEP
The One
The One


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

PostPosted: Mon Sep 26, 2005 11:03 pm    Post subject:

Note: Some of these patches may be broken...in between XCode 2.0 and 2.1 Apple changed the location of some of the headers (!). Some of the standard headers that used to always be in /usr/include/gcc/darwin... have now moved to /usr/lib/gcc/...

I just checked in a new stlport patch that should work for XCode 2.1 but it assumes that there is a version of gcc3.3 installed on the build computer to find stdard.h (which didn't change substantially between it and gcc4). STLport really isn't set up to deal with having the compiler's specialized include files split across two separate directories.

Just a forewarning that some of the other modules I did before I switched compilers at the sw module may also have faults under XCode 2.1 / build 5026.

ed
Back to top
OPENSTEP
The One
The One


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

PostPosted: Tue Sep 27, 2005 9:09 am    Post subject:

Note: configmgr also needed an updated patch (build failed overnight). Apparently the new gcc 4 build is also a bit more tempermental about wanting complete types at the point of some template instantiations, so apinodeaccess.hxx needed a new include.

Just committed to secure CVS, so it should be in anoncvs by tomorrow AM.

ed
Back to top
jjmckenzie51
The Anomaly


Joined: Apr 01, 2005
Posts: 1055
Location: Southeastern Arizona

PostPosted: Tue Sep 27, 2005 11:45 am    Post subject:

OPENSTEP wrote:
Note: configmgr also needed an updated patch (build failed overnight). Apparently the new gcc 4 build is also a bit more tempermental about wanting complete types at the point of some template instantiations, so apinodeaccess.hxx needed a new include.


GCC4 tightens up a lot of 'loose' code that used to result in warnings only. I look at the compile logs and wonder why some of these were not 'solved' a long time ago. Just adding an include or two would make the logs much smaller and actually useful. Ed has done an admirable job just fixing the faults found when switching compiler versions.

I'm still working on integrating 1.1.5 with gcc-3.3 for now.

James
Back to top
OPENSTEP
The One
The One


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

PostPosted: Tue Sep 27, 2005 7:22 pm    Post subject:

jjmckenzie51 wrote:
I'm still working on integrating 1.1.5 with gcc-3.3 for now.


That's definitely the best course of action Smile The gcc4 stuff doesn't compile fully and there really isn't any reason for using it for PowerPC builds. I just need something so I can compile x86 Wink

There's another breakage in the XCode 2.1 update within stoc. Apparently the newer gcc4 build has changed how it handles anonymous enumerations (as in, it doesn't let you do that any longer). This worked fine in the earlier build of the same compiler version Evil or Very Mad

ed
Back to top
OPENSTEP
The One
The One


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

PostPosted: Tue Sep 27, 2005 10:31 pm    Post subject:

<snort> sfx2 also requires a new patch to be spun due to the anonymous enumeration error in the new gcc4 build.

ed
Back to top
OPENSTEP
The One
The One


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

PostPosted: Tue Sep 27, 2005 11:33 pm    Post subject:

The connectivity patch also needs revising for the new gcc4 build due to an anonymous variable being passed as a const reference. This was a problem with the previous XCode 2.0 build of gcc4, so I'm curious as to why it didn't cause failures before.

ed
Back to top
OPENSTEP
The One
The One


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

PostPosted: Wed Sep 28, 2005 9:43 am    Post subject:

The sd module also required patching for the anonymous enumeration used in template instantiation error in the XCode 2.1 gcc build. This is a new module, so the makefile also needed modification.

ed
Back to top
jjmckenzie51
The Anomaly


Joined: Apr 01, 2005
Posts: 1055
Location: Southeastern Arizona

PostPosted: Wed Sep 28, 2005 10:13 am    Post subject:

OPENSTEP wrote:
The sd module also required patching for the anonymous enumeration used in template instantiation error in the XCode 2.1 gcc build. This is a new module, so the makefile also needed modification.


More changes to find. At least you are still beating on it. I had to restart my Performance Patch build because it failed when the installer build portion started up. I redownloaded everything....

Oh well, such is the life of a tester/builder.

James
Back to top
OPENSTEP
The One
The One


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

PostPosted: Wed Sep 28, 2005 7:16 pm    Post subject:

Well, I finally got through another successful build of the base OOo with the new gcc4 version and am onto fixing little snafus in our own sources. Turns out the anonymous enum issue exists with the standard Mac OS system headers too which use anonymous enums for the return codes!

Because of the love of strange templates and operator overloading in the OOo source, it turns out there is actually a viable ambiguity with all boolean compare operations. There are templates for operator==() and operator!=() defined by UNO for comparisons against the Any type as the first operand. Well...as the name implies, there are quite a few casting rules for turning things into instances of Any. I suspect that this ambiguity may be causing these type failures when the right hand operand of a boolean operator is an anonymous enumeration...it kind of makes sense as, for lack of a type there, the compiler would look to the left hand operand...and then it finds wonky ambiguities in the template definitions for the boolean operators and throws its hands up in a fit since the casting to Any doesn't give it any more type information for the second operand.

That's my theory. So I'm just inserting casts for the second operand to hopefully convince the compiler to do the right thing (it compiles at least). If my theory is correct, however, the proper thing to do may be to reverse the operands to keep error codes or anonymous enumerations as the first of the operands in boolean operations. Worst case scenario is that in gcc4 all of these comparisons are actually being cast into Any objects! We'll see when I have a build Wink

ed
Back to top
OPENSTEP
The One
The One


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

PostPosted: Thu Sep 29, 2005 9:19 am    Post subject:

Sweet. The build finally got through all of our own customized modules with few changes required and it's building the install archives. Perhaps by tonight the installer will be finished and I can start checking for any obvious errors caused by the new compiler.

ed
Back to top
jjmckenzie51
The Anomaly


Joined: Apr 01, 2005
Posts: 1055
Location: Southeastern Arizona

PostPosted: Thu Sep 29, 2005 9:56 am    Post subject:

OPENSTEP wrote:
Sweet. The build finally got through all of our own customized modules with few changes required and it's building the install archives. Perhaps by tonight the installer will be finished and I can start checking for any obvious errors caused by the new compiler.


Great. I hope there are few problems and they are easily resolved.

James
Back to top
ovvldc
Captain Naiobi


Joined: Sep 13, 2004
Posts: 2352
Location: Zürich, CH

PostPosted: Thu Sep 29, 2005 2:37 pm    Post subject:

jjmckenzie51 wrote:
Great. I hope there are few problems and they are easily resolved.


Quite so! The amount of movement around here is really impressive. But, James, I just remembered a thread from some time ago which expressed the hope that you would swap the ugly file selector for a pretty Aqua variety. Patrick said it was a simple gig, and it is also guaranteed to get you in the Neo hall of fame (not that you need more) considering it is so highly visible.

Any plans in that direction or do you prefer to work with the OOo 2.0 branch now? I am not trying to squeeze more free time out of your existence, just curious Smile.

best wishes,
Oscar

_________________
"What do you think of Western Civilization?"
"I think it would be a good idea!"
- Mohandas Karamchand Gandhi
Back to top
OPENSTEP
The One
The One


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

PostPosted: Thu Sep 29, 2005 6:52 pm    Post subject:

Spoke too soon...the installer segfaults. Guess I get to do some more debugging before I can do fun things. Crap.

ed
Back to top
Display posts from previous:   
   NeoOffice Forum Index -> NeoOffice Development All times are GMT - 7 Hours
Goto page Previous  1, 2, 3, 4, 5, 6, 7, 8, 9, 10  Next
Page 6 of 10

 
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.