-
Notifications
You must be signed in to change notification settings - Fork 6.7k
Fix zstd/zdict include path for java static build #3260
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
Conversation
|
#3057 is not in 5.9 branch. So we don't need this fix backported to 5.9. |
ajkr
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
more generally, you could do a DESTDIR="./zstd-$(ZSTD_VER)" make install and then use headers/libraries under that directory the same way we do for system-installed zstd.
|
btw you can assign to me if you want since I broke it. or land as-is is fine too. |
|
The current fix works, but I am trying to see how to make use of |
This enables to get all the zstd header files into one directory.
8e5b04a to
5ef4d6e
Compare
|
@sagar0 has updated the pull request. |
|
Changed libzstd.a target to use After the build: |
|
@sagar0 So the destination for |
|
That's right. |
facebook-github-bot
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@sagar0 has imported this pull request. If you are a Facebook employee, you can view this diff on Phabricator.
|
Thanks @adamretter . |
facebook-github-bot
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@sagar0 is landing this pull request. If you are a Facebook employee, you can view this diff on Phabricator.
Summary: With the ZSTD dictionary generator support added in #3057 `PORTABLE=1 ROCKSDB_NO_FBCODE=1 make rocksdbjavastatic` fails as it can't find zdict.h. Specifically due to: https://github.com/facebook/rocksdb/blob/e3a06f12d27fd50af7b6c5941973f529601f9a3e/util/compression.h#L39 In java static builds zstd code gets directly downloaded from https://github.com/facebook/zstd , and in there zdict.h is under dictBuilder directory. So, I modified libzstd.a target to use `make install` to collect all the header files into a single location and used that as the zstd's include path. Closes #3260 Differential Revision: D6669850 Pulled By: sagar0 fbshipit-source-id: f8a7562a670e5aed4c4fb6034a921697590d7285
With the ZSTD dictionary generator support added in #3057
PORTABLE=1 ROCKSDB_NO_FBCODE=1 make rocksdbjavastaticfails as it can't find zdict.h. Specifically due to:rocksdb/util/compression.h
Line 39 in e3a06f1
In java static builds zstd code gets directly downloaded from https://github.com/facebook/zstd , and in there zdict.h is under dictBuilder directory. So, I modified libzstd.a target to use
make installto collect all the header files into a single location and used that as the zstd's include path.Test Plan:
PORTABLE=1 ROCKSDB_NO_FBCODE=1 make rocksdbjavastaticall java tests:
PORTABLE=1 ROCKSDB_NO_FBCODE=1 make jtestWithout PORTABLE and ROCKSDB_NO_FBCODE:
make rocksdbjavastaticDynamic:
make rocksdbjava