-
Notifications
You must be signed in to change notification settings - Fork 15.5k
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
Degrade from 3.4 to 3.5: Windows Protobuf Compiler does no longer understand * operator for multiple input files #3957
Comments
@laszlocsomor I suspect this has something to do with the long path support. |
I suspect this never worked on Windows. On Linux, Bash expands the wildcards so the main method's argv already contains the list of files, not the wildcard. |
@laszlocsomor Very likely, this behavior never worked, but it would be nice, if it did work. |
I have a fix for it. Stay tuned. |
There is a nice script here that you can use instead: tensorflow/models#1934 |
Thanks 😘 @apacha Head to the protoc releases page and download the protoc-3.4.0-win32.zip, extract it, and you will find protoc.exe in the bin directory. Move this to models/research folder clone to local tensorflow model project Next,you can use the protoc command like
|
@apacha I think that i have been succeed. |
@Aisuko You're right. This actually works in Version 3.4.0 of protoc but not with version 3.5.0 and is therefore a degrade of the Windows protoc.exe. |
@pherl What's the current status of this issue? Is this now fixed on master? |
My understanding we probably would have to build the protoc directly using mingw in windows without using cross-compile. I will see if we can fix this in 3.6 |
Just tried latest 3.6.0 on Windows 10 command window, still could not recognize "*.proto" |
Using batch file try this option using for loop command |
This is one liner to replace google command for compliing proto files. Batch version works on windows: |
I fixed this, and it works with long paths too:
|
any updates? Will the fix be merged in at some point? |
I encountered this problem recently, but unfortunately, this bug is still not fixed in the recent release of Protobuf. |
i'm still getting the same error ,
i am still getting the error despite following the steps you mentioned |
Seems that it is keeping break since 3.5.0. And this regression bug has already kept for almost 2 years. |
@xycui : You're right. Sorry for the long time to fix. I'm not on the protobuf team so this was low priority for me. |
@laszlocsomor Thank you so much for the help. But it seems that the fixing PR is still pending because of the 'release tag' missing. |
You're welcome. I asked the reviewer to add it. |
Halleluja! |
Just for the record: this fix was first released in protobuf 3.10. I haven't properly checked but the commit 5b6238e can be found in the 3.10.x branch. |
I tried to follow the instructions from tensorflow-models repo up until the point where to run
protoc object_detection/protos/*.proto --python_out=.
So I downloaded the appropriate Windows version and added it to my Path. But when running the corresponding windows command:
protoc .\object_detection\protos\*.proto --python_out=.
or even with the forward slash
protoc object_detection/protos/*.proto --python_out=.
I only get the error
object_detection/protos/*.proto: No such file or directory
, indicating that it does not understand the *-operator. When compiling the files individually that reside in that directory, it works as expected.The text was updated successfully, but these errors were encountered: