Compilation Difficulties

11 views
Skip to first unread message

Andrew Dunn

unread,
Jun 10, 2010, 9:22:22 AM6/10/10
to DXC10
I am having some difficulties compiling the cpp portion on my linux
system, as far as I can tell the java potion can build fine from the
ant task output. For lack of a better option here is the output of my
attempts:

Script started on Thu 10 Jun 2010 09:12:52 AM EDT
storrgie@bellona:~/Dev/projects/DXC10/framework/DXC10-Linux-x86-Oracle
$ echo $DXC_HOME

/home/storrgie/Dev/projects/DXC10/framework/DXC10-Linux-x86-Oracle

storrgie@bellona:~/Dev/projects/DXC10/framework/DXC10-Linux-x86-Oracle
$ echo $JAVA_HOME

/usr/lib/jvm/java-6-openjdk/jre

storrgie@bellona:~/Dev/projects/DXC10/framework/DXC10-Linux-x86-Oracle
$ echo $JAVACC_HOME

/usr/share/java

storrgie@bellona:~/Dev/projects/DXC10/framework/DXC10-Linux-x86-Oracle
$ cmake .

-- Configuring done

-- Generating done

-- Build files have been written to: /home/storrgie/Dev/projects/DXC10/
framework/DXC10-Linux-x86-Oracle
storrgie@bellona:~/Dev/projects/DXC10/framework/DXC10-Linux-x86-Oracle
$ make install

[ 2%] [FLEX][DXC_MSG_SCANNER] Building scanner with flex 2.5.35

[ 4%] [BISON][DXC_MSG_PARSER] Building parser with bison 2.4.1

[ 6%] Building CXX object Build/APIs/cpp/CMakeFiles/dxcApi.dir/
Connection/ScenarioRecorderConnector.cpp.o

[ 8%] Building CXX object Build/APIs/cpp/CMakeFiles/dxcApi.dir/
Connection/DxcConnectorImp.cpp.o

[ 10%] Building CXX object Build/APIs/cpp/CMakeFiles/dxcApi.dir/
Connection/OracleConnector.cpp.o

[ 12%] Building CXX object Build/APIs/cpp/CMakeFiles/dxcApi.dir/
Connection/ConnectorFactory.cpp.o

[ 14%] Building CXX object Build/APIs/cpp/CMakeFiles/dxcApi.dir/
Connection/ScenarioLoaderConnector.cpp.o

[ 16%] Building CXX object Build/APIs/cpp/CMakeFiles/dxcApi.dir/
Connection/DAConnector.cpp.o

[ 18%] Building CXX object Build/APIs/cpp/CMakeFiles/dxcApi.dir/
Connection/SDSConnector.cpp.o

[ 20%] Building CXX object Build/APIs/cpp/CMakeFiles/dxcApi.dir/Parser/
tinyxmlerror.cpp.o

[ 22%] Building CXX object Build/APIs/cpp/CMakeFiles/dxcApi.dir/Parser/
tinyxml.cpp.o

[ 24%] Building CXX object Build/APIs/cpp/CMakeFiles/dxcApi.dir/Parser/
tinystr.cpp.o

[ 26%] Building CXX object Build/APIs/cpp/CMakeFiles/dxcApi.dir/Parser/
MessageDriver.cpp.o

[ 28%] Building CXX object Build/APIs/cpp/CMakeFiles/dxcApi.dir/Parser/
tinyxmlparser.cpp.o

[ 30%] Building CXX object Build/APIs/cpp/CMakeFiles/dxcApi.dir/
DxcDefs.cpp.o

[ 32%] Building CXX object Build/APIs/cpp/CMakeFiles/dxcApi.dir/
InitDll.cpp.o

[ 34%] Building CXX object Build/APIs/cpp/CMakeFiles/dxcApi.dir/
DataTypes/DiagnosisData.cpp.o

[ 36%] Building CXX object Build/APIs/cpp/CMakeFiles/dxcApi.dir/
DataTypes/FaultInjectData.cpp.o

[ 38%] Building CXX object Build/APIs/cpp/CMakeFiles/dxcApi.dir/
DataTypes/Literal.cpp.o

[ 40%] Building CXX object Build/APIs/cpp/CMakeFiles/dxcApi.dir/
DataTypes/Value.cpp.o

/home/storrgie/Dev/projects/DXC10/framework/DXC10-Linux-x86-Oracle/Src/
APIs/cpp/DataTypes/Value.cpp: In member function ‘bool
Dxc::Value::eq(const Dxc::Value*) const’:

/home/storrgie/Dev/projects/DXC10/framework/DXC10-Linux-x86-Oracle/Src/
APIs/cpp/DataTypes/Value.cpp:161: error: must #include <typeinfo>
before using typeid

/home/storrgie/Dev/projects/DXC10/framework/DXC10-Linux-x86-Oracle/Src/
APIs/cpp/DataTypes/Value.cpp:161: error: must #include <typeinfo>
before using typeid

/home/storrgie/Dev/projects/DXC10/framework/DXC10-Linux-x86-Oracle/Src/
APIs/cpp/DataTypes/Value.cpp:164: error: must #include <typeinfo>
before using typeid

/home/storrgie/Dev/projects/DXC10/framework/DXC10-Linux-x86-Oracle/Src/
APIs/cpp/DataTypes/Value.cpp:165: error: must #include <typeinfo>
before using typeid

/home/storrgie/Dev/projects/DXC10/framework/DXC10-Linux-x86-Oracle/Src/
APIs/cpp/DataTypes/Value.cpp:170: error: must #include <typeinfo>
before using typeid

/home/storrgie/Dev/projects/DXC10/framework/DXC10-Linux-x86-Oracle/Src/
APIs/cpp/DataTypes/Value.cpp:171: error: must #include <typeinfo>
before using typeid

/home/storrgie/Dev/projects/DXC10/framework/DXC10-Linux-x86-Oracle/Src/
APIs/cpp/DataTypes/Value.cpp:176: error: must #include <typeinfo>
before using typeid

/home/storrgie/Dev/projects/DXC10/framework/DXC10-Linux-x86-Oracle/Src/
APIs/cpp/DataTypes/Value.cpp:177: error: must #include <typeinfo>
before using typeid

/home/storrgie/Dev/projects/DXC10/framework/DXC10-Linux-x86-Oracle/Src/
APIs/cpp/DataTypes/Value.cpp:182: error: must #include <typeinfo>
before using typeid

/home/storrgie/Dev/projects/DXC10/framework/DXC10-Linux-x86-Oracle/Src/
APIs/cpp/DataTypes/Value.cpp:182: error: must #include <typeinfo>
before using typeid

make[2]: *** [Build/APIs/cpp/CMakeFiles/dxcApi.dir/DataTypes/
Value.cpp.o] Error 1

make[1]: *** [Build/APIs/cpp/CMakeFiles/dxcApi.dir/all] Error 2

make: *** [all] Error 2

storrgie@bellona:~/Dev/projects/DXC10/framework/DXC10-Linux-x86-Oracle
$ exit

exit


Script done on Thu 10 Jun 2010 09:13:49 AM EDT

David Garcia

unread,
Jun 10, 2010, 1:32:57 PM6/10/10
to DXC10
There seem to be some missing headers in the release, just add these
lines:

#include <typeinfo> in DataTypes/Value.cpp
#include <cstdlib> in ScenarioLoader/LinuxExeLoader.cpp
#include <cstdlib> in ScerarioLoader/LinuxMemProfiler/
LinuxMemProfiler.cpp

You may also need to add #include <DxcDatatypes.hpp> to
MessageParser.hpp generated by bison.

These issues will be fixed in the following release, most likely next
week.

David G

Andrew Dunn

unread,
Jun 11, 2010, 8:21:11 AM6/11/10
to DXC10
> #include <typeinfo> in DataTypes/Value.cpp
> #include <cstdlib> in ScenarioLoader/LinuxExeLoader.cpp
> #include <cstdlib> in ScerarioLoader/LinuxMemProfiler/LinuxMemProfiler.cpp

These modifications get me this far:
[ 42%] Building CXX object Build/APIs/cpp/CMakeFiles/dxcApi.dir/
DataTypes/SystemCatalog.cpp.o
[ 44%] Building CXX object Build/APIs/cpp/CMakeFiles/dxcApi.dir/
DataTypes/ScenarioData.cpp.o
[ 46%] Building CXX object Build/APIs/cpp/CMakeFiles/dxcApi.dir/
DataTypes/Candidate.cpp.o
[ 48%] Building CXX object Build/APIs/cpp/CMakeFiles/dxcApi.dir/
DataTypes/CommandData.cpp.o

Then there is some more errors on the CommandData.cpp:

