Skip to content

Need to set old C++ standard on recent Debian platforms. #1

Description

@charles-plessy

Hello,

When compiling SlideSort on a recent Debian (9.1/Stretch) that uses GCC 6.3.0, I get the following error:

mstree.cpp:228:11: error: no match for ‘operator==’ (operand types are ‘std::ofstream {aka std::basic_ofstream<char>}’ and ‘long int’)
   if(dFile==NULL){
           ^

As a quick workaround, I could bypass it by using GCC's option -std=c++98 as follows:

diff --git a/SS_v2/Makefile.gcc b/SS_v2/Makefile.gcc
index 3bb22d6..b1b8546 100644
--- a/SS_v2/Makefile.gcc
+++ b/SS_v2/Makefile.gcc
@@ -10,7 +10,7 @@ objs = blockutil.o pssExecutor.o parallelslidesort.o pmscls.o box.o seq.o comlin
 CXX = g++
 AR = ar
 
-CFLAGS =  -O3 -fPIC -fopenmp
+CFLAGS =  -O3 -fPIC -fopenmp -std=c++98
 
 .SUFFIXES: .cpp .o
 
diff --git a/mst_v2/Makefile.gcc b/mst_v2/Makefile.gcc
index d38f34d..882a6d8 100644
--- a/mst_v2/Makefile.gcc
+++ b/mst_v2/Makefile.gcc
@@ -7,7 +7,7 @@ objs = tree.o mstree.o blockutil.o pssExecutor.o parallelslidesort.o box.o seq.o
 CXX = g++
 AR = ar
 
-CFLAGS = -O3 -fPIC -Wall -L./ -I./ -fopenmp
+CFLAGS = -O3 -fPIC -Wall -L./ -I./ -fopenmp -std=c++98
 
 .SUFFIXES: .cpp .o
 

Have a nice day,

--
Charles Plessy, RIKEN Yokohama, Japan.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions