@@ -43,6 +43,7 @@ import (
4343 "github.com/AliceO2Group/Control/core/task"
4444 "github.com/AliceO2Group/Control/core/task/constraint"
4545 "github.com/AliceO2Group/Control/executor/protos"
46+ "github.com/gogo/protobuf/proto"
4647 "github.com/mesos/mesos-go/api/v1/lib"
4748 "github.com/mesos/mesos-go/api/v1/lib/backoff"
4849 xmetrics "github.com/mesos/mesos-go/api/v1/lib/extras/metrics"
@@ -606,6 +607,19 @@ func resourceOffers(state *internalState, fidStore store.Singleton) events.Handl
606607 Data : jsonCommand , // this ends up in LAUNCH for the executor
607608 }
608609
610+ // We must run the executor with a special LD_LIBRARY_PATH because
611+ // its InfoLogger binding is built with GCC-Toolchain
612+ ldLibPath , ok := agentForCache .Attributes .Get ("executor_env_LD_LIBRARY_PATH" )
613+ mesosTaskInfo .Executor .Command .Environment = & mesos.Environment {}
614+ if ok {
615+ mesosTaskInfo .Executor .Command .Environment .Variables =
616+ append (mesosTaskInfo .Executor .Command .Environment .Variables ,
617+ mesos.Environment_Variable {
618+ Name : "LD_LIBRARY_PATH" ,
619+ Value : proto .String (ldLibPath ),
620+ })
621+ }
622+
609623 log .WithPrefix ("scheduler" ).
610624 WithFields (logrus.Fields {
611625 "taskId" : newTaskId ,
0 commit comments