[ 48%] Building CXX object Build/APIs/cpp/CMakeFiles/dxcApi.dir/
DataTypes/CommandData.cpp.o
In file included from /home/storrgie/Dev/projects/DXC10/framework/
DXC10-Linux-x86-Oracle/Src/APIs/cpp/DataTypes/CommandData.cpp:19:
/home/storrgie/Dev/projects/DXC10/framework/DXC10-Linux-x86-Oracle/Src/
APIs/cpp/Parser/MessageParser.ypp:46: error: ISO C++ forbids
declaration of ‘Literal’ with no type
/home/storrgie/Dev/projects/DXC10/framework/DXC10-Linux-x86-Oracle/Src/
APIs/cpp/Parser/MessageParser.ypp:46: error: expected ‘;’ before ‘*’
token
/home/storrgie/Dev/projects/DXC10/framework/DXC10-Linux-x86-Oracle/Src/
APIs/cpp/Parser/MessageParser.ypp:48: error: ISO C++ forbids
declaration of ‘vector’ with no type
/home/storrgie/Dev/projects/DXC10/framework/DXC10-Linux-x86-Oracle/Src/
APIs/cpp/Parser/MessageParser.ypp:48: error: invalid use of ‘::’
/home/storrgie/Dev/projects/DXC10/framework/DXC10-Linux-x86-Oracle/Src/
APIs/cpp/Parser/MessageParser.ypp:48: error: expected ‘;’ before ‘<’
token
/home/storrgie/Dev/projects/DXC10/framework/DXC10-Linux-x86-Oracle/Src/
APIs/cpp/Parser/MessageParser.ypp:49: error: ISO C++ forbids
declaration of ‘DiagnosisData’ with no type
/home/storrgie/Dev/projects/DXC10/framework/DXC10-Linux-x86-Oracle/Src/
APIs/cpp/Parser/MessageParser.ypp:49: error: expected ‘;’ before ‘*’
token
/home/storrgie/Dev/projects/DXC10/framework/DXC10-Linux-x86-Oracle/Src/
APIs/cpp/Parser/MessageParser.ypp:50: error: ISO C++ forbids
declaration of ‘FaultInjectData’ with no type
/home/storrgie/Dev/projects/DXC10/framework/DXC10-Linux-x86-Oracle/Src/
APIs/cpp/Parser/MessageParser.ypp:50: error: expected ‘;’ before ‘*’
token
/home/storrgie/Dev/projects/DXC10/framework/DXC10-Linux-x86-Oracle/Src/
APIs/cpp/Parser/MessageParser.ypp:52: error: ISO C++ forbids
declaration of ‘SensorData’ with no type
/home/storrgie/Dev/projects/DXC10/framework/DXC10-Linux-x86-Oracle/Src/
APIs/cpp/Parser/MessageParser.ypp:52: error: expected ‘;’ before ‘*’
token
/home/storrgie/Dev/projects/DXC10/framework/DXC10-Linux-x86-Oracle/Src/
APIs/cpp/Parser/MessageParser.ypp:53: error: ISO C++ forbids
declaration of ‘ScenarioStatusData’ with no type
/home/storrgie/Dev/projects/DXC10/framework/DXC10-Linux-x86-Oracle/Src/
APIs/cpp/Parser/MessageParser.ypp:53: error: expected ‘;’ before ‘*’
token
/home/storrgie/Dev/projects/DXC10/framework/DXC10-Linux-x86-Oracle/Src/
APIs/cpp/Parser/MessageParser.ypp:54: error: ISO C++ forbids
declaration of ‘ScenarioData’ with no type
/home/storrgie/Dev/projects/DXC10/framework/DXC10-Linux-x86-Oracle/Src/
APIs/cpp/Parser/MessageParser.ypp:54: error: expected ‘;’ before ‘*’
token
/home/storrgie/Dev/projects/DXC10/framework/DXC10-Linux-x86-Oracle/Src/
APIs/cpp/Parser/MessageParser.ypp:55: error: ISO C++ forbids
declaration of ‘ErrorData’ with no type
/home/storrgie/Dev/projects/DXC10/framework/DXC10-Linux-x86-Oracle/Src/
APIs/cpp/Parser/MessageParser.ypp:55: error: expected ‘;’ before ‘*’
token
/home/storrgie/Dev/projects/DXC10/framework/DXC10-Linux-x86-Oracle/Src/
APIs/cpp/Parser/MessageParser.ypp:56: error: ISO C++ forbids
declaration of ‘ProfilingData’ with no type
/home/storrgie/Dev/projects/DXC10/framework/DXC10-Linux-x86-Oracle/Src/
APIs/cpp/Parser/MessageParser.ypp:56: error: expected ‘;’ before ‘*’
token
/home/storrgie/Dev/projects/DXC10/framework/DXC10-Linux-x86-Oracle/Src/
APIs/cpp/Parser/MessageParser.ypp:57: error: ISO C++ forbids
declaration of ‘RecoveryData’ with no type
/home/storrgie/Dev/projects/DXC10/framework/DXC10-Linux-x86-Oracle/Src/
APIs/cpp/Parser/MessageParser.ypp:57: error: expected ‘;’ before ‘*’
token
/home/storrgie/Dev/projects/DXC10/framework/DXC10-Linux-x86-Oracle/Src/
APIs/cpp/Parser/MessageParser.ypp:59: error: ISO C++ forbids
declaration of ‘Fault’ with no type
/home/storrgie/Dev/projects/DXC10/framework/DXC10-Linux-x86-Oracle/Src/
APIs/cpp/Parser/MessageParser.ypp:59: error: expected ‘;’ before ‘*’
token
/home/storrgie/Dev/projects/DXC10/framework/DXC10-Linux-x86-Oracle/Src/
APIs/cpp/Parser/MessageParser.ypp:60: error: ISO C++ forbids
declaration of ‘FaultSet’ with no type
/home/storrgie/Dev/projects/DXC10/framework/DXC10-Linux-x86-Oracle/Src/
APIs/cpp/Parser/MessageParser.ypp:60: error: expected ‘;’ before ‘*’
token
/home/storrgie/Dev/projects/DXC10/framework/DXC10-Linux-x86-Oracle/Src/
APIs/cpp/Parser/MessageParser.ypp:63: error: ISO C++ forbids
declaration of ‘CandidateSet’ with no type
/home/storrgie/Dev/projects/DXC10/framework/DXC10-Linux-x86-Oracle/Src/
APIs/cpp/Parser/MessageParser.ypp:63: error: expected ‘;’ before ‘*’
token
/home/storrgie/Dev/projects/DXC10/framework/DXC10-Linux-x86-Oracle/Src/
APIs/cpp/Parser/MessageParser.ypp:64: error: ISO C++ forbids
declaration of ‘Candidate’ with no type
/home/storrgie/Dev/projects/DXC10/framework/DXC10-Linux-x86-Oracle/Src/
APIs/cpp/Parser/MessageParser.ypp:64: error: expected ‘;’ before ‘*’
token
/home/storrgie/Dev/projects/DXC10/framework/DXC10-Linux-x86-Oracle/Src/
APIs/cpp/Parser/MessageParser.ypp:65: error: ‘Fault’ has not been
declared
/home/storrgie/Dev/projects/DXC10/framework/DXC10-Linux-x86-Oracle/Src/
APIs/cpp/Parser/MessageParser.ypp:65: error: ISO C++ forbids
declaration of ‘ParameterMap’ with no type
/home/storrgie/Dev/projects/DXC10/framework/DXC10-Linux-x86-Oracle/Src/
APIs/cpp/Parser/MessageParser.ypp:66: error: expected ‘;’ before ‘*’
token
/home/storrgie/Dev/projects/DXC10/framework/DXC10-Linux-x86-Oracle/Src/
APIs/cpp/Parser/MessageParser.ypp:67: error: ISO C++ forbids
declaration of ‘vector’ with no type
/home/storrgie/Dev/projects/DXC10/framework/DXC10-Linux-x86-Oracle/Src/
APIs/cpp/Parser/MessageParser.ypp:67: error: invalid use of ‘::’
/home/storrgie/Dev/projects/DXC10/framework/DXC10-Linux-x86-Oracle/Src/
APIs/cpp/Parser/MessageParser.ypp:67: error: expected ‘;’ before ‘<’
token
make[2]: *** [Build/APIs/cpp/CMakeFiles/dxcApi.dir/DataTypes/
CommandData.cpp.o] Error 1
make[1]: *** [Build/APIs/cpp/CMakeFiles/dxcApi.dir/all] Error 2
make: *** [all] Error 2

This was after I included <DxcDatatypes.hpp> in the ypp file prior to
install:

MessageParser.ypp:
%{
#include <stdio.h>
#include <string>
#include <vector>
#include <map>
#include <set>
#include <DxcDataTypes.hpp>

There is another place I could do an include... but I'm not sure
exactly what I am fiddling with here.

I noticed that CommandData.cpp had these namespace declarations in
this order:

using namespace Dxc;
using namespace std;

Does it matter?

David Garcia

unread,
Jun 11, 2010, 9:58:46 AM6/11/10
to DXC10
Try replacing the first 14 lines of MessageParser.ypp with this:

--------------- begin
%code requires {
#include <stdio.h>
#include <string>
#include <vector>
#include <map>
#include <set>

#include <DxcDataTypes.hpp>

#ifdef _WIN32
#pragma warning (disable:4065)
#pragma warning (disable:4800)
#endif
}
--------------- end

That is, add "code requires" after the initial "%" and remove the "%"
before the closing bracket. Let me know if this doesn't work..

David G
> ...
>
> read more »- Hide quoted text -
>
> - Show quoted text -
Reply all
Reply to author
Forward
0 new messages