You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe what happened:
On MacOS, installing go install github.com/datadog/orchestrion@latest and then go mod vendor putting to orchestrion to vendor/github.com/DataDog instead of vendor/github.com/datadog, because others packets in dependency installs as github.com/DataDog/...
If orchestrion is on the same system where it was installed, everything is working, but when moving between systems (developer working on MacOS, but compiling app on Ubuntu with Jenkins), there are problems with linking.
$ go install github.com/DataDog/orchestrion@latest
go: github.com/DataDog/orchestrion@latest: version constraints conflict:
github.com/DataDog/[email protected]: parsing go.mod:
module declares its path as: github.com/datadog/orchestrion
but was required as: github.com/DataDog/orchestrion
Describe what you expected:
Consistent path naming between DataDog modules:
go install github.com/DataDog/orchestrion@latest
Steps to reproduce the issue:
Run command on case-insensitive filesystem
$ go install github.com/datadog/orchestrion@latest
$ go mod vendor
Push code to case-sensitive filesystem, try to run orchestrion go .... Then run go mod vendor and then look at file structure at vendor/github.com
Additional environment details (Version of Go, Operating System, etc.):
Go 1.22.6
MacOS Sequoia 15.0, APFS filesystem (not case-sensitive or encrypted)
Ubuntu 20.04.6 LTS, ext4 filesystem
The text was updated successfully, but these errors were encountered:
This does feel like an issue where go mod vendor does not behave the way it should... I would have expected the vendoring directory for those DataDog entries to be !data!dog directories. In fact, there is an open issue on the golang/go repository (golang/go#38342) about this, but it has been open for a long while and sounds like there is a lot of debate on how to fix this without breaking GOPATH support.
TL;DR - It sounds like the best course of action would be to rename the root import path to use the more common captialized version; although I'm not extremely fond of making that breaking change (changing all other DataDog modules to use datadog would be practically intractible).
Case-conflicting import paths cause issues when using `go mod vendor` as
the layout on case-sensitive file systems is different from that on
case-insensitive file system. This is a long-known issue with the Go
toolchain, however fixing this is non-trivial and could have undesirable
consequences.
Since the capitalized form of `DataDog` (sic) is most common today,
renaming the `orchestrion` module is the most pragramtic solution today.
Caused-By golang/go#38342Fixes#287
Case-conflicting import paths cause issues when using `go mod vendor` as
the layout on case-sensitive file systems is different from that on
case-insensitive file system. This is a long-known issue with the Go
toolchain, however fixing this is non-trivial and could have undesirable
consequences.
Since the capitalized form of `DataDog` (sic) is most common today,
renaming the `orchestrion` module is the most pragramtic solution today.
Caused-By golang/go#38342Fixes#287
Version of orchestrion
Latest version (0.8.1)
Describe what happened:
On MacOS, installing
go install github.com/datadog/orchestrion@latest
and thengo mod vendor
putting to orchestrion tovendor/github.com/DataDog
instead ofvendor/github.com/datadog
, because others packets in dependency installs asgithub.com/DataDog/...
If run same set of commands on Ubuntu 20.04, these locations will be separated:
If
orchestrion
is on the same system where it was installed, everything is working, but when moving between systems (developer working on MacOS, but compiling app on Ubuntu with Jenkins), there are problems with linking.Describe what you expected:
Consistent path naming between DataDog modules:
Steps to reproduce the issue:
Push code to case-sensitive filesystem, try to run
orchestrion go ...
. Then rungo mod vendor
and then look at file structure atvendor/github.com
Additional environment details (Version of Go, Operating System, etc.):
Go 1.22.6
MacOS Sequoia 15.0, APFS filesystem (not case-sensitive or encrypted)
Ubuntu 20.04.6 LTS, ext4 filesystem
The text was updated successfully, but these errors were encountered: