Hello Peter,

On Sat, Nov 21, 2020 at 12:06:58PM +0100, Peter Kovacs wrote:

> Hi Arrigo
> 
> On 19.11.20 18:40, Arrigo Marchiori wrote:
> > Dear List,
> > 
> > I am trying to build AOO418 on my up-to-date openSUSE Leap 15.2
> > x86_64.
> > 
> > Compilation fails on module xml2cmp, file
> > ain/solver/418/unxlngx6.pro/inc/boost/tr1/detail/config_all.hpp with
> > the message "no such file or directory" when looking for header
> > "../7.5.0/utility".
> > 
> > It seems to be the very same problem that was reported on this list by
> > Mechtilde Stehmann on October 24th, 2019:
> > https://lists.apache.org/thread.html/bcf4bd7d903caa8a07f04aa04e884fd576290c86c3aacd8d4447614d%40%3Cdev.openoffice.apache.org%3E
> > 
> > The only directory under /usr/include/c++ is named '7' instead of
> > '7.5.0' and the above thread seems to suggest that this is the
> > problem.
> > 
> > Last lines of the build output on my system [path redacted]:
> > 
> > Compiling: xml2cmp/source/finder/dependy.cxx
> > In file included from 
> > path/main/solver/418/unxlngx6.pro/inc/boost/tr1/tr1/vector:16:0,
> >                   from path/main/solver/418/unxlngx6.pro/inc/stl/vector:33,
> >                   from path/main/xml2cmp/source/finder/dependy.hxx:28,
> >                   from path/main/xml2cmp/source/finder/dependy.cxx:25:
> > path/main/solver/418/unxlngx6.pro/inc/boost/tr1/detail/config_all.hpp:103:44:
> >  fatal error: ../7.5.0/utility: No such file or directory
> >   #        define BOOST_TR1_STD_HEADER(name) 
> > <../__GNUC__.__GNUC_MINOR__.__GNUC_PATCHLEVEL__/name>
> > 
> > 
> > Fun fact (?): Ubuntu 18.04 is also shipping gcc 7.5.0 but it does have
> > directory /usr/include/c++/7.5.0 as a symlink to /usr/include/c++/7
> > That is probably why AOO148 builds seamlessly there.
> > 
> > Shall I open a PR for this?
> If you have a solution that fits both sure. I think we should be as
> distribution independant as possible. Maybe we can handle it in the config
> step.

I believe that the problem is in boost, specifically in file
tr1/detail/config_all.hpp that _hardcodes_ the include path for c++
headers using the major.minor.patchlevel form.

Gcc seems to have changed its standard behavior, with respect to
filesystem paths, since Gcc 7. This has already caused some trouble in
the past: https://bz.apache.org/ooo/show_bug.cgi?id=127712

I will propose a patch to the Boost include files (hopefully) today.

I see that the topic of upgrading Boost and getting rid of TR1
is... hot, so I will just propose the least possible change to the
build system.
-- 
rigo

http://rigo.altervista.org

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@openoffice.apache.org
For additional commands, e-mail: dev-h...@openoffice.apache.org

Reply via email to