# LibreOffice port fails on upgrade.



## Understudy (Mar 5, 2013)

Hi,

I recently tried to do a [CMD=""]portmaster[/CMD] and a [CMD=""]portupgrade[/CMD] to libreoffice. 

Here are the basics:


```
Shibari# uname -a
FreeBSD Shibari.brendhanhorne.com 9.0-RELEASE-p3 FreeBSD 9.0-RELEASE-p3 #0: Tue Jun 12 01:47:53 UTC 2012     root@i386-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC  i386
Shibari# pkg_info | grep libreoffice
libreoffice-3.5.7_1 Full integrated office productivity suite
```

Now the /usr/ports/UPDATING had a note in it. 


```
20130205:
  AFFECTS: users of editors/libreoffice
  AUTHOR: [email]bapt@FreeBSD.org[/email]

  LibreOffice has been updated to 3.6.5 with a bundle version of libcmis. The
  build will fail if you sill have net/libcmis 0.1 installed. Before upgrading
  LibreOffice you should either first remove libcmis from your system or uprade
  it to version 0.3.
```

So I ran a check on libcmis:


```
Shibari# pkg_info | grep libcmis
libcmis-0.3.1       Client library for the CMIS interface
```

So that seems correct. Here is what I get when I tried to upgrade libreoffice:


```
/tmp/lobuild/workdir/unxfbsdi.pro/CxxObject/connectivity/source/drivers/mysql/YUsers.o:(.data.rel.ro+0x18): undefined reference to `cppu::ImplHelper10<com::sun::star::container::XNameAccess, com::sun::star::container::XIndexAccess, com::sun::star::container::XEnumerationAccess, com::sun::star::container::XContainer, com::sun::star::sdbc::XColumnLocate, com::sun::star::util::XRefreshable, com::sun::star::sdbcx::XDataDescriptorFactory, com::sun::star::sdbcx::XAppend, com::sun::star::sdbcx::XDrop, com::sun::star::lang::XServiceInfo>::getImplementationId()'
/usr/bin/ld: /tmp/lobuild/workdir/unxfbsdi.pro/LinkTarget/Library/libmysqllo.so: hidden symbol `_ZN4cppu12ImplHelper10IN3com3sun4star9container11XNameAccessENS4_12XIndexAccessENS4_18XEnumerationAccessENS4_10XContainerENS3_4sdbc13XColumnLocateENS3_4util12XRefreshableENS3_5sdbcx22XDataDescriptorFactoryENSD_7XAppendENSD_5XDropENS3_4lang12XServiceInfoEE19getImplementationIdEv' isn't defined
/usr/bin/ld: final link failed: Nonrepresentable section on output
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
gmake[2]: *** [/tmp/lobuild/workdir/unxfbsdi.pro/LinkTarget/Library/libmysqllo.so] Error 1
gmake[2]: *** Waiting for unfinished jobs....
/usr/ports/editors/libreoffice/work/libreoffice-core-3.6.5.2/sot/qa/cppunit/test_sot.cxx:147:1: warning: unused parameter 'argc' [-Wunused-parameter]
CPPUNIT_PLUGIN_IMPLEMENT();
^
/usr/local/include/cppunit/plugin/TestPlugIn.h:194:3: note: expanded from:
  CPPUNIT_PLUGIN_IMPLEMENT_MAIN()
  ^
/usr/local/include/cppunit/plugin/TestPlugIn.h:165:17: note: expanded from:
  int main( int argc, char *argv[] )                  \
                ^
/usr/ports/editors/libreoffice/work/libreoffice-core-3.6.5.2/sot/qa/cppunit/test_sot.cxx:147:1: warning: unused parameter 'argv' [-Wunused-parameter]
CPPUNIT_PLUGIN_IMPLEMENT();
^
/usr/local/include/cppunit/plugin/TestPlugIn.h:194:3: note: expanded from:
  CPPUNIT_PLUGIN_IMPLEMENT_MAIN()
  ^
/usr/local/include/cppunit/plugin/TestPlugIn.h:165:29: note: expanded from:
  int main( int argc, char *argv[] )                  \
                            ^
3 warnings generated.

-----------------------------------------------------------------------
        Oh dear - something failed during the build - sorry !
  For more help with debugging build errors, please see the section in:
            http://wiki.documentfoundation.org/Development

  internal build errors:

ERROR: error 512 occurred while making /usr/ports/editors/libreoffice/work/libreoffice-core-3.6.5.2/tail_build/prj

 it seems that the error is inside 'tail_build', please re-run build
 inside this module to isolate the error and/or test your fix:

build_error.log should contain the captured output of the failed module(s)

-----------------------------------------------------------------------
To rebuild a specific module:

gmake tail_build.clean # not recommended, this will re-build almost everything
gmake tail_build

when the problem is isolated and fixed, re-run 'gmake'
gmake[1]: *** [build-packimages] Error 1
gmake[1]: Leaving directory `/usr/ports/editors/libreoffice/work/libreoffice-core-3.6.5.2'
gmake: *** [all] Error 2
*** Error code 1

Stop in /usr/ports/editors/libreoffice.
*** Error code 1

Stop in /usr/ports/editors/libreoffice.
** Command failed [exit code 1]: /usr/bin/script -qa /tmp/portupgrade20130305-7970-iyiowz-0 env UPGRADE_TOOL=portupgrade UPGRADE_PORT=libreoffice-3.5.7_1 UPGRADE_PORT_VER=3.5.7_1 make
** Fix the problem and try again.
** Listing the failed packages (-:ignored / *:skipped / !:failed)
        ! editors/libreoffice (libreoffice-3.5.7_1)     (new compiler error)
```

So I am at a bit of a loss as to what to do here. Does anyone have a clue as to what this error is or means?

Sincerely,

Brendhan


----------



## hirotokagotani (Mar 6, 2013)

I had the same problem when I attempted to upgrade libreoffice. In my case, I could solve it in two ways.
One is using GCC by setting the 
	
	



```
WITH_GCC=yes
```
 option. The other is upgrading FreeBSD to 9.1 to update clang.

Hope this helps.
Hiroto


----------



## Understudy (Mar 6, 2013)

hirotokagotani said:
			
		

> I had the same problem when I attempted to upgrade libreoffice. In my case, I could solve it in two ways.
> One is using GCC by setting the
> 
> 
> ...



Not so much. 

Upgraded to 9.1


```
root@Shibari:/usr/ports/editors/libreoffice # uname -a
FreeBSD Shibari.brendhanhorne.com 9.1-RELEASE FreeBSD 9.1-RELEASE #0 r243826: Tue Dec  4 06:55:39 UTC 2012     root@obrian.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  i386
```


Results


```
/tmp/lobuild/workdir/unxfbsdi.pro/CxxObject/connectivity/source/drivers/mysql/YUsers.o:(.data.rel.ro+0x18): undefined reference to `cppu::ImplHelper10<com::sun::star::container::XNameAccess, com::sun::star::container::XIndexAccess, com::sun::star::container::XEnumerationAccess, com::sun::star::container::XContainer, com::sun::star::sdbc::XColumnLocate, com::sun::star::util::XRefreshable, com::sun::star::sdbcx::XDataDescriptorFactory, com::sun::star::sdbcx::XAppend, com::sun::star::sdbcx::XDrop, com::sun::star::lang::XServiceInfo>::getImplementationId()'
/usr/bin/ld: /tmp/lobuild/workdir/unxfbsdi.pro/LinkTarget/Library/libmysqllo.so: hidden symbol `_ZN4cppu12ImplHelper10IN3com3sun4star9container11XNameAccessENS4_12XIndexAccessENS4_18XEnumerationAccessENS4_10XContainerENS3_4sdbc13XColumnLocateENS3_4util12XRefreshableENS3_5sdbcx22XDataDescriptorFactoryENSD_7XAppendENSD_5XDropENS3_4lang12XServiceInfoEE19getImplementationIdEv' isn't defined
/usr/bin/ld: final link failed: Nonrepresentable section on output
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
gmake[2]: *** [/tmp/lobuild/workdir/unxfbsdi.pro/LinkTarget/Library/libmysqllo.so] Error 1
gmake[2]: *** Waiting for unfinished jobs....

-----------------------------------------------------------------------
        Oh dear - something failed during the build - sorry !
  For more help with debugging build errors, please see the section in:
            http://wiki.documentfoundation.org/Development

  internal build errors:

ERROR: error 512 occurred while making /usr/ports/editors/libreoffice/work/libreoffice-core-3.6.5.2/tail_build/prj

 it seems that the error is inside 'tail_build', please re-run build
 inside this module to isolate the error and/or test your fix:

build_error.log should contain the captured output of the failed module(s)

-----------------------------------------------------------------------
To rebuild a specific module:

gmake tail_build.clean # not recommended, this will re-build almost everything
gmake tail_build

when the problem is isolated and fixed, re-run 'gmake'
gmake[1]: *** [build-packimages] Error 1
gmake[1]: Leaving directory `/usr/ports/editors/libreoffice/work/libreoffice-core-3.6.5.2'
gmake: *** [all] Error 2
*** [do-build] Error code 1

Stop in /usr/ports/editors/libreoffice.
*** [install] Error code 1

Stop in /usr/ports/editors/libreoffice.
```

So I would say that the upgrade did not work. 

Sincerely,

Brendhan


----------



## jwele (Mar 6, 2013)

I just installed this with GCC and all went well. I was using the cflags

-O0 -funroll-loops -pipe

I compiled it on amd64. I had some build error but it was not for the libreoffice main package it was for a dependency of it. Changing the -O2 to -O0 fixed it in my case. Sorry this post isn't more helpful towards your specific error but maybe try changing your cflags and using gcc might help it build.


----------



## wblock@ (Mar 6, 2013)

Guideline: don't set CFLAGS.  It does not improve performance of the operating system, and prevents ports from using their own custom CFLAGS that actually can make improvements.  In other words, setting CFLAGS is worse for performance than leaving it unset.


----------



## Understudy (Mar 12, 2013)

I wanted to give a follow up. 

The ports tree recently pushed libreoffice 3.x out and it has been replaced with version 4. I was never able to get v3 to install properly even with clang or after updating to FreeBSD 9.1. Version 4 of libreoffice crashes but it did supposedly successfully install. Since another thread has been started about the crash on libreoffice v 4. I am going to abandon this thread and follow the other one. This really sucks because I use this for work. 

Sincerely,

Brendhan


----------



## Understudy (Sep 26, 2013)

As a small update the libreoffice port is marked as broken still.


----------



## wblock@ (Sep 26, 2013)

It isn't broken here, I just built it a few days ago on a 10.0 system.  What message do you get?  Have you updated the ports tree?


----------



## cpm@ (Sep 26, 2013)

I confirm that editors/libreoffice works fine, you can try this configuration options:

```
[CMD]% make pretty-print-config -C /usr/ports/editors/libreoffice[/CMD]
+CUPS -DEBUG -GNOME -GTK2 +GTK3 -JAVA -KDE4 +MMEDIA -PGSQL -SDK -SYSTRAY -TEST -WEBDAV
```
My CFLAGS used to compiled it with Clang:

```
[CMD]% make -C /usr/ports/ -V CFLAGS[/CMD]
-O2 -pipe
[CMD]% make -C /usr/ports/editors/libreoffice -V CC[/CMD]
/usr/local/bin/clang
```


----------



## Understudy (Sep 26, 2013)

Somehow it changed something in the ports tree I can't even delete had to rename it. I will try a standard build and then the one mentioned by @cpu82.

Sincerely,

Brendhan


----------



## SirDice (Sep 26, 2013)

The port was marked BROKEN when MERGELIBS was enabled. This option has since been removed and the port has been updated to version 4.0.5.

http://svnweb.freebsd.org/ports?view=revision&revision=322139

I would suggest updating your ports tree and trying the most recent version. Please try to build it with the default options and only enable options if you understand what they do.


----------



## Understudy (Oct 3, 2013)

Still marked as broken:


```
.if ${PORT_OPTIONS:MDEBUG}
IGNORE=                 known as broken
```


----------



## wblock@ (Oct 4, 2013)

Don't turn on broken options.


```
# cd /usr/ports/editors/libreoffice
# make rmconfig
```


----------



## SirDice (Oct 4, 2013)

wblock@ said:
			
		

> Don't turn on broken options.


I'd even go a step further. Don't turn on options unless you know what they do and understand the consequences. If you are having problems _always_ revert to the default options. 


> ```
> # cd /usr/ports/editors/libreoffice
> # make rmconfig
> ```


One-liner: `# make -C /usr/ports/editors/libreoffice rmconfig`


----------



## Understudy (Oct 30, 2013)

SirDice said:
			
		

> I'd even go a step further. Don't turn on options unless you know what they do and understand the consequences. If you are having problems _always_ revert to the default options.
> 
> One-liner: `# make -C /usr/ports/editors/libreoffice rmconfig`



That did it. 

Brendhan


----------

