Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

protobuf, protoc versioning #9796

Open
stemann opened this issue Nov 16, 2024 · 2 comments
Open

protobuf, protoc versioning #9796

stemann opened this issue Nov 16, 2024 · 2 comments

Comments

@stemann
Copy link
Contributor

stemann commented Nov 16, 2024

It seems there were some confusion regarding the version numbering scheme of the protobuf project, the protobuf C++ library, and the libprotobuf-dependent protoc compiler, in #8658 (protoc_jll v26.1), and in particular in #9584 (protoc_jll v105.28.2).

It seems that the protobuf project, and protoc compiler is versioned using major version number >= 21, since protobuf C++ library version 3.21.0: https://protobuf.dev/support/version-support/

And in addition, using major versions > 3, since minor versions v16.2, v.18.3, v19.5, v20.2 (also tagged as v3.x.y, e.g. v3.16.2).

IIUC, #8658 was right (wrt. to the package name and the package version - reflecting the proper protoc compiler version).

Would it be right to migrate to having two JLL's, e.g. protoc_jll containing only the protoc compiler, and protobuf_cpp_jll containing the protobuf C++ library?

An attempt at an overview - and a suggested versioning plan:

flowchart LR

    protobuf_cpp_v3_16_1[protobuf_cpp v3.16.1]
    protobuf_cpp_v3_16_2[protobuf_cpp v3.16.2]
    protobuf_cpp_v3_18_2[protobuf_cpp v3.18.2]
    protobuf_cpp_v3_18_3[protobuf_cpp v3.18.3]
    protobuf_cpp_v3_19_4[protobuf_cpp v3.19.4]
    protobuf_cpp_v3_19_5[protobuf_cpp v3.19.5]
    protobuf_cpp_v3_20_1[protobuf_cpp v3.20.1]
    protobuf_cpp_v3_20_2[protobuf_cpp v3.20.2]
    protobuf_cpp_v3_20_3[protobuf_cpp v3.20.3]
    protobuf_cpp_v3_21_0[protobuf_cpp v3.21.0]
    protobuf_cpp_v4_22_0[protobuf_cpp v4.22.0]

    protoc_v3_16_1[protoc v3.16.1]
    protoc_v16_2[protoc v16.2]
    protoc_v3_18_2[protoc v3.18.2]
    protoc_v18_3[protoc v18.3]
    protoc_v3_19_4[protoc v3.19.4]
    protoc_v19_5[protoc v19.5]
    protoc_v3_20_1[protoc v3.20.1]
    protoc_v20_2[protoc v20.2]
    protoc_v20_3[protoc v20.3]
    protoc_v21_0[protoc v21.0]
    protoc_v22_0[protoc v22.0]

    protoc_v3_16_1 --> protobuf_cpp_v3_16_1
    protoc_v16_2 --> protobuf_cpp_v3_16_2
    protoc_v3_18_2 --> protobuf_cpp_v3_18_2
    protoc_v18_3 --> protobuf_cpp_v3_18_3
    protoc_v3_19_4 --> protobuf_cpp_v3_19_4
    protoc_v19_5 --> protobuf_cpp_v3_19_5
    protoc_v3_20_1 --> protobuf_cpp_v3_20_1
    protoc_v20_2 --> protobuf_cpp_v3_20_2
    protoc_v20_3 --> protobuf_cpp_v3_20_3
    protoc_v21_0 --> protobuf_cpp_v3_21_0
    protoc_v22_0 --> protobuf_cpp_v4_22_0
Loading

References:

@stemann
Copy link
Contributor Author

stemann commented Nov 16, 2024

@eschnett What do you think?

stemann added a commit to stemann/Yggdrasil that referenced this issue Nov 16, 2024
Used by ONNX v1.11.0 (and in turn, Torch v1.12.1).

Removed notes about protobuf version numbers, cf. JuliaPackaging#9796.
stemann added a commit to stemann/Yggdrasil that referenced this issue Nov 16, 2024
Used by ONNX v1.11.0 (and in turn, Torch v1.12.1).

Removed notes about protobuf version numbers, cf. JuliaPackaging#9796.

No libabsl or libutf8 products produced for this version.
@stemann
Copy link
Contributor Author

stemann commented Nov 16, 2024

Err... protoc/libprotoc depends on libprotobuf and not vice versa. (edit: first post was updated to reflect the proper relation - with protoc depending on libprotobuf/protobuf_cpp)

ldd /mnt/bin/protoc
# ...
        libprotoc.so.3.16.0.0 => /mnt/bin/../lib/libprotoc.so.3.16.0.0 (0x00007f75a6400000)
        libprotobuf.so.3.16.0.0 => /mnt/bin/../lib/libprotobuf.so.3.16.0.0 (0x00007f75a6000000)
# ...

ldd /mtn/lib/libprotoc.so.3.16.0.0
# ...
        libprotobuf.so.3.16.0.0 => /mnt/lib/libprotobuf.so.3.16.0.0 (0x00007f54f5800000)
# ...

ldd /mnt/lib/libprotobuf.so.3.16.0.0
# ...

ldd /mnt/lib/libprotobuf-lite.so.3.16.0.0
# ...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant