A protoc plugin is no longer working and I cannot introspect to understand the problem

I think the entire problem is hard to answer without further investigation. So first I simply want to know how to introspect the problem.

Problem Overview

I use the protoc-gen-bq-schema plugin to assist with converting some large and complex protocol buffer messages into BigQuery schemas.

Until recently, I had an Ubuntu machine. I now have an M3 Mac, the Apple ARM64 chip. I can no longer get the plugin to work, but I can’t manage to introspect the problem: no errors, no messages, nothing. I’m not too savvy with how to use plugins with protoc

I carried over my command history from the previous machine, so I know I used to do exactly the same command that I’ve been trying now. It was fairly simple:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<code>protoc --bq-schema_out . -I <the/path/to/the/proto/package> <the/path/to/the/proto/file/to/generate/the/schema>
</code>
<code>protoc --bq-schema_out . -I <the/path/to/the/proto/package> <the/path/to/the/proto/file/to/generate/the/schema> </code>
protoc --bq-schema_out . -I <the/path/to/the/proto/package> <the/path/to/the/proto/file/to/generate/the/schema>

After installing protoc, Go, and the protoc-gen-bq-schema plugin on my new computer, I tried that same command, and it returns with absolutely nothing, no input, no errors… nothing.


I tried something available by default with protoc and it works perfectly:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<code>protoc --python_out . -I <the/path/to/the/proto/package> <the/path/to/the/proto/file/to/generate/the/schema>
</code>
<code>protoc --python_out . -I <the/path/to/the/proto/package> <the/path/to/the/proto/file/to/generate/the/schema> </code>
protoc --python_out . -I <the/path/to/the/proto/package> <the/path/to/the/proto/file/to/generate/the/schema>

This generates the protobuf as a Python module, fully functional. So it seems clear that the problem is with the plugin (or with how protoc interacts with the plugin).


I then tried to introspect, to see if I could understand what is going wrong, but I don’t really understand what I can do or how to do it. I tried the following:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<code>> protoc-gen-bq-schema --help
Usage of protoc-gen-bq-schema:
-alsologtostderr
log to standard error as well as files
-log_backtrace_at value
when logging hits line file:N, emit a stack trace
-log_dir string
If non-empty, write log files in this directory
-logtostderr
log to standard error instead of files
-stderrthreshold value
logs at or above this threshold go to stderr
-v value
log level for V logs
-vmodule value
comma-separated list of pattern=N settings for file-filtered logging
</code>
<code>> protoc-gen-bq-schema --help Usage of protoc-gen-bq-schema: -alsologtostderr log to standard error as well as files -log_backtrace_at value when logging hits line file:N, emit a stack trace -log_dir string If non-empty, write log files in this directory -logtostderr log to standard error instead of files -stderrthreshold value logs at or above this threshold go to stderr -v value log level for V logs -vmodule value comma-separated list of pattern=N settings for file-filtered logging </code>
> protoc-gen-bq-schema --help

Usage of protoc-gen-bq-schema:
  -alsologtostderr
        log to standard error as well as files
  -log_backtrace_at value
        when logging hits line file:N, emit a stack trace
  -log_dir string
        If non-empty, write log files in this directory
  -logtostderr
        log to standard error instead of files
  -stderrthreshold value
        logs at or above this threshold go to stderr
  -v value
        log level for V logs
  -vmodule value
        comma-separated list of pattern=N settings for file-filtered logging

So I tried to pass some type of logging:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<code>protoc --bq-schema_out . --bq-schema_opt=-logtostderr <path/to/proto/file/to/generate/schema> -I <path/to/proto/package>
</code>
<code>protoc --bq-schema_out . --bq-schema_opt=-logtostderr <path/to/proto/file/to/generate/schema> -I <path/to/proto/package> </code>
protoc --bq-schema_out .  --bq-schema_opt=-logtostderr <path/to/proto/file/to/generate/schema> -I <path/to/proto/package>

I wasn’t sure if I write --bq-schema_opt=-logtostderr or --bq-schema_opt=logtostderr or --bq-schema_opt=--logtostderr. I tried them all, none worked. I also tried passing the v (verbose) flag, nothing.

It seems as if, even though the protoc-gen-bq-schema file is installed properly and can be called on its own, it isn’t being seen at all by protoc. Or, it could be that the protoc-gen-bq-schema plugin is not working correctly, but it can at least generate its help message.

Request

I don’t think it is possible to understand what is wrong with the plugin itself, but if you could help me understand how I can introspect protoc, that would be great. I cannot get any output regarding what it is doing, so I cannot even begin to guess what I need to do to fix the problem.

Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa Dịch vụ tổ chức sự kiện 5 sao Thông tin về chúng tôi Dịch vụ sinh nhật bé trai Dịch vụ sinh nhật bé gái Sự kiện trọn gói Các tiết mục giải trí Dịch vụ bổ trợ Tiệc cưới sang trọng Dịch vụ khai trương Tư vấn tổ chức sự kiện Hình ảnh sự kiện Cập nhật tin tức Liên hệ ngay Thuê chú hề chuyên nghiệp Tiệc tất niên cho công ty Trang trí tiệc cuối năm Tiệc tất niên độc đáo Sinh nhật bé Hải Đăng Sinh nhật đáng yêu bé Khánh Vân Sinh nhật sang trọng Bích Ngân Tiệc sinh nhật bé Thanh Trang Dịch vụ ông già Noel Xiếc thú vui nhộn Biểu diễn xiếc quay đĩa Dịch vụ tổ chức tiệc uy tín Khám phá dịch vụ của chúng tôi Tiệc sinh nhật cho bé trai Trang trí tiệc cho bé gái Gói sự kiện chuyên nghiệp Chương trình giải trí hấp dẫn Dịch vụ hỗ trợ sự kiện Trang trí tiệc cưới đẹp Khởi đầu thành công với khai trương Chuyên gia tư vấn sự kiện Xem ảnh các sự kiện đẹp Tin mới về sự kiện Kết nối với đội ngũ chuyên gia Chú hề vui nhộn cho tiệc sinh nhật Ý tưởng tiệc cuối năm Tất niên độc đáo Trang trí tiệc hiện đại Tổ chức sinh nhật cho Hải Đăng Sinh nhật độc quyền Khánh Vân Phong cách tiệc Bích Ngân Trang trí tiệc bé Thanh Trang Thuê dịch vụ ông già Noel chuyên nghiệp Xem xiếc khỉ đặc sắc Xiếc quay đĩa thú vị
Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa
Thiết kế website Thiết kế website Thiết kế website Cách kháng tài khoản quảng cáo Mua bán Fanpage Facebook Dịch vụ SEO Tổ chức sinh nhật