bugGNU TeXmacs - Bugs: bug #66737, TeXmacs fails to build with gcc 15

 
 

You are not allowed to post comments on this tracker with your current authentication level.

bug #66737: TeXmacs fails to build with gcc 15

Submitter:  Orion Poplawski <opoplawski>
Submitted:  Thu 30 Jan 2025 02:58:38 AM UTC
   
 
Category:  Compilation Priority:  5 - Normal
Item Group:  Error Status:  In Progress
Privacy:  Public Assigned to:  lizabelos
Originator Name:  Open/Closed:  Open
Release:  None Release:  2.1.4
Fixed Release:  None Fixed Release: 
Keywords: 

Jump to the original submission

Wed 05 Feb 2025 02:59:51 PM UTC, comment #7: 

GCC 15 is expected to be released in April or May 2025.

https://gcc.gnu.org/pipermail/gcc/2025-January/245377.html

I think we should wait until the stable version is released.

Liza Belos <lizabelos>
Group Member
Sat 01 Feb 2025 02:52:08 AM UTC, comment #6: 

This is not fixed.  The patch I submitted only cleaned up some warnings.  I still get the error.  I don't think this is directly about C++ standards - I get the same error with --std=gnu11.

I think gcc has improved on its ability to figure out when templated classes reference undefined.  A similar error came up in VTKm.

Orion Poplawski <opoplawski>
Fri 31 Jan 2025 01:20:09 PM UTC, comment #5: 

Fixed in r14615.

Grégoire Lecerf <lecerf>
Group Member
Thu 30 Jan 2025 03:06:09 PM UTC, comment #4: 

Oh, sorry. I mistakenly mixed the two problems. It is not clear for me, that there is a problem. TeXmacs is not written in C++20, but in an older version of the language (actually I believe it is  C++98). As long as compilers supports all the various versions, I do not see it as a problem. There has never been a discussion about upgrading TeXmacs with more recent C++ features (e.g. closures). I'm not sure we want to. C++ is already a very large language, and as far as I see, this is a problem. By sticking to a more or less well defined subset, we can minimise the maintenance problems.

On the side, I believed that the flag `-std=gnu++11 ` would to it. But apparently not.

Massimiliano Gubinelli <mgubi>
Group administrator
Thu 30 Jan 2025 02:51:06 PM UTC, comment #3: 

Not that pull #109 is not a fix for this - it fixes some other warnings.

It's certainly possible to reduce the C++ standard level and that is probably what we will do for the moment.  But I figured I would report it so it could get addressed at some point.

Orion Poplawski <opoplawski>
Thu 30 Jan 2025 09:58:43 AM UTC, comment #2: 

There is a discussion of a fix here: https://github.com/texmacs/texmacs/pull/109

Massimiliano Gubinelli <mgubi>
Group administrator
Thu 30 Jan 2025 09:57:30 AM UTC, comment #1: 

Can we add a flag to restrict C++ to 03 or 11?

Massimiliano Gubinelli <mgubi>
Group administrator
Thu 30 Jan 2025 02:58:38 AM UTC, original submission:  

cd /home/orion/fedora/TeXmacs/TeXmacs-2.1.4-build/TeXmacs/redhat-linux-build/src && ccache /usr/lib64/ccache/g++ -DQTTEXMACS -I/home/orion/fedora/TeXmacs/TeXmacs-2.1.4-build/TeXmacs/redhat-linux-build/src -I/home/orion/fedora/TeXmacs/TeXmacs-2.1.4-build/TeXmacs/src -I/home/orion/fedora/TeXmacs/TeXmacs-2.1.4-build/TeXmacs/redhat-linux-build/src/texmacs_body_autogen/include -I/home/orion/fedora/TeXmacs/TeXmacs-2.1.4-build/TeXmacs/src/Data/Convert -I/home/orion/fedora/TeXmacs/TeXmacs-2.1.4-build/TeXmacs/src/Data/Document -I/home/orion/fedora/TeXmacs/TeXmacs-2.1.4-build/TeXmacs/src/Data/Drd -I/home/orion/fedora/TeXmacs/TeXmacs-2.1.4-build/TeXmacs/src/Data/History -I/home/orion/fedora/TeXmacs/TeXmacs-2.1.4-build/TeXmacs/src/Data/Observers -I/home/orion/fedora/TeXmacs/TeXmacs-2.1.4-build/TeXmacs/src/Data/Parser -I/home/orion/fedora/TeXmacs/TeXmacs-2.1.4-build/TeXmacs/src/Data/String -I/home/orion/fedora/TeXmacs/TeXmacs-2.1.4-build/TeXmacs/src/Data/Tree -I/home/orion/fedora/TeXmacs/TeXmacs-2.1.4-build/TeXmacs/src/Edit -I/home/orion/fedora/TeXmacs/TeXmacs-2.1.4-build/TeXmacs/src/Edit/Editor -I/home/orion/fedora/TeXmacs/TeXmacs-2.1.4-build/TeXmacs/src/Edit/Interface -I/home/orion/fedora/TeXmacs/TeXmacs-2.1.4-build/TeXmacs/src/Edit/Modify -I/home/orion/fedora/TeXmacs/TeXmacs-2.1.4-build/TeXmacs/src/Edit/Process -I/home/orion/fedora/TeXmacs/TeXmacs-2.1.4-build/TeXmacs/src/Edit/Replace -I/home/orion/fedora/TeXmacs/TeXmacs-2.1.4-build/TeXmacs/src/Graphics/Bitmap_fonts -I/home/orion/fedora/TeXmacs/TeXmacs-2.1.4-build/TeXmacs/src/Graphics/Colors -I/home/orion/fedora/TeXmacs/TeXmacs-2.1.4-build/TeXmacs/src/Graphics/Fonts -I/home/orion/fedora/TeXmacs/TeXmacs-2.1.4-build/TeXmacs/src/Graphics/Gui -I/home/orion/fedora/TeXmacs/TeXmacs-2.1.4-build/TeXmacs/src/Graphics/Handwriting -I/home/orion/fedora/TeXmacs/TeXmacs-2.1.4-build/TeXmacs/src/Graphics/Mathematics -I/home/orion/fedora/TeXmacs/TeXmacs-2.1.4-build/TeXmacs/src/Graphics/Pictures -I/home/orion/fedora/TeXmacs/TeXmacs-2.1.4-build/TeXmacs/src/Graphics/Renderer -I/home/orion/fedora/TeXmacs/TeXmacs-2.1.4-build/TeXmacs/src/Graphics/Spacial -I/home/orion/fedora/TeXmacs/TeXmacs-2.1.4-build/TeXmacs/src/Graphics/Types -I/home/orion/fedora/TeXmacs/TeXmacs-2.1.4-build/TeXmacs/src/Kernel/Abstractions -I/home/orion/fedora/TeXmacs/TeXmacs-2.1.4-build/TeXmacs/src/Kernel/Containers -I/home/orion/fedora/TeXmacs/TeXmacs-2.1.4-build/TeXmacs/src/Kernel/Types -I/home/orion/fedora/TeXmacs/TeXmacs-2.1.4-build/TeXmacs/src/Plugins -I/home/orion/fedora/TeXmacs/TeXmacs-2.1.4-build/TeXmacs/src/Plugins/Pdf/LibAesgm -I/home/orion/fedora/TeXmacs/TeXmacs-2.1.4-build/TeXmacs/src/Scheme -I/home/orion/fedora/TeXmacs/TeXmacs-2.1.4-build/TeXmacs/src/Scheme/Guile -I/home/orion/fedora/TeXmacs/TeXmacs-2.1.4-build/TeXmacs/src/Scheme/Scheme -I/home/orion/fedora/TeXmacs/TeXmacs-2.1.4-build/TeXmacs/src/Style/Environment -I/home/orion/fedora/TeXmacs/TeXmacs-2.1.4-build/TeXmacs/src/Style/Evaluate -I/home/orion/fedora/TeXmacs/TeXmacs-2.1.4-build/TeXmacs/src/Style/Memorizer -I/home/orion/fedora/TeXmacs/TeXmacs-2.1.4-build/TeXmacs/src/System -I/home/orion/fedora/TeXmacs/TeXmacs-2.1.4-build/TeXmacs/src/System/Boot -I/home/orion/fedora/TeXmacs/TeXmacs-2.1.4-build/TeXmacs/src/System/Classes -I/home/orion/fedora/TeXmacs/TeXmacs-2.1.4-build/TeXmacs/src/System/Files -I/home/orion/fedora/TeXmacs/TeXmacs-2.1.4-build/TeXmacs/src/System/Language -I/home/orion/fedora/TeXmacs/TeXmacs-2.1.4-build/TeXmacs/src/System/Link -I/home/orion/fedora/TeXmacs/TeXmacs-2.1.4-build/TeXmacs/src/System/Misc -I/home/orion/fedora/TeXmacs/TeXmacs-2.1.4-build/TeXmacs/src/Texmacs -I/home/orion/fedora/TeXmacs/TeXmacs-2.1.4-build/TeXmacs/src/Texmacs/Data -I/home/orion/fedora/TeXmacs/TeXmacs-2.1.4-build/TeXmacs/src/Typeset -I/home/orion/fedora/TeXmacs/TeXmacs-2.1.4-build/TeXmacs/src/Typeset/Bridge -I/home/orion/fedora/TeXmacs/TeXmacs-2.1.4-build/TeXmacs/src/Typeset/Concat -I/home/orion/fedora/TeXmacs/TeXmacs-2.1.4-build/TeXmacs/src/Typeset/Page -I/home/orion/fedora/TeXmacs/TeXmacs-2.1.4-build/TeXmacs/TeXmacs/include -I/home/orion/fedora/TeXmacs/TeXmacs-2.1.4-build/TeXmacs/redhat-linux-build/src/System -I/usr/include/freetype2 -I/usr/include/qt5 -I/usr/include/qt5/QtCore -I/usr/lib64/qt5/mkspecs/linux-g++ -I/usr/include/qt5/QtGui -I/usr/include/qt5/QtWidgets -I/usr/include/qt5/QtPrintSupport -I/usr/include/qt5/QtSvg -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -include /home/orion/fedora/TeXmacs/TeXmacs-2.1.4-build/TeXmacs/redhat-linux-build/src/System/config.h -g -std=gnu++11 -fPIC -MD -MT src/CMakeFiles/texmacs_body.dir/Data/Convert/Coq/parse_vernac.cpp.o -MF CMakeFiles/texmacs_body.dir/Data/Convert/Coq/parse_vernac.cpp.o.d -o CMakeFiles/texmacs_body.dir/Data/Convert/Coq/parse_vernac.cpp.o -c /home/orion/fedora/TeXmacs/TeXmacs-2.1.4-build/TeXmacs/src/Data/Convert/Coq/parse_vernac.cpp
In file included from /home/orion/fedora/TeXmacs/TeXmacs-2.1.4-build/TeXmacs/src/Kernel/Containers/hashtree.hpp:126,
                 from /home/orion/fedora/TeXmacs/TeXmacs-2.1.4-build/TeXmacs/src/Data/String/converter.hpp:15,
                 from /home/orion/fedora/TeXmacs/TeXmacs-2.1.4-build/TeXmacs/src/Data/Convert/Coq/parse_vernac.cpp:16:
