Bug 167853 - editors/apache-openoffice-3.4.0 fails to build
Summary: editors/apache-openoffice-3.4.0 fails to build
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: FreeBSD Office Team
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-05-13 23:30 UTC by Scott S Short
Modified: 2012-05-28 02:01 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Scott S Short 2012-05-13 23:30:03 UTC
See above -- fails to build. 

[ build MOD ] unoxml
R=/usr/ports/editors/openoffice-3/work/aoo-3.4.0 && S=$R/main && O=$S/solver/340                                                                                                   /unxfbsdi.pro && W=$O/workdir &&  mkdir -p $W/Module/ && touch $W/Module/unoxml
[ build ALL ] top level modules: unoxml
[ build ALL ] loaded modules: unoxml
[ build CHK ] unoxml
R=/usr/ports/editors/openoffice-3/work/aoo-3.4.0 && S=$R/main && O=$S/solver/340                                                                                                   /unxfbsdi.pro && W=$O/workdir &&  mkdir -p $W/Module/check/ && touch $W/Module/c                                                                                                   heck/unoxml
[ build CHK ] loaded modules: unoxml
rm /usr/ports/editors/openoffice-3/work/aoo-3.4.0/main/solver/340/unxfbsdi.pro/w                                                                                                   orkdir/ExternalHeaders/Library/librdf.so /usr/ports/editors/openoffice-3/work/ao                                                                                                   o-3.4.0/main/solver/340/unxfbsdi.pro/workdir/ExternalHeaders/Library/libxml2.so                                                                                                    /usr/ports/editors/openoffice-3/work/aoo-3.4.0/main/solver/340/unxfbsdi.pro/work                                                                                                   dir/ExternalHeaders/Library/libxslt.so /usr/ports/editors/openoffice-3/work/aoo-                                                                                                   3.4.0/main/solver/340/unxfbsdi.pro/workdir/ExternalHeaders/Library/libsax.so
unoxml deliver
deliver -- version: 275594
COPY: build.lst -> /usr/ports/editors/openoffice-3/work/aoo-3.4.0/main/solver/34                                                                                                   0/unxfbsdi.pro/inc/unoxml/build.lst
LOG: writing /usr/ports/editors/openoffice-3/work/aoo-3.4.0/main/solver/340/unxf                                                                                                   bsdi.pro/inc/unoxml/deliver.log
Module 'unoxml' delivered successfully. 1 files copied, 0 files unchanged

1 module(s): 
        bridges
need(s) to be rebuilt

Reason(s):

ERROR: error 65280 occurred while making /usr/ports/editors/openoffice-3/work/ao                                                                                                   o-3.4.0/main/bridges/source/cpp_uno/gcc3_freebsd_intel

When you have fixed the errors in that module you can resume the build by runnin                                                                                                   g:

        build --from bridges

*** Error code 1

Stop in /usr/ports/editors/openoffice-3.

===>>> make failed for editors/openoffice-3
===>>> Aborting update

===>>> Update for editors/openoffice-3 failed
===>>> Aborting update

Terminated

Fix: 

I can't find a fix.
How-To-Repeat: Just try to build...
Comment 1 Don Lewis freebsd_committer 2012-05-18 07:17:45 UTC
I ran into the same problem here.

There is a function definition vs. prototype error earlier in the log
file.  It appears that this error is specific to FreeBSD i386.  It
appears that a change was made to the addLocalFunctions() interface, but
this change was never made to the gcc3_freebsd_intel version of this
file.  The upstream probably hasn't been testing on FreeBSD i386.

The following patch modifies
bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx to be identical to
the Linux i386 version of this file, which seems to be the correct thing
to do.  Compilation gets much further for me now, but I'm seeing build
errors in the apr and coinmp modules, which I also saw before this patch
in addition to the bridges problem.

Index: files/patch-bridges
===================================================================
RCS file: /home/ncvs/ports/editors/openoffice-3/files/patch-bridges,v
retrieving revision 1.3
diff -u -r1.3 patch-bridges
--- files/patch-bridges	9 May 2012 03:48:16 -0000	1.3
+++ files/patch-bridges	18 May 2012 00:17:33 -0000
@@ -10,3 +10,76 @@
  
  #include <stdio.h>
  #include <string.h>
