** Description changed:
- There are compilation errors when I try to include the <glibmm.h> header
under C++20.
+ There are compilation errors when I try to include the <glibmm.h> header
under C++20 and run default compiler, GCC 11.
This is reproducible in Ubuntu 21.10 (Impish Indri) or Ubuntu devel (Jammy
Jellyfish) but not in Ubuntu 21.04 (Impish Indri) or Debian unstable. And this
is effecting building of the telegram-desktop package.
- mymedia@barberry:~$ g++ -x c++ -std=gnu++20 -include glibmm.h - <<< 'int
main(){}' `pkg-config --cflags --libs glibmm-2.4` -o /dev/null
+ mymedia@barberry:~$ g++ -x c++ -std=gnu++20 -include glibmm.h - <<< 'int
main(){}' `pkg-config --cflags --libs glibmm-2.4` -o /dev/null
In file included from
/usr/include/glibmm-2.4/glibmm/containerhandle_shared.h:23,
- from /usr/include/glibmm-2.4/glibmm/arrayhandle.h:21,
- from /usr/include/glibmm-2.4/glibmm.h:92,
- from <command-line>:
+ from /usr/include/glibmm-2.4/glibmm/arrayhandle.h:21,
+ from /usr/include/glibmm-2.4/glibmm.h:92,
+ from <command-line>:
/usr/include/glibmm-2.4/glibmm/variant.h:956:24: error: expected
unqualified-id before ‘)’ token
- 956 | Variant<VariantBase>();
- | ^
+ 956 | Variant<VariantBase>();
+ | ^
/usr/include/glibmm-2.4/glibmm/variant.h:1017:25: error: expected
unqualified-id before ‘)’ token
- 1017 | Variant< Variant<T> >();
- | ^
+ 1017 | Variant< Variant<T> >();
+ | ^
/usr/include/glibmm-2.4/glibmm/variant.h:1070:26: error: expected
unqualified-id before ‘)’ token
- 1070 | Variant<Glib::ustring>();
- | ^
+ 1070 | Variant<Glib::ustring>();
+ | ^
/usr/include/glibmm-2.4/glibmm/variant.h:1240:24: error: expected
unqualified-id before ‘)’ token
- 1240 | Variant<std::string>();
- | ^
+ 1240 | Variant<std::string>();
+ | ^
/usr/include/glibmm-2.4/glibmm/variant.h:1286:30: error: expected
unqualified-id before ‘)’ token
- 1286 | Variant< std::pair<K, V> >()
- | ^
+ 1286 | Variant< std::pair<K, V> >()
+ | ^
/usr/include/glibmm-2.4/glibmm/variant.h:1335:29: error: expected
unqualified-id before ‘)’ token
- 1335 | Variant< std::vector<T> >()
- | ^
+ 1335 | Variant< std::vector<T> >()
+ | ^
/usr/include/glibmm-2.4/glibmm/variant.h:1404:41: error: expected
unqualified-id before ‘)’ token
- 1404 | Variant< std::vector<Glib::ustring> >();
- | ^
+ 1404 | Variant< std::vector<Glib::ustring> >();
+ | ^
/usr/include/glibmm-2.4/glibmm/variant.h:1530:39: error: expected
unqualified-id before ‘)’ token
- 1530 | Variant< std::vector<std::string> >();
- | ^
+ 1530 | Variant< std::vector<std::string> >();
+ | ^
/usr/include/glibmm-2.4/glibmm/variant.h:1606:29: error: expected
unqualified-id before ‘)’ token
- 1606 | Variant< std::map<K, V> >()
- | ^
+ 1606 | Variant< std::map<K, V> >()
+ | ^
/usr/include/glibmm-2.4/glibmm/variant.h:1679:33: error: expected
unqualified-id before ‘)’ token
- 1679 | Variant<std::tuple<Types...>>()
- | ^
+ 1679 | Variant<std::tuple<Types...>>()
+ | ^
In file included from /usr/include/glibmm-2.4/glibmm/variant.h:1742,
- from
/usr/include/glibmm-2.4/glibmm/containerhandle_shared.h:23,
- from /usr/include/glibmm-2.4/glibmm/arrayhandle.h:21,
- from /usr/include/glibmm-2.4/glibmm.h:92,
- from <command-line>:
+ from
/usr/include/glibmm-2.4/glibmm/containerhandle_shared.h:23,
+ from /usr/include/glibmm-2.4/glibmm/arrayhandle.h:21,
+ from /usr/include/glibmm-2.4/glibmm.h:92,
+ from <command-line>:
/usr/include/glibmm-2.4/glibmm/variant_basictypes.h:23:17: error: expected
unqualified-id before ‘)’ token
- 23 | Variant<bool>()
- | ^
+ 23 | Variant<bool>()
+ | ^
/usr/include/glibmm-2.4/glibmm/variant_basictypes.h:66:26: error: expected
unqualified-id before ‘)’ token
- 66 | Variant<unsigned char>()
- | ^
+ 66 | Variant<unsigned char>()
+ | ^
/usr/include/glibmm-2.4/glibmm/variant_basictypes.h:109:19: error: expected
unqualified-id before ‘)’ token
- 109 | Variant<gint16>()
- | ^
+ 109 | Variant<gint16>()
+ | ^
/usr/include/glibmm-2.4/glibmm/variant_basictypes.h:152:20: error: expected
unqualified-id before ‘)’ token
- 152 | Variant<guint16>()
- | ^
+ 152 | Variant<guint16>()
+ | ^
/usr/include/glibmm-2.4/glibmm/variant_basictypes.h:195:19: error: expected
unqualified-id before ‘)’ token
- 195 | Variant<gint32>()
- | ^
+ 195 | Variant<gint32>()
+ | ^
/usr/include/glibmm-2.4/glibmm/variant_basictypes.h:244:20: error: expected
unqualified-id before ‘)’ token
- 244 | Variant<guint32>()
- | ^
+ 244 | Variant<guint32>()
+ | ^
/usr/include/glibmm-2.4/glibmm/variant_basictypes.h:287:19: error: expected
unqualified-id before ‘)’ token
- 287 | Variant<gint64>()
- | ^
+ 287 | Variant<gint64>()
+ | ^
/usr/include/glibmm-2.4/glibmm/variant_basictypes.h:330:20: error: expected
unqualified-id before ‘)’ token
- 330 | Variant<guint64>()
- | ^
+ 330 | Variant<guint64>()
+ | ^
/usr/include/glibmm-2.4/glibmm/variant_basictypes.h:373:19: error: expected
unqualified-id before ‘)’ token
- 373 | Variant<double>()
- | ^
+ 373 | Variant<double>()
+ | ^
In file included from
/usr/include/glibmm-2.4/glibmm/containerhandle_shared.h:23,
- from /usr/include/glibmm-2.4/glibmm/arrayhandle.h:21,
- from /usr/include/glibmm-2.4/glibmm.h:92,
- from <command-line>:
+ from /usr/include/glibmm-2.4/glibmm/arrayhandle.h:21,
+ from /usr/include/glibmm-2.4/glibmm.h:92,
+ from <command-line>:
/usr/include/glibmm-2.4/glibmm/variant.h:1751:1: error: no declaration
matches ‘Glib::Variant<Glib::Variant<T> >::Variant()’
- 1751 | Variant< Variant<T> >::Variant()
- | ^~~~~~~~~~~~~~~~~~~~~
+ 1751 | Variant< Variant<T> >::Variant()
+ | ^~~~~~~~~~~~~~~~~~~~~
In file included from
/usr/include/glibmm-2.4/glibmm/containerhandle_shared.h:23,
- from /usr/include/glibmm-2.4/glibmm/arrayhandle.h:21,
- from /usr/include/glibmm-2.4/glibmm.h:92,
- from <command-line>:
+ from /usr/include/glibmm-2.4/glibmm/arrayhandle.h:21,
+ from /usr/include/glibmm-2.4/glibmm.h:92,
+ from <command-line>:
/usr/include/glibmm-2.4/glibmm/variant.h:1026:12: note: candidate is:
‘Glib::Variant<Glib::Variant<T> >::Variant(GVariant*, bool)’
- 1026 | explicit Variant< Variant<T> >(GVariant* castitem, bool
take_a_reference = false);
- | ^~~~~~~~~~~~~~~~~~~~~
+ 1026 | explicit Variant< Variant<T> >(GVariant* castitem, bool
take_a_reference = false);
+ | ^~~~~~~~~~~~~~~~~~~~~
/usr/include/glibmm-2.4/glibmm/variant.h:1009:7: note: ‘class
Glib::Variant<Glib::Variant<T> >’ defined here
- 1009 | class Variant< Variant<T> > : public VariantContainerBase
- | ^~~~~~~~~~~~~~~~~~~~~
+ 1009 | class Variant< Variant<T> > : public VariantContainerBase
+ | ^~~~~~~~~~~~~~~~~~~~~
+
+ [Test Plan]
+ Run the following two terminal commands in Bash:
+ 1. sudo apt-get satisfy libglibmm-2.4-dev 'build-essential | g++'
+ 2. g++ -x c++ -std=gnu++20 -include glibmm.h - <<< 'int main(){}' `pkg-config
--cflags --libs glibmm-2.4` -o /dev/null
+
+ [Where problems could occur]
+ The proposed patch only modifies C++ headers. It may affect only building
other packages from source or developer experience.
** Summary changed:
- /usr/include/glibmm-2.4/glibmm/variant.h:956:24: error: expected
unqualified-id before ‘)’ token
+ [SRU] /usr/include/glibmm-2.4/glibmm/variant.h:956:24: error: expected
unqualified-id before ‘)’ token
--
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to glibmm2.4 in Ubuntu.
https://bugs.launchpad.net/bugs/1955044
Title:
[SRU] /usr/include/glibmm-2.4/glibmm/variant.h:956:24: error: expected
unqualified-id before ‘)’ token
Status in glibmm2.4 package in Ubuntu:
New
Bug description:
There are compilation errors when I try to include the <glibmm.h> header
under C++20 and run default compiler, GCC 11.
This is reproducible in Ubuntu 21.10 (Impish Indri) or Ubuntu devel (Jammy
Jellyfish) but not in Ubuntu 21.04 (Impish Indri) or Debian unstable. And this
is effecting building of the telegram-desktop package.
mymedia@barberry:~$ g++ -x c++ -std=gnu++20 -include glibmm.h - <<< 'int
main(){}' `pkg-config --cflags --libs glibmm-2.4` -o /dev/null
In file included from
/usr/include/glibmm-2.4/glibmm/containerhandle_shared.h:23,
from /usr/include/glibmm-2.4/glibmm/arrayhandle.h:21,
from /usr/include/glibmm-2.4/glibmm.h:92,
from <command-line>:
/usr/include/glibmm-2.4/glibmm/variant.h:956:24: error: expected
unqualified-id before ‘)’ token
956 | Variant<VariantBase>();
| ^
/usr/include/glibmm-2.4/glibmm/variant.h:1017:25: error: expected
unqualified-id before ‘)’ token
1017 | Variant< Variant<T> >();
| ^
/usr/include/glibmm-2.4/glibmm/variant.h:1070:26: error: expected
unqualified-id before ‘)’ token
1070 | Variant<Glib::ustring>();
| ^
/usr/include/glibmm-2.4/glibmm/variant.h:1240:24: error: expected
unqualified-id before ‘)’ token
1240 | Variant<std::string>();
| ^
/usr/include/glibmm-2.4/glibmm/variant.h:1286:30: error: expected
unqualified-id before ‘)’ token
1286 | Variant< std::pair<K, V> >()
| ^
/usr/include/glibmm-2.4/glibmm/variant.h:1335:29: error: expected
unqualified-id before ‘)’ token
1335 | Variant< std::vector<T> >()
| ^
/usr/include/glibmm-2.4/glibmm/variant.h:1404:41: error: expected
unqualified-id before ‘)’ token
1404 | Variant< std::vector<Glib::ustring> >();
| ^
/usr/include/glibmm-2.4/glibmm/variant.h:1530:39: error: expected
unqualified-id before ‘)’ token
1530 | Variant< std::vector<std::string> >();
| ^
/usr/include/glibmm-2.4/glibmm/variant.h:1606:29: error: expected
unqualified-id before ‘)’ token
1606 | Variant< std::map<K, V> >()
| ^
/usr/include/glibmm-2.4/glibmm/variant.h:1679:33: error: expected
unqualified-id before ‘)’ token
1679 | Variant<std::tuple<Types...>>()
| ^
In file included from /usr/include/glibmm-2.4/glibmm/variant.h:1742,
from
/usr/include/glibmm-2.4/glibmm/containerhandle_shared.h:23,
from /usr/include/glibmm-2.4/glibmm/arrayhandle.h:21,
from /usr/include/glibmm-2.4/glibmm.h:92,
from <command-line>:
/usr/include/glibmm-2.4/glibmm/variant_basictypes.h:23:17: error: expected
unqualified-id before ‘)’ token
23 | Variant<bool>()
| ^
/usr/include/glibmm-2.4/glibmm/variant_basictypes.h:66:26: error: expected
unqualified-id before ‘)’ token
66 | Variant<unsigned char>()
| ^
/usr/include/glibmm-2.4/glibmm/variant_basictypes.h:109:19: error: expected
unqualified-id before ‘)’ token
109 | Variant<gint16>()
| ^
/usr/include/glibmm-2.4/glibmm/variant_basictypes.h:152:20: error: expected
unqualified-id before ‘)’ token
152 | Variant<guint16>()
| ^
/usr/include/glibmm-2.4/glibmm/variant_basictypes.h:195:19: error: expected
unqualified-id before ‘)’ token
195 | Variant<gint32>()
| ^
/usr/include/glibmm-2.4/glibmm/variant_basictypes.h:244:20: error: expected
unqualified-id before ‘)’ token
244 | Variant<guint32>()
| ^
/usr/include/glibmm-2.4/glibmm/variant_basictypes.h:287:19: error: expected
unqualified-id before ‘)’ token
287 | Variant<gint64>()
| ^
/usr/include/glibmm-2.4/glibmm/variant_basictypes.h:330:20: error: expected
unqualified-id before ‘)’ token
330 | Variant<guint64>()
| ^
/usr/include/glibmm-2.4/glibmm/variant_basictypes.h:373:19: error: expected
unqualified-id before ‘)’ token
373 | Variant<double>()
| ^
In file included from
/usr/include/glibmm-2.4/glibmm/containerhandle_shared.h:23,
from /usr/include/glibmm-2.4/glibmm/arrayhandle.h:21,
from /usr/include/glibmm-2.4/glibmm.h:92,
from <command-line>:
/usr/include/glibmm-2.4/glibmm/variant.h:1751:1: error: no declaration
matches ‘Glib::Variant<Glib::Variant<T> >::Variant()’
1751 | Variant< Variant<T> >::Variant()
| ^~~~~~~~~~~~~~~~~~~~~
In file included from
/usr/include/glibmm-2.4/glibmm/containerhandle_shared.h:23,
from /usr/include/glibmm-2.4/glibmm/arrayhandle.h:21,
from /usr/include/glibmm-2.4/glibmm.h:92,
from <command-line>:
/usr/include/glibmm-2.4/glibmm/variant.h:1026:12: note: candidate is:
‘Glib::Variant<Glib::Variant<T> >::Variant(GVariant*, bool)’
1026 | explicit Variant< Variant<T> >(GVariant* castitem, bool
take_a_reference = false);
| ^~~~~~~~~~~~~~~~~~~~~
/usr/include/glibmm-2.4/glibmm/variant.h:1009:7: note: ‘class
Glib::Variant<Glib::Variant<T> >’ defined here
1009 | class Variant< Variant<T> > : public VariantContainerBase
| ^~~~~~~~~~~~~~~~~~~~~
[Test Plan]
Run the following two terminal commands in Bash:
1. sudo apt-get satisfy libglibmm-2.4-dev 'build-essential | g++'
2. g++ -x c++ -std=gnu++20 -include glibmm.h - <<< 'int main(){}' `pkg-config
--cflags --libs glibmm-2.4` -o /dev/null
[Where problems could occur]
The proposed patch only modifies C++ headers. It may affect only building
other packages from source or developer experience.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/glibmm2.4/+bug/1955044/+subscriptions
--
Mailing list: https://launchpad.net/~desktop-packages
Post to : [email protected]
Unsubscribe : https://launchpad.net/~desktop-packages
More help : https://help.launchpad.net/ListHelp