error compiling struct.c with ruby 1.9
--------------------------------------

                 Key: THRIFT-605
                 URL: https://issues.apache.org/jira/browse/THRIFT-605
             Project: Thrift
          Issue Type: Bug
          Components: Library (Ruby)
         Environment: ubuntu 9.04 (Jaunty), Ruby 1.9.1 (using rvm), thrift 
r825240 (latest as of now)
            Reporter: Ben Taitelbaum


When trying to compile a newly checked out version of thrift from svn, after 
switching ruby to 1.9.1, I get this error:

{noformat}
make[4]: Entering directory `/home/btaitelb/thrift/lib/rb/ext'
gcc -I. -I/home/btaitelb/.rvm/ruby-1.9.1-p243/include/ruby-1.9.1/i686-linux 
-I/home/btaitelb/.rvm/ruby-1.9.1-p243/include/ruby-1.9.1/ruby/backward 
-I/home/btaitelb/.rvm/ruby-1.9.1-p243/include/ruby-1.9.1 
-I/home/btaitelb/thrift/lib/rb/ext -DHAVE_STRLCPY  -D_FILE_OFFSET_BITS=64  
-fPIC -g -O2 -Wall -Werror  -o memory_buffer.o -c memory_buffer.c
gcc -I. -I/home/btaitelb/.rvm/ruby-1.9.1-p243/include/ruby-1.9.1/i686-linux 
-I/home/btaitelb/.rvm/ruby-1.9.1-p243/include/ruby-1.9.1/ruby/backward 
-I/home/btaitelb/.rvm/ruby-1.9.1-p243/include/ruby-1.9.1 
-I/home/btaitelb/thrift/lib/rb/ext -DHAVE_STRLCPY  -D_FILE_OFFSET_BITS=64  
-fPIC -g -O2 -Wall -Werror  -o binary_protocol_accelerated.o -c 
binary_protocol_accelerated.c
gcc -I. -I/home/btaitelb/.rvm/ruby-1.9.1-p243/include/ruby-1.9.1/i686-linux 
-I/home/btaitelb/.rvm/ruby-1.9.1-p243/include/ruby-1.9.1/ruby/backward 
-I/home/btaitelb/.rvm/ruby-1.9.1-p243/include/ruby-1.9.1 
-I/home/btaitelb/thrift/lib/rb/ext -DHAVE_STRLCPY  -D_FILE_OFFSET_BITS=64  
-fPIC -g -O2 -Wall -Werror  -o protocol.o -c protocol.c
gcc -I. -I/home/btaitelb/.rvm/ruby-1.9.1-p243/include/ruby-1.9.1/i686-linux 
-I/home/btaitelb/.rvm/ruby-1.9.1-p243/include/ruby-1.9.1/ruby/backward 
-I/home/btaitelb/.rvm/ruby-1.9.1-p243/include/ruby-1.9.1 
-I/home/btaitelb/thrift/lib/rb/ext -DHAVE_STRLCPY  -D_FILE_OFFSET_BITS=64  
-fPIC -g -O2 -Wall -Werror  -o struct.o -c struct.c
cc1: warnings being treated as errors
struct.c: In function 'get_field_value':
struct.c:286: error: implicit declaration of function 'strlcpy'
make[4]: *** [struct.o] Error 1
make[4]: Leaving directory `/home/btaitelb/thrift/lib/rb/ext'
setup.rb:655:in `command': system("make") failed (RuntimeError)
        from setup.rb:664:in `make'
        from setup.rb:1258:in `setup_dir_ext'
        from setup.rb:1532:in `block in traverse'
        from setup.rb:1549:in `dive_into'
        from setup.rb:1530:in `traverse'
        from setup.rb:1524:in `block in exec_task_traverse'
        from setup.rb:1519:in `each'
        from setup.rb:1519:in `exec_task_traverse'
        from setup.rb:1246:in `exec_setup'
        from setup.rb:996:in `exec_setup'
        from setup.rb:826:in `invoke'
        from setup.rb:773:in `invoke'
        from setup.rb:1578:in `<main>'
make[3]: *** [all-local] Error 1
make[3]: Leaving directory `/home/btaitelb/thrift/lib/rb'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/btaitelb/thrift/lib'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/btaitelb/thrift'
make: *** [all] Error 2
{noformat}

removing -Werror from the Makefile allows the build to finish, although I 
haven't tested compact_protocol at runtime.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to