Skip to content

[BUG]: Unable to locate executable file: 'iotedgedev' #21403

@NielsPointFWD

Description

@NielsPointFWD

New issue checklist

Task name

AzureIoTEdge

Task version

2

Issue Description

This issue has been reported before in #15905 and #16072. It seems to be a Microsoft hosted agent related issue, as changing the vmImage to windows-latest does work. It does not work for Ubuntu 22.04 and -latest (24.04). For our use case I can not use the windows-latest hosted agent.

pool:
  vmImage: windows-latest

Environment type (Please select at least one enviroment where you face this issue)

  • Self-Hosted
  • Microsoft Hosted
  • VMSS Pool
  • Container

Azure DevOps Server type

dev.azure.com (formerly visualstudio.com)

Azure DevOps Server Version (if applicable)

No response

Operation system

Ubuntu-latest

Relevant log output

2025-10-24T08:15:49.1082204Z ##[section]Starting: AzureIoTEdge
2025-10-24T08:15:49.1088339Z ==============================================================================
2025-10-24T08:15:49.1088493Z Task         : Azure IoT Edge
2025-10-24T08:15:49.1088560Z Description  : Build and deploy an Azure IoT Edge image
2025-10-24T08:15:49.1088634Z Version      : 2.262.0
2025-10-24T08:15:49.1088688Z Author       : Microsoft Corporation
2025-10-24T08:15:49.1088752Z Help         : https://docs.microsoft.com/azure/devops/pipelines/tasks/build/azure-iot-edge
2025-10-24T08:15:49.1088834Z ==============================================================================
2025-10-24T08:15:49.4813093Z Building module images...
2025-10-24T08:15:49.4865092Z /home/vsts/work/1/s/guided-divest-inference-solution /home/vsts/work/1/s
2025-10-24T08:16:02.9271364Z ##[error]Error: Unable to locate executable file: 'iotedgedev'. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also check the file mode to verify the file is executable.
2025-10-24T08:16:03.0925719Z ##[section]Finishing: AzureIoTEdge

Full task logs with system.debug enabled

 
##[debug]   install
##[debug]   iotedgedev==3.3.3
##[debug]   iotedgedev==3.3.3
##[debug]
##[debug]ERROR: Ignored the following versions that require a different python version: 2.1.1 Requires-Python >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, <3.8; 2.1.2 Requires-Python >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, <3.8; 2.1.3 Requires-Python >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, <3.8; 2.1.4 Requires-Python >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, <3.8; 2.1.5 Requires-Python >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, <3.8; 2.1.6 Requires-Python >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, <3.8; 3.0.0 Requires-Python >=3.6, <3.8; 3.0.0rc0 Requires-Python >=3.6, <3.8; 3.1.0 Requires-Python >=3.6, <3.8; 3.1.0rc1 Requires-Python >=3.6, <3.8; 3.1.1 Requires-Python >=3.6, <3.8; 3.1.1rc0 Requires-Python >=3.6, <3.8; 3.1.2 Requires-Python >=3.6, <3.8; 3.1.2rc0 Requires-Python >=3.6, <3.8; 3.2.0 Requires-Python >=3.6, <3.8; 3.2.0rc1 Requires-Python >=3.6, <3.8; 3.2.1rc0 Requires-Python >=3.6, <3.8; 3.3.0 Requires-Python >=3.6, <3.8; 3.3.0rc0 Requires-Python >=3.6, <3.8; 3.3.1 Requires-Python >=3.6, <3.8; 3.3.1rc0 Requires-Python >=3.6, <3.8; 3.3.2 Requires-Python >=3.6, <3.8; 3.3.3 Requires-Python >=3.6, <3.10; 3.3.3rc0 Requires-Python >=3.6, <3.10; 3.3.4 Requires-Python >=3.6, <3.10; 3.3.4-win32-ia32 Requires-Python >=3.6, <3.10; 3.3.5 Requires-Python >=3.6, <3.10; 3.3.5-win32-ia32 Requires-Python >=3.6, <3.10; 3.3.6 Requires-Python >=3.6, <3.10; 3.3.6-win32-ia32 Requires-Python >=3.6, <3.10; 3.3.7 Requires-Python >=3.6, <3.10; 3.3.7-win32-ia32 Requires-Python >=3.6, <3.10
ERROR: Could not find a version that satisfies the requirement iotedgedev==3.3.3 (from versions: 0.79.0, 0.80.0, 0.81.0, 0.82.0, 1.0.0, 1.1.0, 1.2.0, 1.3.0, 2.0.0, 2.0.1, 2.0.2, 2.1.0)
ERROR: No matching distribution found for iotedgedev==3.3.3

