Hello,
Seems like intentional(?) changes in libphonennumber caused this.
Adding recipient Matthias Klose, who uploaded the latest libphonenumber
version, to hopefully get a comment on if this is something than should
get fixed in libphonenumber or in e-d-s.
Please note that the libphonenumber Vcs-Git repo seems outdated so it's
not possible to track down exact commit which changed debian/control and
get more details!
Nope, this is a wild goose....
[...]
Hopefully actually relevant part (because I have to say finding the
actual error from CMake builds is horrible!):
```
gmake[3]: Entering directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/CMakeFiles/CMakeTmp'
Building CXX object CMakeFiles/cmTC_24d88.dir/src.cxx.o
/usr/bin/c++ -DI18N_PHONENUMBERS_USE_BOOST -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Dphone_number_with_boost_thread-mt -fPIE -o CMakeFiles/cmTC_24d88.dir/src.cxx.o -c /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/CMakeFiles/CMakeTmp/src.cxx
<command-line>: warning: ISO C++11 requires whitespace after the macro name
In file included from /usr/include/phonenumbers/phonenumberutil.h:32,
from /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/CMakeFiles/CMakeTmp/src.cxx:1:
/usr/include/phonenumbers/base/memory/scoped_ptr.h:10:10: fatal error: boost/scoped_ptr.hpp: No such file or directory
10 | #include <boost/scoped_ptr.hpp>
| ^~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
gmake[3]: *** [CMakeFiles/cmTC_24d88.dir/build.make:85: CMakeFiles/cmTC_24d88.dir/src.cxx.o] Error 1
gmake[3]: Leaving directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/CMakeFiles/CMakeTmp'
gmake[2]: *** [Makefile:140: cmTC_24d88/fast] Error 2
```
So this looks like a bug in libphonenumber to me.... Interestingly
this is part of libphonenumber 7.1.0-7 changelog:
* Don't build using boost, not required on recent Linux versions.
... and in /usr/include/phonenumbers/base/memory/scoped_ptr.h we can
see that the boost header is conditionally included based on
`#if defined(I18N_PHONENUMBERS_USE_BOOST)`.
That define in turn is apparently set by evolution-data-server:
./cmake/modules/FindPhonenumber.cmake:set(PHONENUMBER_DEFINITIONS -DI18N_PHONENUMBERS_USE_BOOST CACHE STRING "libphonenumber compile definitions, default is -DI18N_PHONENUMBERS_USE_BOOST")
Does that mean evolution-data-server is supposed to open-code the
dependencies needed by libphonenumber on boost ?
I think it would be better if the libphonenumber-dev pulled in
everything needed in every supported configuration (or alternatively
provided 2 separate -dev packages, eg. libphonenumber-boost-dev which
deps on libphonennumber-dev plus required boost parts but that seems
too complex for little gain - not to mention needing to go through NEW).
Regards,
Andreas Henriksson