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)