Hi Adrian,

On  Mo 08 Apr 2024 20:36:54 CEST, Adrian Bunk wrote:

Source: lomiri-telephony-service
Version: 0.5.3-1
Severity: serious
Tags: ftbfs

https://buildd.debian.org/status/fetch.php?pkg=lomiri-telephony-service&arch=amd64&ver=0.5.3-1%2Bb3&stamp=1712518065&raw=0

...
/<<PKGBUILDDIR>>/libtelephonyservice/contactwatcher.cpp: In member function ‘void ContactWatcher::updateAlias()’: /<<PKGBUILDDIR>>/libtelephonyservice/contactwatcher.cpp:157:21: error: ‘dgettext’ is not a member of ‘C’; did you mean ‘dgettext’?
  157 |         setAlias(C::dgettext("telephony-service", "Private Number"));
      |                     ^~~~~~~~
In file included from /usr/include/x86_64-linux-gnu/c++/13/bits/messages_members.h:36,
                 from /usr/include/c++/13/bits/locale_facets_nonio.h:2064,
                 from /usr/include/c++/13/locale:43,
                 from /usr/include/c++/13/iomanip:45,
                 from /usr/include/absl/strings/internal/str_format/arg.h:23,
                 from /usr/include/absl/strings/str_format.h:78,
                 from /usr/include/absl/crc/crc32c.h:32,
                 from /usr/include/absl/crc/internal/crc_cord_state.h:23,
                 from /usr/include/absl/strings/cord.h:79,
from /usr/include/absl/container/internal/hash_function_defaults.h:56,
                 from /usr/include/absl/container/node_hash_set.h:42,
                 from /usr/include/phonenumbers/phonenumberutil.h:33,
                 from /<<PKGBUILDDIR>>/libtelephonyservice/phoneutils.h:27,
from /<<PKGBUILDDIR>>/libtelephonyservice/contactwatcher.cpp:25:
/usr/include/libintl.h:44:14: note: ‘dgettext’ declared here
   44 | extern char *dgettext (const char *__domainname, const char *__msgid)
      |              ^~~~~~~~
/<<PKGBUILDDIR>>/libtelephonyservice/contactwatcher.cpp:159:21: error: ‘dgettext’ is not a member of ‘C’; did you mean ‘dgettext’?
  159 |         setAlias(C::dgettext("telephony-service", "Unknown Number"));
      |                     ^~~~~~~~
/usr/include/libintl.h:44:14: note: ‘dgettext’ declared here
   44 | extern char *dgettext (const char *__domainname, const char *__msgid)
      |              ^~~~~~~~
...


I might need a hand with this. I have been staring at the code and see a construct like this:

```
namespace C {
#include <libintl.h>
}


... C::dgettext(...) ...
```

This works in many of the files of lomiri-telephony-service, but not in libtelephonyservice/contactwatcher.cpp. Neither in indicator/messagingmenu.cpp.

I can omit the "C::" namespace prefix in those files and then the build works. (But it used to work the way it is before the recent binNMU if lomiri-telephony-service).

I'd appreciate if you could take a look and shed some light on this.

Thanks in advance!!!

As a side note: shouldn't the libintl.h include in an 'extern "C" { #include <...> }' environment?

Thanks!
Mike


--

mike gabriel aka sunweaver (Debian Developer)
mobile: +49 (1520) 1976 148
landline: +49 (4351) 486 14 27

GnuPG Fingerprint: 9BFB AEE8 6C0A A5FF BF22  0782 9AF4 6B30 2577 1B31
mail: sunwea...@debian.org, http://sunweavers.net

Attachment: pgp3cQXH_kgZ2.pgp
Description: Digitale PGP-Signatur

Reply via email to