##[debug]which 'iotedgedev'
##[debug]not found
##[debug]task result: Failed
##[error]Error: Unable to locate executable file: 'iotedgedev'. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also check the file mode to verify the file is executable.
##[debug]Processed: ##vso[task.issue type=error;source=TaskInternal;correlationId=911f8ff8-5fe2-4339-9fd1-01bbae6ada73;]Error: Unable to locate executable file: 'iotedgedev'. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also check the file mode to verify the file is executable.
##[debug]Processed: ##vso[task.complete result=Failed;]Error: Unable to locate executable file: 'iotedgedev'. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also check the file mode to verify the file is executable.
##[debug]Agent.Version=4.261.0
##[debug]SYSTEM_TASKINSTANCEID=7bb1d1c3-94c2-5992-5211-c8d1c6fbf203
##[debug]SYSTEM_JOBID=12f1170f-54f2-53f3-20dd-22fc7dff55f9
##[debug]SYSTEM_PLANID=abb267a6-75b1-4fa6-a1f7-a7875b117d1b
##[debug]SYSTEM_COLLECTIONID=7ea0c570-97b0-4b11-8c2e-02e146755cb9
##[debug]AGENT_ID=8
##[debug]AGENT_MACHINENAME=runnervmkjshe
##[debug]AGENT_NAME=Hosted Agent
##[debug]AGENT_JOBSTATUS=Succeeded
##[debug]AGENT_OS=Linux
##[debug]AGENT_VERSION=4.261.0
##[debug]BUILD_BUILDID=15
##[debug]BUILD_BUILDNUMBER=20251024.1
##[debug]BUILD_BUILDURI=vstfs:///Build/Build/15
##[debug]BUILD_CONTAINERID=1613594
##[debug]BUILD_DEFINITIONNAME=guided-divest-iot-edge (4)
##[debug]BUILD_DEFINITIONVERSION=1
##[debug]BUILD_REASON=IndividualCI
##[debug]BUILD_REPOSITORY_CLEAN=False
##[debug]BUILD_REPOSITORY_GIT_SUBMODULECHECKOUT=False
##[debug]BUILD_REPOSITORY_NAME=guided-divest-iot-edge
##[debug]BUILD_REPOSITORY_PROVIDER=TfsGit
##[debug]BUILD_SOURCEVERSION=7a7f865ae581355af9aa8cd1c89acc65337a45b9
##[debug]Processed: ##vso[telemetry.publish area=TaskEndpointId;feature=AzureIoTEdgeV2]{"SYSTEM_TASKINSTANCEID":"7bb1d1c3-94c2-5992-5211-c8d1c6fbf203","SYSTEM_JOBID":"12f1170f-54f2-53f3-20dd-22fc7dff55f9","SYSTEM_PLANID":"abb267a6-75b1-4fa6-a1f7-a7875b117d1b","SYSTEM_COLLECTIONID":"7ea0c570-97b0-4b11-8c2e-02e146755cb9","AGENT_ID":"8","AGENT_MACHINENAME":"runnervmkjshe","AGENT_NAME":"Hosted Agent","AGENT_JOBSTATUS":"Succeeded","AGENT_OS":"Linux","AGENT_VERSION":"4.261.0","BUILD_BUILDID":"15","BUILD_BUILDNUMBER":"20251024.1","BUILD_BUILDURI":"vstfs:///Build/Build/15","BUILD_CONTAINERID":"1613594","BUILD_DEFINITIONNAME":"guided-divest-iot-edge (4)","BUILD_DEFINITIONVERSION":"1","BUILD_REASON":"IndividualCI","BUILD_REPOSITORY_CLEAN":"False","BUILD_REPOSITORY_GIT_SUBMODULECHECKOUT":"False","BUILD_REPOSITORY_NAME":"guided-divest-iot-edge","BUILD_REPOSITORY_PROVIDER":"TfsGit","BUILD_SOURCEVERSION":"7a7f865ae581355af9aa8cd1c89acc65337a45b9","hashTeamProjectId":"6e90bc20bbe63953fd37dbab5d6c979f6ac4000d69c2a59159f7c126d4b10be4","taskType":"Build module images","osType":"Linux","buildId":"15","isSuccess":false,"taskTime":18.311,"serverType":"Hosted","fixedCliExtInstalled":null,"error":{}}
Finishing: AzureIoTEdge

Repro steps

trigger:
- master

variables:
  system.debug: true
pool:
  vmImage: ubuntu-latest

steps:
- task: AzureIoTEdge@2
  inputs:
    action: 'Build module images'
    templateFilePath: 'REDACTED/deployment.template.json'
    defaultPlatform: 'arm64v8'


- task: AzureIoTEdge@2
  inputs:
    action: 'Push module images'
    containerregistrytype: 'Azure Container Registry'
    azureSubscriptionEndpoint: 'REDACTED'
    azureContainerRegistry: '{"loginServer":".REDACTED"}'
    templateFilePath: 'REDACTED/deployment.template.json'
    defaultPlatform: 'arm64v8'
    fillRegistryCredential: 'true'

- task: CopyFiles@2
  inputs:
    SourceFolder: '$(agent.builddirectory)'
    Contents: |
      deployment.template.json
      modules/**/module.json
    TargetFolder: '$(Build.ArtifactStagingDirectory)'

- task: PublishBuildArtifacts@1
  inputs:
    PathtoPublish: '$(Build.ArtifactStagingDirectory)'
    ArtifactName: 'REDACTED'
    publishLocation: 'Container'

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions