You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@drill.apache.org by J Prabhu <j....@ericsson.com> on 2015/01/20 11:49:00 UTC
Drill Compilation fails
Trying to compile RpcBus source file in Drill which expects both shaded
drill-protocol-0.7.0-rebuffed.jar and protobuf-java-2.5.0.jar, fails
with below error.
emprstw@66WQ7R1:~/DRILL/apache-drill-0.7.0/jars$ javac -cp
"/home/emprstw/DRILL/apache-drill-0.7.0/jars/3rdparty/*:/home/emprstw/DRILL/apache-drill-0.7.0/jars/*:/home/emprstw/DRILL/apache-drill-0.7.0/PROTOBUF/*"
RpcBus.java
RpcBus.java:88: error: method checkSend in class RpcConfig cannot be
applied to given types;
assert rpcConfig.checkSend(rpcType, protobufBody.getClass(), clazz);
^
required: 250.com.google.protobuf.Internal.EnumLite,Class<?>,Class<?>
found: T,Class<CAP#1>,Class<RECEIVE>
reason: actual argument T cannot be converted to
250.com.google.protobuf.Internal.EnumLite by method invocation conversion
where T,RECEIVE,SEND,C are type-variables:
T extends com.google.protobuf.Internal.EnumLite declared in class
RpcBus
RECEIVE extends MessageLite declared in method
<SEND,RECEIVE>send(RpcOutcomeListener<RECEIVE>,C,T,SEND,Class<RECEIVE>,boolean,ByteBuf...)
SEND extends MessageLite declared in method
<SEND,RECEIVE>send(RpcOutcomeListener<RECEIVE>,C,T,SEND,Class<RECEIVE>,boolean,ByteBuf...)
C extends RemoteConnection declared in class RpcBus
where CAP#1 is a fresh type-variable:
CAP#1 extends MessageLite from capture of ? extends MessageLite
RpcBus.java:92: error: no suitable constructor found for
OutboundRpcMessage(RpcMode,T,int,SEND,ByteBuf[])
OutboundRpcMessage m = new OutboundRpcMessage(RpcMode.REQUEST,
rpcType, futureListener.getCoordinationId(), protobufBody, dataBodies);
^
constructor
OutboundRpcMessage.OutboundRpcMessage(RpcMode,int,int,250.com.google.protobuf.MessageLite,ByteBuf...)
is not applicable
(actual argument T cannot be converted to int by method
invocation conversion)
constructor
OutboundRpcMessage.OutboundRpcMessage(RpcMode,250.com.google.protobuf.Internal.EnumLite,int,250.com.google.protobuf.MessageLite,ByteBuf...)
is not applicable
(actual argument T cannot be converted to
250.com.google.protobuf.Internal.EnumLite by method invocation conversion)
where T,SEND,RECEIVE,C are type-variables:
T extends com.google.protobuf.Internal.EnumLite declared in class
RpcBus
SEND extends com.google.protobuf.MessageLite declared in method
<SEND,RECEIVE>send(RpcOutcomeListener<RECEIVE>,C,T,SEND,Class<RECEIVE>,boolean,ByteBuf...)
RECEIVE extends com.google.protobuf.MessageLite declared in method
<SEND,RECEIVE>send(RpcOutcomeListener<RECEIVE>,C,T,SEND,Class<RECEIVE>,boolean,ByteBuf...)
C extends RemoteConnection declared in class RpcBus
2 errors
Can anyone help me to solve this.
Re: Drill Compilation fails
Posted by Alexander Zarei <al...@gmail.com>.
So are you pulling the source code from Github and building by Maven? Could
you please provide more detail on your environment and the steps your
following to compile the code?
Thanks,
Alex
On Tue, Jan 20, 2015 at 2:49 AM, J Prabhu <j....@ericsson.com> wrote:
>
> Trying to compile RpcBus source file in Drill which expects both shaded
> drill-protocol-0.7.0-rebuffed.jar and protobuf-java-2.5.0.jar, fails with
> below error.
>
> emprstw@66WQ7R1:~/DRILL/apache-drill-0.7.0/jars$ javac -cp
> "/home/emprstw/DRILL/apache-drill-0.7.0/jars/3rdparty/*:/
> home/emprstw/DRILL/apache-drill-0.7.0/jars/*:/home/
> emprstw/DRILL/apache-drill-0.7.0/PROTOBUF/*" RpcBus.java
> RpcBus.java:88: error: method checkSend in class RpcConfig cannot be
> applied to given types;
> assert rpcConfig.checkSend(rpcType, protobufBody.getClass(), clazz);
> ^
> required: 250.com.google.protobuf.Internal.EnumLite,Class<?>,Class<?>
> found: T,Class<CAP#1>,Class<RECEIVE>
> reason: actual argument T cannot be converted to 250.com.google.protobuf.Internal.EnumLite
> by method invocation conversion
> where T,RECEIVE,SEND,C are type-variables:
> T extends com.google.protobuf.Internal.EnumLite declared in class
> RpcBus
> RECEIVE extends MessageLite declared in method <SEND,RECEIVE>send(
> RpcOutcomeListener<RECEIVE>,C,T,SEND,Class<RECEIVE>,boolean,ByteBuf...)
> SEND extends MessageLite declared in method <SEND,RECEIVE>send(
> RpcOutcomeListener<RECEIVE>,C,T,SEND,Class<RECEIVE>,boolean,ByteBuf...)
> C extends RemoteConnection declared in class RpcBus
> where CAP#1 is a fresh type-variable:
> CAP#1 extends MessageLite from capture of ? extends MessageLite
> RpcBus.java:92: error: no suitable constructor found for
> OutboundRpcMessage(RpcMode,T,int,SEND,ByteBuf[])
> OutboundRpcMessage m = new OutboundRpcMessage(RpcMode.REQUEST,
> rpcType, futureListener.getCoordinationId(), protobufBody, dataBodies);
> ^
> constructor OutboundRpcMessage.OutboundRpcMessage(RpcMode,
> int,int,250.com.google.protobuf.MessageLite,ByteBuf...) is not applicable
> (actual argument T cannot be converted to int by method invocation
> conversion)
> constructor OutboundRpcMessage.OutboundRpcMessage(RpcMode,
> 250.com.google.protobuf.Internal.EnumLite,int,250.com.
> google.protobuf.MessageLite,ByteBuf...) is not applicable
> (actual argument T cannot be converted to 250.com.google.protobuf.Internal.EnumLite
> by method invocation conversion)
> where T,SEND,RECEIVE,C are type-variables:
> T extends com.google.protobuf.Internal.EnumLite declared in class
> RpcBus
> SEND extends com.google.protobuf.MessageLite declared in method
> <SEND,RECEIVE>send(RpcOutcomeListener<RECEIVE>,C,
> T,SEND,Class<RECEIVE>,boolean,ByteBuf...)
> RECEIVE extends com.google.protobuf.MessageLite declared in method
> <SEND,RECEIVE>send(RpcOutcomeListener<RECEIVE>,C,
> T,SEND,Class<RECEIVE>,boolean,ByteBuf...)
> C extends RemoteConnection declared in class RpcBus
> 2 errors
>
>
>
> Can anyone help me to solve this.
>
>
>
>
>
>