James E. King, III created THRIFT-4033: ------------------------------------------
Summary: After building thrift-0.10.0 debian packages and installing them on Ubuntu 14.04, the thrift compiler does not work 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 libthrift0-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)