Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
Home » U++ TheIDE » U++ TheIDE: Installation, Compiling and Running of theide » Can't compile U++ on most Linux distributions (Last U++ snapshots can't compile on Redhat 7, CentOS 7, openSUSE Leap 42.2, OpenSUSE 13.2)
Can't compile U++ on most Linux distributions [message #47240] Fri, 30 December 2016 19:25 Go to next message
amrein is currently offline  amrein
Messages: 278
Registered: August 2008
Location: France
Experienced Member
Hi

I have the same compilation errors on several Linux distribution : CentOS 7, Redhat 7, openSUSE Leap 42.2, OpenSUSE 13.2.
All related to Sort() templates from Sort.h.
Is it compiler related? Any tips?

[  244s] c++ -c -x c++ -O3 -ffunction-sections -fdata-sections  -std=c++11 -I. -pthread -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include -I/usr/include/pango-1.0 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libdrm -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include  -DflagGUI -DflagMT -DflagGCC -DflagSHARED -DflagLINUX -DflagPOSIX -DflagMAIN  ide/BaseDlg.cpp -o /home/abuild/rpmbuild/BUILD/upp-x11-src-10607M/out/ide//home/cxl/Scripts/GCCMK.bm-Gcc-Gui-Linux-Main-Mt-Posix-Shared/BaseDlg.o
[  248s] In file included from ./Core/Core.h:329:0,
[  248s]                  from ./Esc/Esc.h:4,
[  248s]                  from ./ide/Core/Core.h:4,
[  248s]                  from ./ide/Common/Common.h:4,
[  248s]                  from ide/ide.h:4,
[  248s]                  from ide/BaseDlg.cpp:1:
[  248s] ./Core/Map.hpp: In member function 'void Upp::Index<T>::Sweep()':
[  248s] ./Core/Map.hpp:268:8: error: call of overloaded 'Sort(Upp::Vector<int>&)' is ambiguous
[  248s]   Sort(b);
[  248s]         ^
[  248s] ./Core/Map.hpp:268:8: note: candidates are:
[  248s] In file included from ./Core/Core.h:269:0,
[  248s]                  from ./Esc/Esc.h:4,
[  248s]                  from ./ide/Core/Core.h:4,
[  248s]                  from ./ide/Common/Common.h:4,
[  248s]                  from ide/ide.h:4,
[  248s]                  from ide/BaseDlg.cpp:1:
[  248s] ./Core/Sort.h:119:6: note: void Upp::Sort(Range&) [with Range = Upp::Vector<int>]
[  248s]  void Sort(Range& c)

[  248s]       ^
[  248s] ./Core/Sort.h:125:6: note: void Upp::Sort(Range&&) [with Range = Upp::Vector<int>&]
[  248s]  void Sort(Range&& c) { Sort(c); }

[  248s]       ^
[  248s] In file included from ./Core/Core.h:329:0,
[  248s]                  from ./Esc/Esc.h:4,
[  248s]                  from ./ide/Core/Core.h:4,
[  248s]                  from ./ide/Common/Common.h:4,
[  248s]                  from ide/ide.h:4,
[  248s]                  from ide/BaseDlg.cpp:1:
[  248s] ./Core/Map.hpp: In member function 'void Upp::AMap<K, T, V>::Sweep()':
[  248s] ./Core/Map.hpp:590:8: error: call of overloaded 'Sort(Upp::Vector<int>&)' is ambiguous
[  248s]   Sort(b);
[  248s]         ^
[  248s] ./Core/Map.hpp:590:8: note: candidates are:
[  248s] In file included from ./Core/Core.h:269:0,
[  248s]                  from ./Esc/Esc.h:4,
[  248s]                  from ./ide/Core/Core.h:4,
[  248s]                  from ./ide/Common/Common.h:4,
[  248s]                  from ide/ide.h:4,
[  248s]                  from ide/BaseDlg.cpp:1:
[  248s] ./Core/Sort.h:119:6: note: void Upp::Sort(Range&) [with Range = Upp::Vector<int>]
[  248s]  void Sort(Range& c)

[  248s]       ^
[  248s] ./Core/Sort.h:125:6: note: void Upp::Sort(Range&&) [with Range = Upp::Vector<int>&]
[  248s]  void Sort(Range&& c) { Sort(c); }

