[
https://issues.apache.org/jira/browse/THRIFT-453?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12702003#action_12702003
]
Adrian Woodhead commented on THRIFT-453:
----------------------------------------
Well, we're talking about building something in Java aren't we? So do the Java
part the "Java way" and the C++ part the "C++ way", each to his own.
Other options could be using something like Ivy to retrieve Java dependencies,
or describing clearly in the documentation (or README) what jars you need to
get and where you need to put them in order for it to build. The README
currently says:
"To compile the Java Thrift libraries, simply do the following:
ant
Yep, that's easy."
Which is a lie, it ain't that easy.
> Building Thrift from checkout
> -----------------------------
>
> Key: THRIFT-453
> URL: https://issues.apache.org/jira/browse/THRIFT-453
> Project: Thrift
> Issue Type: Question
> Components: Compiler (Java)
> Affects Versions: 0.2
> Reporter: Nabib El-Rahman
>
> Hi,
> I checked out the thrift project from trunk and tried to build thrift and got
> the following error:
> Buildfile: build.xml
> init:
> compile:
> [javac] Compiling 52 source files to
> /Users/jmikhail/code/svn/thrift/trunk/lib/java/build
> [javac]
> /Users/jmikhail/code/svn/thrift/trunk/lib/java/src/org/apache/thrift/transport/TIOStreamTransport.java:22:
> package org.apache.log4j does not exist
> [javac] import org.apache.log4j.Logger;
> [javac] ^
> [javac]
> /Users/jmikhail/code/svn/thrift/trunk/lib/java/src/org/apache/thrift/transport/TIOStreamTransport.java:37:
> cannot find symbol
> [javac] symbol : class Logger
> [javac] location: class org.apache.thrift.transport.TIOStreamTransport
> [javac] private static final Logger LOGGER =
> Logger.getLogger(TIOStreamTransport.class.getName());
> [javac] ^
> [javac]
> /Users/jmikhail/code/svn/thrift/trunk/lib/java/src/org/apache/thrift/server/TNonblockingServer.java:33:
> package org.apache.log4j does not exist
> [javac] import org.apache.log4j.Logger;
> [javac] ^
> [javac]
> /Users/jmikhail/code/svn/thrift/trunk/lib/java/src/org/apache/thrift/server/TNonblockingServer.java:61:
> cannot find symbol
> [javac] symbol : class Logger
> [javac] location: class org.apache.thrift.server.TNonblockingServer
> [javac] private static final Logger LOGGER =
> [javac] ^
> [javac]
> /Users/jmikhail/code/svn/thrift/trunk/lib/java/src/org/apache/thrift/server/TSimpleServer.java:31:
> package org.apache.log4j does not exist
> [javac] import org.apache.log4j.Logger;
> [javac] ^
> [javac]
> /Users/jmikhail/code/svn/thrift/trunk/lib/java/src/org/apache/thrift/server/TSimpleServer.java:39:
> cannot find symbol
> [javac] symbol : class Logger
> [javac] location: class org.apache.thrift.server.TSimpleServer
> [javac] private static final Logger LOGGER =
> Logger.getLogger(TSimpleServer.class.getName());
> [javac] ^
> [javac]
> /Users/jmikhail/code/svn/thrift/trunk/lib/java/src/org/apache/thrift/server/TThreadPoolServer.java:32:
> package org.apache.log4j does not exist
> [javac] import org.apache.log4j.Logger;
> [javac] ^
> [javac]
> /Users/jmikhail/code/svn/thrift/trunk/lib/java/src/org/apache/thrift/server/TThreadPoolServer.java:33:
> package org.apache.log4j does not exist
> [javac] import org.apache.log4j.Level;
> [javac] ^
> [javac]
> /Users/jmikhail/code/svn/thrift/trunk/lib/java/src/org/apache/thrift/server/TThreadPoolServer.java:49:
> cannot find symbol
> [javac] symbol : class Logger
> [javac] location: class org.apache.thrift.server.TThreadPoolServer
> [javac] private static final Logger LOGGER =
> Logger.getLogger(TThreadPoolServer.class.getName());
> [javac] ^
> [javac]
> /Users/jmikhail/code/svn/thrift/trunk/lib/java/src/org/apache/thrift/transport/TServerSocket.java:22:
> package org.apache.log4j does not exist
> [javac] import org.apache.log4j.Logger;
> [javac] ^
> [javac]
> /Users/jmikhail/code/svn/thrift/trunk/lib/java/src/org/apache/thrift/transport/TServerSocket.java:36:
> cannot find symbol
> [javac] symbol : class Logger
> [javac] location: class org.apache.thrift.transport.TServerSocket
> [javac] private static final Logger LOGGER =
> Logger.getLogger(TServerSocket.class.getName());
> [javac] ^
> [javac]
> /Users/jmikhail/code/svn/thrift/trunk/lib/java/src/org/apache/thrift/transport/TSocket.java:22:
> package org.apache.log4j does not exist
> [javac] import org.apache.log4j.Logger;
> [javac] ^
> [javac]
> /Users/jmikhail/code/svn/thrift/trunk/lib/java/src/org/apache/thrift/transport/TSocket.java:37:
> cannot find symbol
> [javac] symbol : class Logger
> [javac] location: class org.apache.thrift.transport.TSocket
> [javac] private static final Logger LOGGER =
> Logger.getLogger(TSocket.class.getName());
> [javac] ^
> [javac]
> /Users/jmikhail/code/svn/thrift/trunk/lib/java/src/org/apache/thrift/transport/TIOStreamTransport.java:37:
> cannot find symbol
> [javac] symbol : variable Logger
> [javac] location: class org.apache.thrift.transport.TIOStreamTransport
> [javac] private static final Logger LOGGER =
> Logger.getLogger(TIOStreamTransport.class.getName());
> [javac] ^
> [javac]
> /Users/jmikhail/code/svn/thrift/trunk/lib/java/src/org/apache/thrift/server/TNonblockingServer.java:62:
> cannot find symbol
> [javac] symbol : variable Logger
> [javac] location: class org.apache.thrift.server.TNonblockingServer
> [javac] Logger.getLogger(TNonblockingServer.class.getName());
> [javac] ^
> [javac]
> /Users/jmikhail/code/svn/thrift/trunk/lib/java/src/org/apache/thrift/server/TSimpleServer.java:39:
> cannot find symbol
> [javac] symbol : variable Logger
> [javac] location: class org.apache.thrift.server.TSimpleServer
> [javac] private static final Logger LOGGER =
> Logger.getLogger(TSimpleServer.class.getName());
> [javac] ^
> [javac]
> /Users/jmikhail/code/svn/thrift/trunk/lib/java/src/org/apache/thrift/server/TThreadPoolServer.java:49:
> cannot find symbol
> [javac] symbol : variable Logger
> [javac] location: class org.apache.thrift.server.TThreadPoolServer
> [javac] private static final Logger LOGGER =
> Logger.getLogger(TThreadPoolServer.class.getName());
> [javac] ^
> [javac]
> /Users/jmikhail/code/svn/thrift/trunk/lib/java/src/org/apache/thrift/transport/TServerSocket.java:36:
> cannot find symbol
> [javac] symbol : variable Logger
> [javac] location: class org.apache.thrift.transport.TServerSocket
> [javac] private static final Logger LOGGER =
> Logger.getLogger(TServerSocket.class.getName());
> [javac] ^
> [javac]
> /Users/jmikhail/code/svn/thrift/trunk/lib/java/src/org/apache/thrift/transport/TSocket.java:37:
> cannot find symbol
> [javac] symbol : variable Logger
> [javac] location: class org.apache.thrift.transport.TSocket
> [javac] private static final Logger LOGGER =
> Logger.getLogger(TSocket.class.getName());
> [javac] ^
> [javac] 19 errors
> BUILD FAILED
> I realize that it looking for a log4j.jar in its classpath, and from reading
> the buid.xml
> <property file="${user.home}/.thrift-build.properties" />
> <property name="cpath" location="libthrift.jar:${thrift.extra.cpath}" />
> placing a .thrift-build.properties files in my home directory and seting the
> thrift.extra.cpath where a log4j.jar is located will solve the problem.
> But shouldn't there be an expectation that thrift should be able to build
> without setting some user specific properties, to point to jars that should
> be included. There isn't even any indication that lo4j.jar is required unless
> you look at the compilation error?
> What do you guys think of including lo4j.jar and other necessary for
> compiling into source?
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.