+--- bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx.orig	2012-01-10 02:40:18.000000000 -0800
++++ bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx	2012-05-17 17:14:35.000000000 -0700
+@@ -355,7 +355,7 @@
+ int const codeSnippetSize = 16;
+ 
+ unsigned char * codeSnippet(
+-    unsigned char * code, sal_Int32 functionIndex, sal_Int32 vtableOffset,
++    unsigned char * code, sal_PtrDiff writetoexecdiff, sal_Int32 functionIndex, sal_Int32 vtableOffset,
+     typelib_TypeClass returnTypeClass)
+ {
+     if (!bridges::cpp_uno::shared::isSimpleType(returnTypeClass)) {
+@@ -401,7 +401,7 @@
+     // jmp privateSnippetExecutor:
+     *p++ = 0xE9;
+     *reinterpret_cast< sal_Int32 * >(p)
+-        = ((unsigned char *) exec) - p - sizeof (sal_Int32);
++        = ((unsigned char *) exec) - p - sizeof (sal_Int32) - writetoexecdiff;
+     p += sizeof (sal_Int32);
+     OSL_ASSERT(p - code <= codeSnippetSize);
+     return code + codeSnippetSize;
+@@ -412,8 +412,7 @@
+ struct bridges::cpp_uno::shared::VtableFactory::Slot { void * fn; };
+ 
+ bridges::cpp_uno::shared::VtableFactory::Slot *
+-bridges::cpp_uno::shared::VtableFactory::mapBlockToVtable(void * block)
+-{
++bridges::cpp_uno::shared::VtableFactory::mapBlockToVtable(void * block) {
+     return static_cast< Slot * >(block) + 2;
+ }
+ 
+@@ -434,7 +433,7 @@
+ }
+ 
+ unsigned char * bridges::cpp_uno::shared::VtableFactory::addLocalFunctions(
+-    Slot ** slots, unsigned char * code,
++    Slot ** slots, unsigned char * code, sal_PtrDiff writetoexecdiff,
+     typelib_InterfaceTypeDescription const * type, sal_Int32 functionOffset,
+     sal_Int32 functionCount, sal_Int32 vtableOffset)
+ {
+@@ -447,9 +446,9 @@
+         switch (member->eTypeClass) {
+         case typelib_TypeClass_INTERFACE_ATTRIBUTE:
+             // Getter:
+-            (s++)->fn = code;
++            (s++)->fn = code + writetoexecdiff;
+             code = codeSnippet(
+-                code, functionOffset++, vtableOffset,
++                code, writetoexecdiff, functionOffset++, vtableOffset,
+                 reinterpret_cast< typelib_InterfaceAttributeTypeDescription * >(
+                     member)->pAttributeTypeRef->eTypeClass);
+             // Setter:
+@@ -457,17 +456,17 @@
+                 typelib_InterfaceAttributeTypeDescription * >(
+                     member)->bReadOnly)
+             {
+-                (s++)->fn = code;
++                (s++)->fn = code + writetoexecdiff;
+                 code = codeSnippet(
+-                    code, functionOffset++, vtableOffset,
++                    code, writetoexecdiff, functionOffset++, vtableOffset,
+                     typelib_TypeClass_VOID);
+             }
+             break;
+ 
+         case typelib_TypeClass_INTERFACE_METHOD:
+-            (s++)->fn = code;
++            (s++)->fn = code + writetoexecdiff;
+             code = codeSnippet(
+-                code, functionOffset++, vtableOffset,
++                code, writetoexecdiff, functionOffset++, vtableOffset,
+                 reinterpret_cast< typelib_InterfaceMethodTypeDescription * >(
+                     member)->pReturnTypeRef->eTypeClass);
+             break;
Comment 2 Baptiste Daroussin freebsd_committer 2012-05-18 23:37:47 UTC
Responsible Changed
From-To: freebsd-ports-bugs->office

Over to maintainer.
Comment 3 Scott S Short 2012-05-22 21:59:59 UTC
It seems that editors/apache-openoffice-3.4.0_1 update in ports fixed 
the issue. It now builds clean with no problems. I assume this bug can 
be marked as ** fixed **. Thanks for the help.
Comment 4 Maho Nakata freebsd_committer 2012-05-28 02:01:30 UTC
State Changed
From-To: open->closed

it has already fixed.