[ https://issues.apache.org/jira/browse/THRIFT-4033?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
James E. King, III resolved THRIFT-4033. ---------------------------------------- Resolution: Fixed Fix Version/s: 0.11.0 > Default build WITH_PLUGIN=ON for all builds results in packaging errors > ----------------------------------------------------------------------- > > 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 is where I reproduced it. > Reporter: James E. King, III > Assignee: James E. King, III > Priority: Critical > Fix For: 0.11.0 > > > 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. > The root cause is that this was the result of building the thrift compiler > with plug-in support. I submitted a pull request to resolve this, however > [~jfarrell] expressed a desire to make the default compiler build without > plugin support so the packaging jobs we already have will continue to work. > As such, the scope of this defect is to make the autoconf and cmake defaults > set WITH_PLUGIN=OFF behavior. -- This message was sent by Atlassian JIRA (v6.3.4#6332)