/home/orion/fedora/TeXmacs/TeXmacs-2.1.4-build/TeXmacs/src/Kernel/Containers/hashtree.cpp: In member function ‘hashtree<K, V> hashtree<K, V>::operator[](K)’:
/home/orion/fedora/TeXmacs/TeXmacs-2.1.4-build/TeXmacs/src/Kernel/Containers/hashtree.cpp:97:14: error: ‘class hashtree<K, V>’ has no member named ‘contains’ [-Wtemplate-body]
   97 |   if (*this->contains (key)) return *this->children (key);
      |              ^~~~~~~~
/home/orion/fedora/TeXmacs/TeXmacs-2.1.4-build/TeXmacs/src/Kernel/Containers/hashtree.cpp:97:44: error: ‘class hashtree<K, V>’ has no member named ‘children’ [-Wtemplate-body]
   97 |   if (*this->contains (key)) return *this->children (key);
      |                                            ^~~~~~~~
gmake[2]: * [src/CMakeFiles/texmacs_body.dir/build.make:130: src/CMakeFiles/texmacs_body.dir/Data/Convert/Coq/parse_vernac.cpp.o] Error 1
gmake[2]: * Waiting for unfinished jobs....

This looks to be a C++20 change

Orion Poplawski <opoplawski>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by lecerf (Posted a comment)
  • -email is unavailable- added by mgubi (Posted a comment)
  • -email is unavailable- added by lizabelos (Updated the item)
  • -email is unavailable- added by opoplawski (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

     

    Follow 6 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2025-02-01 lecerf StatusFixed In Progress
        Open/ClosedClosed Open
    2025-01-31 lecerf Open/ClosedOpen Closed
    2025-01-31 lecerf StatusIn Progress Fixed
    2025-01-30 lizabelos StatusNone In Progress
        Assigned toNone lizabelos

    Back to the top

    Powered by Savane 3.14-7003.
    Corresponding source code