Comments (6)
If I replace if (pImage > 0
with if (pImage != 0
, it goes further, but then fails with:
[ 316s] g++ -Wno-deprecated -D LINUX=1 -D TOOLS_GUI=0 -D IPPV6=1 -D TRUSTED=1 -D DEV_DEBUG=0 -I common -I inc -o WtpException.o -c src/WtpException.cpp
[ 318s] In file included from inc/WtpDownloadApp.h:99,
[ 318s] from src/Misc.cpp:101:
[ 318s] inc/ProtocolManager.h:120:27: error: ISO C++17 does not allow dynamic exception specifications
[ 318s] 120 | void PublicKey () throw(CWtpException);
[ 318s] | ^~~~~
[ 318s] inc/ProtocolManager.h:121:26: error: ISO C++17 does not allow dynamic exception specifications
[ 318s] 121 | void Password () throw(CWtpException);
[ 318s] | ^~~~~
[ 318s] inc/ProtocolManager.h:122:32: error: ISO C++17 does not allow dynamic exception specifications
[ 318s] 122 | void SignedPassword () throw(CWtpException);
[ 318s] | ^~~~~
[ 318s] inc/ProtocolManager.h:123:27: error: ISO C++17 does not allow dynamic exception specifications
[ 318s] 123 | void UploadData() throw(CWtpException);
[ 318s] | ^~~~~
[ 318s] inc/ProtocolManager.h:124:71: error: ISO C++17 does not allow dynamic exception specifications
[ 318s] 124 | void UploadDataHeader (UPLOAD_DATA_PARAMS* pUploadDataParams) throw (CWtpException);
[ 318s] | ^~~~~
[ 318s] inc/ProtocolManager.h:162:30: error: ISO C++17 does not allow dynamic exception specifications
[ 318s] 162 | void SendPreamble () throw(CWtpException);
[ 318s] | ^~~~~
[ 318s] inc/ProtocolManager.h:163:28: error: ISO C++17 does not allow dynamic exception specifications
[ 318s] 163 | void GetVersion () throw(CWtpException);
[ 318s] | ^~~~~
[ 318s] inc/ProtocolManager.h:165:53: error: ISO C++17 does not allow dynamic exception specifications
[ 318s] 165 | void SelectImage (unsigned int *pImageType) throw(CWtpException);
[ 318s] | ^~~~~
[ 318s] inc/ProtocolManager.h:166:52: error: ISO C++17 does not allow dynamic exception specifications
[ 318s] 166 | void VerifyImage (unsigned char AckOrNack) throw(CWtpException);
[ 318s] | ^~~~~
[ 318s] inc/ProtocolManager.h:167:56: error: ISO C++17 does not allow dynamic exception specifications
[ 318s] 167 | void DataHeader (unsigned int uiRemainingData) throw(CWtpException);
[ 318s] | ^~~~~
[ 318s] inc/ProtocolManager.h:168:53: error: ISO C++17 does not allow dynamic exception specifications
[ 318s] 168 | void Data (unsigned char *pData,int Length) throw(CWtpException);
[ 318s] | ^~~~~
[ 318s] inc/ProtocolManager.h:173:22: error: ISO C++17 does not allow dynamic exception specifications
[ 318s] 173 | void Done () throw(CWtpException);
[ 318s] | ^~~~~
[ 318s] inc/ProtocolManager.h:174:28: error: ISO C++17 does not allow dynamic exception specifications
[ 318s] 174 | void Disconnect () throw(CWtpException);
[ 318s] | ^~~~~
[ 318s] inc/ProtocolManager.h:175:30: error: ISO C++17 does not allow dynamic exception specifications
[ 318s] 175 | void JtagReEnable () throw(CWtpException);
[ 318s] | ^~~~~
[ 318s] inc/ProtocolManager.h:177:22: error: ISO C++17 does not allow dynamic exception specifications
[ 318s] 177 | void GetPC() throw (CWtpException);
[ 318s] | ^~~~~
[ 318s] inc/ProtocolManager.h:179:41: error: ISO C++17 does not allow dynamic exception specifications
[ 318s] 179 | void GetTargetProtocolVersion() throw(CWtpException);
[ 318s] | ^~~~~
[ 318s] inc/ProtocolManager.h:180:30: error: ISO C++17 does not allow dynamic exception specifications
[ 318s] 180 | void GetParameters() throw(CWtpException);
[ 318s] | ^~~~~
[ 318s] inc/ProtocolManager.h:181:26: error: ISO C++17 does not allow dynamic exception specifications
[ 318s] 181 | void DoUploads() throw(CWtpException);
[ 318s] | ^~~~~
[ 318s] inc/ProtocolManager.h:183:36: error: ISO C++17 does not allow dynamic exception specifications
[ 318s] 183 | void ParseUploadSpecFile() throw(CWtpException);
[ 318s] | ^~~~~
[ 318s] inc/ProtocolManager.h:185:29: error: ISO C++17 does not allow dynamic exception specifications
[ 318s] 185 | void readFromPipe() throw(CWtpException);
[ 318s] | ^~~~~
[ 318s] In file included from src/Misc.cpp:101:
[ 318s] inc/WtpDownloadApp.h:222:46: error: ISO C++17 does not allow dynamic exception specifications
[ 318s] 222 | void RequestImageType(CWtpImage*& Image) throw (CWtpException);
[ 318s] | ^~~~~
[ 318s] inc/WtpDownloadApp.h:223:40: error: ISO C++17 does not allow dynamic exception specifications
[ 318s] 223 | void DownloadImages(int numImages) throw (CWtpException);
[ 318s] | ^~~~~
[ 318s] inc/WtpDownloadApp.h:225:23: error: ISO C++17 does not allow dynamic exception specifications
[ 318s] 225 | void Upload() throw (CWtpException);
[ 318s] | ^~~~~
[ 318s] inc/WtpDownloadApp.h:226:22: error: ISO C++17 does not allow dynamic exception specifications
[ 318s] 226 | void GetPC() throw (CWtpException);
[ 318s] | ^~~~~
[ 318s] In file included from src/Misc.cpp:102:
[ 318s] inc/CommandlineParser.h:106:54: error: ISO C++17 does not allow dynamic exception specifications
[ 318s] 106 | unsigned int FileGetImageID(string fileName) throw(CWtpException);
[ 318s] | ^~~~~
[ 318s] inc/CommandlineParser.h:201:44: error: ISO C++17 does not allow dynamic exception specifications
[ 318s] 201 | void Parse(int argc, char* argv[]) throw(CWtpException);
[ 318s] | ^~~~~
[ 318s] inc/CommandlineParser.h:202:66: error: ISO C++17 does not allow dynamic exception specifications
[ 318s] 202 | void ParseJtagEnablerCommandLine(int argc, char* argv[]) throw (CWtpException);
[ 318s] | ^~~~~
[ 318s] inc/CommandlineParser.h:205:64: error: ISO C++17 does not allow dynamic exception specifications
[ 318s] 205 | void InsufficientParameters(unsigned char eCmdLineOpt) throw(CWtpException);
[ 318s] | ^~~~~
[ 318s] inc/CommandlineParser.h:208:62: error: ISO C++17 does not allow dynamic exception specifications
[ 318s] 208 | void AddImageToList(char* FileName, unsigned int ID) throw (CWtpException);
[ 318s] | ^~~~~
[ 318s] inc/CommandlineParser.h:209:33: error: ISO C++17 does not allow dynamic exception specifications
[ 318s] 209 | void CheckYourOptions() throw(CWtpException);
[ 318s] | ^~~~~
[ 319s] In file included from inc/WtpDownloadApp.h:99,
[ 319s] from src/WtpException.cpp:98:
[ 319s] inc/ProtocolManager.h:120:27: error: ISO C++17 does not allow dynamic exception specifications
[ 319s] 120 | void PublicKey () throw(CWtpException);
[ 319s] | ^~~~~
[ 319s] inc/ProtocolManager.h:121:26: error: ISO C++17 does not allow dynamic exception specifications
[ 319s] 121 | void Password () throw(CWtpException);
[ 319s] | ^~~~~
[ 319s] inc/ProtocolManager.h:122:32: error: ISO C++17 does not allow dynamic exception specifications
[ 319s] 122 | void SignedPassword () throw(CWtpException);
[ 319s] | ^~~~~
[ 319s] inc/ProtocolManager.h:123:27: error: ISO C++17 does not allow dynamic exception specifications
[ 319s] 123 | void UploadData() throw(CWtpException);
[ 319s] | ^~~~~
[ 319s] inc/ProtocolManager.h:124:71: error: ISO C++17 does not allow dynamic exception specifications
[ 319s] 124 | void UploadDataHeader (UPLOAD_DATA_PARAMS* pUploadDataParams) throw (CWtpException);
[ 319s] | ^~~~~
[ 319s] inc/ProtocolManager.h:162:30: error: ISO C++17 does not allow dynamic exception specifications
[ 319s] 162 | void SendPreamble () throw(CWtpException);
[ 319s] | ^~~~~
[ 319s] inc/ProtocolManager.h:163:28: error: ISO C++17 does not allow dynamic exception specifications
[ 319s] 163 | void GetVersion () throw(CWtpException);
[ 319s] | ^~~~~
[ 319s] inc/ProtocolManager.h:165:53: error: ISO C++17 does not allow dynamic exception specifications
[ 319s] 165 | void SelectImage (unsigned int *pImageType) throw(CWtpException);
[ 319s] | ^~~~~
[ 319s] inc/ProtocolManager.h:166:52: error: ISO C++17 does not allow dynamic exception specifications
[ 319s] 166 | void VerifyImage (unsigned char AckOrNack) throw(CWtpException);
[ 319s] | ^~~~~
[ 319s] inc/ProtocolManager.h:167:56: error: ISO C++17 does not allow dynamic exception specifications
[ 319s] 167 | void DataHeader (unsigned int uiRemainingData) throw(CWtpException);
[ 319s] | ^~~~~
[ 319s] inc/ProtocolManager.h:168:53: error: ISO C++17 does not allow dynamic exception specifications
[ 319s] 168 | void Data (unsigned char *pData,int Length) throw(CWtpException);
[ 319s] | ^~~~~
[ 319s] inc/ProtocolManager.h:173:22: error: ISO C++17 does not allow dynamic exception specifications
[ 319s] 173 | void Done () throw(CWtpException);
[ 319s] | ^~~~~
[ 319s] inc/ProtocolManager.h:174:28: error: ISO C++17 does not allow dynamic exception specifications
[ 319s] 174 | void Disconnect () throw(CWtpException);
[ 319s] | ^~~~~
[ 319s] inc/ProtocolManager.h:175:30: error: ISO C++17 does not allow dynamic exception specifications
[ 319s] 175 | void JtagReEnable () throw(CWtpException);
[ 319s] | ^~~~~
[ 319s] inc/ProtocolManager.h:177:22: error: ISO C++17 does not allow dynamic exception specifications
[ 319s] 177 | void GetPC() throw (CWtpException);
[ 319s] | ^~~~~
[ 319s] inc/ProtocolManager.h:179:41: error: ISO C++17 does not allow dynamic exception specifications
[ 319s] 179 | void GetTargetProtocolVersion() throw(CWtpException);
[ 319s] | ^~~~~
[ 319s] inc/ProtocolManager.h:180:30: error: ISO C++17 does not allow dynamic exception specifications
[ 319s] 180 | void GetParameters() throw(CWtpException);
[ 319s] | ^~~~~
[ 319s] inc/ProtocolManager.h:181:26: error: ISO C++17 does not allow dynamic exception specifications
[ 319s] 181 | void DoUploads() throw(CWtpException);
[ 319s] | ^~~~~
[ 319s] inc/ProtocolManager.h:183:36: error: ISO C++17 does not allow dynamic exception specifications
[ 319s] 183 | void ParseUploadSpecFile() throw(CWtpException);
[ 319s] | ^~~~~
[ 319s] inc/ProtocolManager.h:185:29: error: ISO C++17 does not allow dynamic exception specifications
[ 319s] 185 | void readFromPipe() throw(CWtpException);
[ 319s] | ^~~~~
[ 319s] In file included from src/WtpException.cpp:98:
[ 319s] inc/WtpDownloadApp.h:222:46: error: ISO C++17 does not allow dynamic exception specifications
[ 319s] 222 | void RequestImageType(CWtpImage*& Image) throw (CWtpException);
[ 319s] | ^~~~~
[ 319s] inc/WtpDownloadApp.h:223:40: error: ISO C++17 does not allow dynamic exception specifications
[ 319s] 223 | void DownloadImages(int numImages) throw (CWtpException);
[ 319s] | ^~~~~
[ 319s] inc/WtpDownloadApp.h:225:23: error: ISO C++17 does not allow dynamic exception specifications
[ 319s] 225 | void Upload() throw (CWtpException);
[ 319s] | ^~~~~
[ 319s] inc/WtpDownloadApp.h:226:22: error: ISO C++17 does not allow dynamic exception specifications
[ 319s] 226 | void GetPC() throw (CWtpException);
[ 319s] | ^~~~~
[ 319s] make: *** [makefile.mk:34: Misc.o] Error 1
[ 319s] make: *** Waiting for unfinished jobs....
[ 319s] make: *** [makefile.mk:28: WtpException.o] Error 1
[ 319s] make: Leaving directory '/home/abuild/rpmbuild/BUILD/trusted-firmware-a-2.5/A3700-utils-marvell-18.12/wtptp/src/Wtpdownloader_Linux'
from a3700-utils-marvell.
C++ language is not backward compatible and looks like this code was written for C++98/C++11 dialect, not for C++17. Therefore you have to compile it with C++98/C++11 compiler instead of C++17 compiler, like you are trying.
from a3700-utils-marvell.
[ 319s] make: Leaving directory '/home/abuild/rpmbuild/BUILD/trusted-firmware-a-2.5/A3700-utils-marvell-18.12/wtptp/src/Wtpdownloader_Linux'
You are trying to build old version A3700-utils-marvell-18.12. Build up-to-date version from git master branch.
from a3700-utils-marvell.
@ggardet: Could you try following patch?
diff --git a/wtptp/src/TBB_Linux/src/TimDescriptorParser.cpp b/wtptp/src/TBB_Linux/src/TimDescriptorParser.cpp
index 294c17b4e4fb..cba1362ad89e 100644
--- a/wtptp/src/TBB_Linux/src/TimDescriptorParser.cpp
+++ b/wtptp/src/TBB_Linux/src/TimDescriptorParser.cpp
@@ -2682,7 +2682,7 @@ bool CTimDescriptorParser::ParseExtendedReservedData(
}
if (m_TimDescriptor.ImagesList().size() > 0) {
CImageDescription* pImage = (*(m_TimDescriptor.ImagesList().begin()));
- if (pImage > 0
+ if (pImage != 0
&& ((Translate(pImage->ImageIdTag()) & TYPEMASK)
== (TIMIDENTIFIER & TYPEMASK))) {
if (pImage->ImageSizeToHash() == pImage->ImageSize())
diff --git a/wtptp/src/Wtpdownloader_Linux/makefile.mk b/wtptp/src/Wtpdownloader_Linux/makefile.mk
index 4597b79202be..6c39406b57f3 100644
--- a/wtptp/src/Wtpdownloader_Linux/makefile.mk
+++ b/wtptp/src/Wtpdownloader_Linux/makefile.mk
@@ -11,7 +11,7 @@ IPP_STATIC_LIB_DIR = $(IPP_PATH)/lib
OBJECTS = WtpStatus.o WtpCommand.o Misc.o WtpException.o WtpImage.o Port.o ProtocolManager.o USBPortLinux.o UARTPortLinux.o TimParser.o CommandlineParser.o TimLib.o WtpDownloadApp.o \
-CXXFLAGS = -Wno-deprecated -D LINUX=1 -D TOOLS_GUI=0 -D IPPV6=1 -D TRUSTED=1 -D DEV_DEBUG=0 -I $(COMMON_SRC)
+CXXFLAGS = -std=c++11 -Wno-deprecated -D LINUX=1 -D TOOLS_GUI=0 -D IPPV6=1 -D TRUSTED=1 -D DEV_DEBUG=0 -I $(COMMON_SRC)
WTP_CXXFLAGS = $(CXXFLAGS) -I $(WTP_INCLUDE)
from a3700-utils-marvell.
@ggardet: Could you try following patch?
It fixes the build. Thanks!
from a3700-utils-marvell.
@ggardet: I prepared pull request with fix, please review/test it: #23
from a3700-utils-marvell.
Related Issues (7)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from a3700-utils-marvell.