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
During dbt's build process, when it runs homebrew-pypi-poet to look up dependencies, it fails because the version of protobuf that is selected by some google dependencies is unbounded, but the newest couple releases don't have source distributions, only binary wheels (and python3.8 on windows is even missing wheels!).
See protocolbuffers/protobuf#7520 and protocolbuffers/protobuf#7530 for those issues.
It looks to me l like they've switched build systems and really want to deprecate the pure-python protobufs implementation that the src package had. I suspect they're only uploading binary wheels produced by the C++ implementation in an attempt to discourage using the pure-python implementation for speed reasons, but of course I have no proof because their build system provides no public information :)
So, I see a few issues here:
obviously we shouldn't use this version of protobuf until it at least supports the platforms we support...
the build process should have failed when we generated the formula file, before we tried to build bottles
I think the only reason this didn't happen is because I removed the homebrew testing part (because some compiler thing is broken on my machine but only for homebrew)
but also homebrew-pypi-poet just emits a warning + garbage data instead of failing, which is annoying!
Steps To Reproduce
Run the build-dbt.py script
get no errors
try to install the generated homebrew package
get errors
See that the Formula file created has this garbage
Running the poet script locally will produce some warnings to stderr if you have an up-to-date protobuf install, but stdout just gets that.
Expected behavior
I expect to generate a valid formula for homebrew during builds. I also expect to fail loudly if I don't!
Screenshots and log output
If applicable, add screenshots or log output to help explain your problem.
System information
Which database are you using dbt with?
This is more of a dbt package issue, but the cause is isolated to bigquery.
postgres
redshift
bigquery
snowflake
other (specify: ____________)
The output of dbt --version:
0.17.0rc3
The operating system you're using:
Any (see above about Windows + 3.8 though)
The output of python --version:
Any (see above about Windows + 3.8 though)
Additional context
I see two ways to fix this:
lock protobuf to <=3.11.3
teach homebrew-pypi-poet about wheels
The protobuf dependency only exists in dbt-bigquery, so we can set this in the bigquery setup.py and that should work. It looks like the highest dependency there is is upon 3.6.0, so maybe we'll have a while before we have to deal with this and google will have functioning protobuf releases by then.
I think we can start by just locking protobuf's version, but we should also look to teaching homebrew-pypi-poet about wheels. And getting further on CI builds so we can turn testing back on!
The text was updated successfully, but these errors were encountered:
Describe the bug
During dbt's build process, when it runs
homebrew-pypi-poet
to look up dependencies, it fails because the version ofprotobuf
that is selected by some google dependencies is unbounded, but the newest couple releases don't have source distributions, only binary wheels (and python3.8 on windows is even missing wheels!).See protocolbuffers/protobuf#7520 and protocolbuffers/protobuf#7530 for those issues.
It looks to me l like they've switched build systems and really want to deprecate the pure-python protobufs implementation that the src package had. I suspect they're only uploading binary wheels produced by the C++ implementation in an attempt to discourage using the pure-python implementation for speed reasons, but of course I have no proof because their build system provides no public information :)
So, I see a few issues here:
homebrew-pypi-poet
just emits a warning + garbage data instead of failing, which is annoying!Steps To Reproduce
build-dbt.py
scriptRunning the
poet
script locally will produce some warnings to stderr if you have an up-to-date protobuf install, but stdout just gets that.Expected behavior
I expect to generate a valid formula for homebrew during builds. I also expect to fail loudly if I don't!
Screenshots and log output
If applicable, add screenshots or log output to help explain your problem.
System information
Which database are you using dbt with?
This is more of a
dbt
package issue, but the cause is isolated to bigquery.The output of
dbt --version
:The operating system you're using:
Any (see above about Windows + 3.8 though)
The output of
python --version
:Any (see above about Windows + 3.8 though)
Additional context
I see two ways to fix this:
The protobuf dependency only exists in dbt-bigquery, so we can set this in the bigquery setup.py and that should work. It looks like the highest dependency there is is upon 3.6.0, so maybe we'll have a while before we have to deal with this and google will have functioning protobuf releases by then.
I think we can start by just locking protobuf's version, but we should also look to teaching homebrew-pypi-poet about wheels. And getting further on CI builds so we can turn testing back on!
The text was updated successfully, but these errors were encountered: