Giter Club home page Giter Club logo

Comments (6)

ggardet avatar ggardet commented on July 3, 2024

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.

pali avatar pali commented on July 3, 2024

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.

pali avatar pali commented on July 3, 2024

[ 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.

pali avatar pali commented on July 3, 2024

@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 avatar ggardet commented on July 3, 2024

@ggardet: Could you try following patch?

It fixes the build. Thanks!

from a3700-utils-marvell.

pali avatar pali commented on July 3, 2024

@ggardet: I prepared pull request with fix, please review/test it: #23

from a3700-utils-marvell.

Related Issues (7)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.