thrift-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "James E. King, III (JIRA)" <j...@apache.org>
Subject [jira] [Resolved] (THRIFT-4033) Default build WITH_PLUGIN=ON for all builds results in packaging errors
Date Thu, 26 Jan 2017 01:42:27 GMT

     [ 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)

Mime
View raw message