[  248s]       ^
[  250s] Makefile:614: recipe for target '/home/abuild/rpmbuild/BUILD/upp-x11-src-10607M/out/ide//home/cxl/Scripts/GCCMK.bm-Gcc-Gui-Linux-Main-Mt-Posix-Shared/BaseDlg.o' failed
[  250s] make: *** [/home/abuild/rpmbuild/BUILD/upp-x11-src-10607M/out/ide//home/cxl/Scripts/GCCMK.bm-Gcc-Gui-Linux-Main-Mt-Posix-Shared/BaseDlg.o] Error 1
[  250s] make: Leaving directory '/home/abuild/rpmbuild/BUILD/upp-x11-src-10607M/uppsrc'
[  250s] error: Bad exit status
Re: Can't compile U++ on most Linux distributions [message #47246 is a reply to message #47240] Sun, 01 January 2017 15:31 Go to previous messageGo to next message
Klugier is currently offline  Klugier
Messages: 1075
Registered: September 2012
Location: Poland, Kraków
Senior Contributor
Hello,

I created ticket for this - I am sure that this is critical issues and should be definitely solved before release.

Redmine ticket with urgent priority - http://www.ultimatepp.org/redmine/issues/1594.

Sincerely,
Klugier


U++ - one framework to rule them all.
Re: Can't compile U++ on most Linux distributions [message #47250 is a reply to message #47246] Sun, 01 January 2017 20:10 Go to previous messageGo to next message
amrein is currently offline  amrein
Messages: 278
Registered: August 2008
Location: France
Experienced Member
Thank you. I will keep an eye on it.
Re: Can't compile U++ on most Linux distributions [message #47251 is a reply to message #47250] Sun, 01 January 2017 20:40 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
What is

g++ --version

?

Mirek
Re: Can't compile U++ on most Linux distributions [message #47252 is a reply to message #47251] Sun, 01 January 2017 21:29 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
Quote:

In Red Hat Enterprise Linux 7, the gcc toolchain is based on the gcc-4.8.x release series


That explains it. GCC has C++11 bugs till 5.1.0.

I am really unsure how to address this. I would have to remove the whole important feature from U++ (Ranges).

Maybe provide alternative makefile for clang?

Mirek
Re: Can't compile U++ on most Linux distributions [message #47259 is a reply to message #47252] Sun, 01 January 2017 23:11 Go to previous messageGo to next message
amrein is currently offline  amrein
Messages: 278
Registered: August 2008
Location: France
Experienced Member
I was able to build upp on "openSUSE Leap 42.2" with clang++ and on Fedora with g++. Perhaps OpenMandriva will be ok with clang++ too but OpenMandriva is not mainstream anymore.

Apparently, all other rpm based distributions use old gcc 4.8.x versions. Fedora is the only one with gcc version 6.x.

Most of them, like Redhat 7 or Centos 7, don't even provide clang++. So you must enable external repositories like this to get clang++:
http:// www.itechlounge.net/2015/06/linux-how-to-install-clang-on-ce ntos-7/

Note: I found gcc versions on http://distrowatch.com/

Conclusion: if this c++11 issue can't be resolved easily, should we really go back to an old state or move on and expect Linux distributions to catch up?

[Updated on: Tue, 03 January 2017 10:14]

Report message to a moderator

Re: Can't compile U++ on most Linux distributions [message #47262 is a reply to message #47259] Mon, 02 January 2017 09:10 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
For C++0x, there is still the 'previous release'... (and 'classic' repository).
Re: Can't compile U++ on most Linux distributions [message #47463 is a reply to message #47246] Thu, 19 January 2017 10:52 Go to previous messageGo to next message
amrein is currently offline  amrein
Messages: 278
Registered: August 2008
Location: France
Experienced Member
Do you know how to login into U++ redmine server? I couldn't found a way to create an account there.
I would like to close http://www.ultimatepp.org/redmine/issues/1594
Re: Can't compile U++ on most Linux distributions [message #47466 is a reply to message #47463] Thu, 19 January 2017 12:05 Go to previous messageGo to next message
Klugier is currently offline  Klugier
Messages: 1075
Registered: September 2012
Location: Poland, Kraków
Senior Contributor
Hello,

Redmine account can be only created by Mirek. Please send him PM that you want Redmine acoount. In the future, we should speed up this process by creating special forum thread where forum user can request such account.

The issue is created by me, so I can close it. But, I think it would be better for the whole community that you will manage that issue, because you are mainly responsible for it.

The redmine process looks like this:
- One person reports the issue
- Issue can be assign or unassign.
- Assign person can use flag "In progress" to indicate that he works on that issue.
- When assign developer resolve issue then he reassign the issue to original reported with "Read to QU" flag.
- The reporter can close the issue as "Resolved" or reopen it to developer with flag "In progress". The person who reopen the issue must give a reason why he do that.

Sincerely,
Klugier


U++ - one framework to rule them all.
Re: Can't compile U++ on most Linux distributions [message #47467 is a reply to message #47466] Thu, 19 January 2017 12:51 Go to previous message
amrein is currently offline  amrein
Messages: 278
Registered: August 2008
Location: France
Experienced Member
Get it. Thank.
Previous Topic: [fatal error:] on Centos 7
Next Topic: svn 11066 fails to compile, also 11062
Goto Forum:
  


Current Time: Thu Mar 28 20:58:06 CET 2024

Total time taken to generate the page: 0.01534 seconds