hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Josh Elser <els...@apache.org>
Subject Re: [DISCUSS] Compilation on $ARCH which protoc doesn't support
Date Thu, 15 Mar 2018 20:09:41 GMT

On 3/15/18 3:45 PM, Stack wrote:
> On Thu, Mar 15, 2018 at 12:03 PM, Josh Elser <elserj@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.


View raw message