Hello Mirko,

Thanks.

I think it is failing because of this code in sumo\utils\common\StringUtils.h

#include <xercesc/util/XMLString.hpp>     // line 29

// line 143:

    /**@brief converts a 0-terminated XMLCh* array (usually UTF-16, stemming 
from Xerces) into std::string in UTF-8
     * @throw an EmptyData - exception if the given pointer is 0
     */
    static inline std::string transcode(const XMLCh* const data) {
        return transcode(data, 
(int)XERCES_CPP_NAMESPACE::XMLString::stringLen(data));
    }

Our code has
      #include "microsim/MSVehicle.h"
-->
      #include "MSGlobals.h"
-->
      #include <utils/common/SUMOTime.h>
-->
      #include "UtilExceptions.h"
-->
      #include "Translation.h"
-->
      #include "StringUtils.h"

So a very complex path for xerces to leak into the TraCI API 🙂

________________________________
From: Mirko Barthauer <[email protected]>
Sent: 04 January 2024 15:22
To: Sumo project User discussions <[email protected]>
Cc: Matthew Jones <[email protected]>
Subject: AW: [sumo-user] TraCI API xercesc dependency


---- THIS EMAIL HAS COME FROM AN EXTERNAL SOURCE ----



Hi Matthew,



currently we have xerces-c-3.2.4 in our SUMO library repo at 
https://github.com/DLR-TS/SUMOLibraries/tree/main/xerces-c-3.2.4 and use that 
for compiling the current SUMO version. In general, xerces is used in SUMO 
since very long ago, way before release 1.8.0. Not sure why this becomes a 
problem for you at this point though...



Best regards

Mirko







-----Original-Nachricht-----

Betreff: [sumo-user] TraCI API xercesc dependency

Datum: 2024-01-04T16:01:17+0100

Von: "Matthew Jones via sumo-user" <[email protected]>

An: "[email protected]" <[email protected]>







Hello,

Our simulation talks to Sumo using TraCI.
At the moment we are simply cloning 
https://github.com/eclipse/sumo.git/tags/v1_8_0/src to get the TraC API.
We are not using libsumo, but have these source files in our Windows project:
    <ClCompile Include="sumo\foreign\tcpip\socket.cpp" />
    <ClCompile Include="sumo\foreign\tcpip\storage.cpp" />
    <ClCompile Include="sumo\utils\traci\TraCIAPI.cpp" />

I have just tried updating to 1.19.0 but this has brought in a dependency on 
xercesc.
Which specific version of xercesc should I be using with SUMO v1.19.0 ?
I have tried the latest but it doesn't compile straight away - it seems to need 
autoconf to run. I don't want to install xercesc - I am not going to be using 
it - I just want the SUMO headers. Is there a simple way to make things work 
the same way v1.8.0 used to? This needs to build on Jenkins machines so we 
don't want to have to install dependencies by hand.

At what version did the xerces dependency get added? We might have to use the 
one before.

Thank you,


Matthew Jones
Senior Software Engineer
rFpro Limited

E: [email protected]
W:  www.rFpro.com<http://www.rFpro.com>

This email and any files transmitted with it are confidential and intended 
solely for the use of the individual or entity to whom they are addressed. If 
you have received this email in error please notify the system sender. This 
message may contain confidential information and is intended only for the 
individual named. If you are not the named addressee you should not 
disseminate, distribute or copy this e-mail.



This email and any files transmitted with it are confidential and intended 
solely for the use of the individual or entity to whom they are addressed. If 
you have received this email in error please notify the system sender. This 
message may contain confidential information and is intended only for the 
individual named. If you are not the named addressee you should not 
disseminate, distribute or copy this e-mail.
_______________________________________________
sumo-user mailing list
[email protected]
To unsubscribe from this list, visit 
https://www.eclipse.org/mailman/listinfo/sumo-user

Reply via email to