Hey Duo,
Yeah, that's #1 that I outlined. See also the link to the pull request
which has stalled since last Fall. My C++ skills are beyond rusty, and I
wouldn't know where to start with PPC in general.
I've reached out to some folks in the hopes of getting someone who can
drive it home as, like you allude, this would be ideal and require no
change from us in HBase.
On 3/15/18 8:52 PM, 张铎(Duo Zhang) wrote:
IIRC there is an issue on compiling hbase on arm, and the guy there faced
the same problem. Seems the final solution is that they filed an issue for
the protobuf project and now there is a pre complied binary for arm64
available in the central maven repo...
http://central.maven.org/maven2/com/google/protobuf/protoc/3.5.1-1/
There is a 'protoc-3.5.1-1-linux-aarch_64.exe'
So is it possible to do the same thing for ppc?
2018-03-16 4:09 GMT+08:00 Josh Elser <els...@apache.org>:
On 3/15/18 3:45 PM, Stack wrote:
On Thu, Mar 15, 2018 at 12:03 PM, Josh Elser <els...@apache.org> wrote:
I'm faced with what I think is a tricky issue. I'm trying to help folks to
compile HBase on PPC. The protobuf community does not publish a PPC
binary
for protoc which means that the HBase build can't generate our protobuf
files. Protobuf supports: x86/x86_64 for linux, windows, and osx in 3.3.0
(an aarch_64 starting in 3.5.0).
I'm trying to think through any/all solutions:
1. Get protobuf folks to build/publish protoc for PPC.
2. Commit our generated java files to the repository and provide an
option
to skip compilation on unsupported ARCHs.
3. Try to find/create some non-official PPC support ala
https://github.com/os72/protoc-jar
4. Do nothing
Evaluating these, #1 and #3 are a "later" solution. #2 puts some pain on
developers to git-add these files if they are modified. Maybe not a lot
of
pain since protocol changes should be infrequent at this point?
We used to do this but after some work the nice protobuf-maven-plugin
that
provides platform-appropriate protoc made it so we could skip having to do
this halving (IIRC) the size of our checkout.
Have a PPC profile that messes w/ the module list? (Claim on the profiles
doc page is that its possible[1]). Exclude hbase-protocol* modules if os
finds that the platform is PPC? (Activating a profile based off os is
common usage). Have the PPC profile depend on published versions of these
jars? Would something like this do Josh?
St.Ack
1. http://maven.apache.org/guides/introduction/introduction-to-
profiles.html
Interesting... I had the idea, but brushed it off because I didn't think
there was a way to accomplish it realistically. Your solution makes me
think it might work.
I remember the checked-in-compiled-code version (and much prefer what we
have now, sadly). Let me poke at your suggestion and see what I can
frankenstein together.
Thanks!