libreoffice and gcc44+

Andriy Gapon avg at
Thu Mar 24 06:22:37 UTC 2011


I found it necessary to use the attached patch for libreoffice compilation to
succeed with gcc45. (patch name doesn't conform to the ports standards).
Without the patch my compilation failed because FILE declaration was not found.

I am CC-ing ports@ as this is an example of a classical base gcc vs gcc44+
problem.  The reasons for this issue are described here:
See "Header dependency cleanup".

I am surprised that this kind of problem has sneaked into the release code of
libreoffice.  It could mean two things: (a) they use older gcc themselves; (b)
FILE/stdio.h inclusion was brought in by some other inclusion likely in Linux
system header files.
In any case I think that the upstream developers should have used cstdio header
inclusion and std::FILE if they really need that.
Are you a regular on their development channels?  Maybe you could forward the
report to them?

Andriy Gapon
-------------- next part --------------
--- build/libreoffice/filter/inc/filter/msfilter/mstoolbar.hxx.orig	2011-03-24 07:57:23.427842820 +0200
+++ build/libreoffice/filter/inc/filter/msfilter/mstoolbar.hxx	2011-03-24 07:59:12.858835904 +0200
@@ -4,6 +4,7 @@
 #include "filter/msfilter/msfilterdllapi.h"
 #include <tools/string.hxx>
 #include <sot/storage.hxx>
+#include <stdio.h>
 #include <ostream>
 #include <memory>
 #include <vector>

More information about the freebsd-ports mailing list