You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "James E. King, III (JIRA)" <ji...@apache.org> on 2017/01/16 20:40:26 UTC
[jira] [Commented] (THRIFT-4033) After building thrift-0.10.0
debian packages and installing them on Ubuntu 14.04, the thrift compiler
does not work (packaged incorrectly)
[ https://issues.apache.org/jira/browse/THRIFT-4033?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15824567#comment-15824567 ]
James E. King, III commented on THRIFT-4033:
--------------------------------------------
I have a temporary solution for this which is to modify configure.ac and change "have_plugin" to "no" then build the debian packages. This keeps everything enabled but it disables the plugin support, but it will have full language support:
{noformat}
thrift 0.10.0
Building Plugin Support ...... : no
Building C++ Library ......... : yes
Building C (GLib) Library .... : yes
Building Java Library ........ : yes
Building C# Library .......... : yes
Building Python Library ...... : yes
Building Ruby Library ........ : yes
Building Haxe Library ........ : yes
Building Haskell Library ..... : yes
Building Perl Library ........ : yes
Building PHP Library ......... : yes
Building Dart Library ........ : yes
Building Erlang Library ...... : yes
Building Go Library .......... : yes
Building D Library ........... : yes
Building NodeJS Library ...... : yes
Building Lua Library ......... : yes
C++ Library:
Build TZlibTransport ...... : yes
Build TNonblockingServer .. : yes
Build TQTcpServer (Qt4) .... : no
Build TQTcpServer (Qt5) .... : yes
Java Library:
Using javac ............... : javac
Using java ................ : java
Using ant ................. : /usr/bin/ant
C# Library:
Using .NET 3.5 ............ : yes
Python Library:
Using Python .............. : /usr/bin/python
Using Python3 ............. : /usr/bin/python3
Using trial ............... : /usr/bin/trial
PHP Library:
Using php-config .......... : /usr/bin/php-config
Dart Library:
Using Dart ................ : /usr/lib/dart/bin/dart
Using Pub ................. : /usr/lib/dart/bin/pub
Ruby Library:
Using Ruby ................ : /usr/bin/ruby
Haskell Library:
Using Haskell ............. : /usr/bin/runhaskell
Using Cabal ............... : /usr/bin/cabal
Haxe Library:
Using Haxe ................ : /usr/bin/haxe
Using Haxe version ........ : 3.2.0
Perl Library:
Using Perl ................ : /usr/bin/perl
Erlang Library:
Using erlc ................ : /usr/bin/erlc
Using rebar ............... : /usr/bin/rebar
Go Library:
Using Go................... : /usr/local/go/bin/go
Using Go version........... : go version go1.4.3 linux/amd64
D Library:
Using D Compiler .......... : dmd
Building D libevent tests . : yes
Building D SSL tests ...... : yes
NodeJS Library:
Using NodeJS .............. : /usr/bin/nodejs
Using NodeJS version....... : v0.10.25
Lua Library:
Using Lua .............. : /usr/bin/lua
{noformat}
[~jfarrell] I think modifying debian/rules where it calls configure would also work here, but I tried "--without-plugin" and that didn't work.
> After building thrift-0.10.0 debian packages and installing them on Ubuntu 14.04, the thrift compiler does not work (packaged incorrectly)
> ------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: THRIFT-4033
> URL: https://issues.apache.org/jira/browse/THRIFT-4033
> Project: Thrift
> Issue Type: Bug
> Components: Build Process
> Affects Versions: 0.10.0
> Environment: Ubuntu 14.04.4 LTS
> Reporter: James E. King, III
> Priority: Blocker
>
> I built thrift-0.10.0 debian packages doing the following:
> # Clone the thrift project from github
> # Check out the 0.10.0 tag
> # Create a docker image: docker build -t thrift build/docker/ubuntu (from https://github.com/apache/thrift/tree/master/build/docker)
> # Load the image as a docker instance: docker run -v $(pwd):/thrift/src -it thrift /bin/bash
> # Run this command to build all debian package: dpkg-buildpackage -d -tc
> Then I replaced thrift-0.8.0 on my Ubuntu 14.04 system with the packages that I just built and tried to get the version from the thrift compiler:
> {noformat}
> jking@dvm61:~/thrift/packages/0.10.0/unpacked$ dpkg -l | grep thrift
> hi libthrift-dev 0.8.0-0+svt12 amd64 Thrift C++ library (development headers)
> ii libthrift-java 0.8.0-0+svt12 all Java bindings for Thrift
> hi libthrift-perl 0.8.0-0+svt12 all Perl bindings for Thrift
> hi libthrift0 0.8.0-0+svt12 amd64 Thrift C++ library
> hi php5-thrift 0.8.0-0+svt12 amd64 PHP bindings for Thrift
> ii python-thrift 0.8.0-0+svt12 amd64 Python bindings for Thrift
> ii thrift-compiler 0.8.0-0+svt12 amd64 Compiler for Thrift definition files
> jking@dvm61:~/thrift/packages/0.10.0/unpacked$ sudo dpkg -i libthrift0_0.10.0_amd64.deb libthrift-dev_0.10.0_amd64.deb libthrift-java_0.10.0_all.deb libthrift-perl_0.10.0_all.deb php5-thrift_0.10.0_amd64.deb python-thrift_0.10.0_amd64.deb thrift-compiler_0.10.0_amd64.deb
> (Reading database ... 232573 files and directories currently installed.)
> Preparing to unpack libthrift0_0.10.0_amd64.deb ...
> Unpacking libthrift0 (0.10.0) over (0.8.0-0+svt12) ...
> Preparing to unpack libthrift-dev_0.10.0_amd64.deb ...
> Unpacking libthrift-dev (0.10.0) over (0.8.0-0+svt12) ...
> Preparing to unpack libthrift-java_0.10.0_all.deb ...
> Unpacking libthrift-java (0.10.0) over (0.8.0-0+svt12) ...
> Preparing to unpack libthrift-perl_0.10.0_all.deb ...
> Unpacking libthrift-perl (0.10.0) over (0.8.0-0+svt12) ...
> Preparing to unpack php5-thrift_0.10.0_amd64.deb ...
> Unpacking php5-thrift (0.10.0) over (0.8.0-0+svt12) ...
> Preparing to unpack python-thrift_0.10.0_amd64.deb ...
> Unpacking python-thrift (0.10.0) over (0.8.0-0+svt12) ...
> Preparing to unpack thrift-compiler_0.10.0_amd64.deb ...
> Unpacking thrift-compiler (0.10.0) over (0.8.0-0+svt12) ...
> Setting up libthrift0 (0.10.0) ...
> Setting up libthrift-dev (0.10.0) ...
> Setting up libthrift-java (0.10.0) ...
> Setting up libthrift-perl (0.10.0) ...
> Setting up php5-thrift (0.10.0) ...
> Setting up python-thrift (0.10.0) ...
> Setting up thrift-compiler (0.10.0) ...
> Processing triggers for python-support (1.0.15) ...
> Processing triggers for libc-bin (2.19-0ubuntu6.7+svt1) ...
> jking@dvm61:~/thrift/packages/0.10.0/unpacked$ dpkg -l | grep thrift
> ii libthrift-dev 0.10.0 amd64 Thrift C++ library (development headers)
> ii libthrift-java 0.10.0 all Java bindings for Thrift
> ii libthrift-perl 0.10.0 all Perl bindings for Thrift
> ii libthrift0 0.10.0 amd64 Thrift C++ library
> ii php5-thrift 0.10.0 amd64 PHP bindings for Thrift
> ii python-thrift 0.10.0 amd64 Python bindings for Thrift (Python 2)
> ii thrift-compiler 0.10.0 amd64 Compiler for Thrift definition files
> {noformat}
> So then I tried to run the thrift compiler:
> {noformat}
> jking@dvm61:~/thrift/packages/0.10.0/unpacked$ thrift --version
> mkdir: cannot create directory ‘/usr/bin/.libs’: Permission denied
> /usr/bin/thrift: line 202: cd: /thrift/src/compiler/cpp: No such file or directory
> g++: error: src/thrift/thrift-main.o: No such file or directory
> g++: error: src/thrift/audit/thrift-t_audit.o: No such file or directory
> g++: error: src/thrift/generate/thrift-t_c_glib_generator.o: No such file or directory
> g++: error: src/thrift/generate/thrift-t_cpp_generator.o: No such file or directory
> g++: error: src/thrift/generate/thrift-t_java_generator.o: No such file or directory
> g++: error: src/thrift/generate/thrift-t_json_generator.o: No such file or directory
> g++: error: src/thrift/generate/thrift-t_as3_generator.o: No such file or directory
> g++: error: src/thrift/generate/thrift-t_dart_generator.o: No such file or directory
> g++: error: src/thrift/generate/thrift-t_haxe_generator.o: No such file or directory
> g++: error: src/thrift/generate/thrift-t_csharp_generator.o: No such file or directory
> g++: error: src/thrift/generate/thrift-t_py_generator.o: No such file or directory
> g++: error: src/thrift/generate/thrift-t_rb_generator.o: No such file or directory
> g++: error: src/thrift/generate/thrift-t_perl_generator.o: No such file or directory
> g++: error: src/thrift/generate/thrift-t_php_generator.o: No such file or directory
> g++: error: src/thrift/generate/thrift-t_erl_generator.o: No such file or directory
> g++: error: src/thrift/generate/thrift-t_cocoa_generator.o: No such file or directory
> g++: error: src/thrift/generate/thrift-t_swift_generator.o: No such file or directory
> g++: error: src/thrift/generate/thrift-t_st_generator.o: No such file or directory
> g++: error: src/thrift/generate/thrift-t_ocaml_generator.o: No such file or directory
> g++: error: src/thrift/generate/thrift-t_hs_generator.o: No such file or directory
> g++: error: src/thrift/generate/thrift-t_xsd_generator.o: No such file or directory
> g++: error: src/thrift/generate/thrift-t_xml_generator.o: No such file or directory
> g++: error: src/thrift/generate/thrift-t_html_generator.o: No such file or directory
> g++: error: src/thrift/generate/thrift-t_js_generator.o: No such file or directory
> g++: error: src/thrift/generate/thrift-t_javame_generator.o: No such file or directory
> g++: error: src/thrift/generate/thrift-t_delphi_generator.o: No such file or directory
> g++: error: src/thrift/generate/thrift-t_go_generator.o: No such file or directory
> g++: error: src/thrift/generate/thrift-t_gv_generator.o: No such file or directory
> g++: error: src/thrift/generate/thrift-t_d_generator.o: No such file or directory
> g++: error: src/thrift/generate/thrift-t_lua_generator.o: No such file or directory
> g++: error: src/thrift/libparse.a: No such file or directory
> g++: error: ./.libs/libthriftc.so: No such file or directory
> Something looks quite wrong here… I am going to open a Jira ticket.
> It looks like this release is DOA unless I build the thrift compiler without plug-in support.
> It looks like it is assuming I am root and I can modify /usr/bin/.libs, or it thinks things are at /thrift
> {noformat}
> /usr/bin/thrift is a text file provided by thrift-compiler-0.10.0.
> It has a comment in it:
> {noformat}
> # This wrapper script should never be moved out of the build directory.
> # If it is, it will not operate correctly.
> {noformat}
> It looks like we took this file and distributed it, moving it from the build directory to /usr/bin/thrift. It doesn't look like this works.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)