2017-08-27 5 views
0

Ich bin neu in StarCluster-Software und ich versuche derzeit, mein erstes komplexes Programm in einem 3-Knoten-Cluster zu kompilieren.Kompilierung von C++ - Programm im Starcluster-Fehler

Ich folgte den Anweisungen der Cluster-Erstellung, legte die Dateien in den Ordner sgeadmin und versuchte zu kompilieren. Die folgende Fehlermeldung erscheint:

[email protected]:~$ make 
Building file: MyApp.cpp 
Invoking: GCC C++ Compiler 
mpiCC -std=c++0x -O3 -Wall -c -fmessage-length=0 -MMD -MP -MF"MyApp.d" -MT"MyApp.d" -o "MyApp.o" "MyApp.cpp" 
In file included from /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/mpicxx.h:201:0, 
       from /usr/lib/openmpi/include/mpi.h:1886, 
       from SAXPopulation.hpp:19, 
       from MyApp.hpp:15, 
       from MyApp.cpp:8: 
/usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/constants.h:94:37: error: expected unqualified-id before numeric constant 
/usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/constants.h:96:37: error: expected unqualified-id before numeric constant 
make: *** [MyApp.o] Error 1 

Es scheint wie ein Problem in mpi.h, aber Starcluster soll alles für Sie installieren ... Ich habe nur versucht, Lösungen zu finden, hatte aber keinen Erfolg bei der Suche ein antwort ... Hat jemand jemals diesen Fehler erreicht?

Dank im Voraus,

Bernardo

EDIT MyApp.cpp ersten 8 Zeilen

//============================================================================ 
// Name  : MyApp.cpp 
// Author  : **** 
// Version  : 
// Copyright : Your copyright notice 
//============================================================================ 

#include "MyApp.hpp" 
#include <mpi.h> 

(mpi.h ist Zeile 9)

MYAP .hpp erste 15 Zeilen

/* 
* MyApp.h 
* 
* Created on: ***** 
*  Author: **** 
*/ 

#ifndef MYAPP_H_ 
#define MYAPP_H_ 

#include <stdio.h> 
#include <string.h> 
#include <fstream> 
#include <dirent.h> 
#include "SAXPopulation.hpp" 

SAXPopulation.hpp ersten 18 Zeilen

/* 
* SAXPopulation.hpp 
* 
* Created on: **** 
*  Author: *** 
*/ 

#ifndef SAXPOPULATION_HPP_ 
#define SAXPOPULATION_HPP_ 

#include <stdio.h> 
#include <string> 
#include <stdlib.h> 
#include <vector> 
#include "MersenneTwister.h" 
#include "SAXChromo.hpp" 
#include <algorithm> 
#include "Stock.hpp" 
#include <mpi.h> 

(letzte Zeile ist 19)

+0

Und Sie‘ Sicher, es gibt kein Problem mit * deiner * Quelle? Keine fehlenden Semikola oder irgendetwas anderes in Ihrer Quelle? Wie sehen Ihre 'MyApp.cpp' Datei bis einschließlich Zeile 8 aus? Was ist mit 'MyApp.hpp' vor und einschließlich Zeile 15? 'SAXPopulation.hpp' vor und einschließlich Zeile 19? –

+0

Hallo! danke für die Antwort! Gerade hinzugefügt die Informationen, die Sie gefragt haben – Bernardo

Antwort

0

Versuchen, diese zu der Kompilierung Zeile:

-DOMPI_SKIP_MPICXX 
+0

Danke! Das hat den Trick beim Kompilieren gemacht! Es wurden jedoch einige Warnungen angezeigt, die ich beim Testen im lokalen Cluster (mehrere VMs) nicht erhalten habe. Sobald ich überprüft habe, dass es keine Nebenwirkungen in der Zusammenstellung gab, werde ich deine Antwort überprüfen. Vielen Dank! – Bernardo