You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Carl Steinbach (JIRA)" <ji...@apache.org> on 2010/08/24 03:08:18 UTC

[jira] Created: (THRIFT-865) C++ compiler build depends on libfl even when flex/lex not detected

C++ compiler build depends on libfl even when flex/lex not detected
-------------------------------------------------------------------

                 Key: THRIFT-865
                 URL: https://issues.apache.org/jira/browse/THRIFT-865
             Project: Thrift
          Issue Type: Bug
          Components: C++ - Compiler
    Affects Versions: 0.4
         Environment: Linux ubuntu 2.6.32-24-generic #39-Ubuntu SMP Wed Jul 28 06:07:29 UTC 2010 i686 GNU/Linux
            Reporter: Carl Steinbach


I tried building the thrift 0.4.0 tarball on an Ubuntu machine that does not have Flex installed:

{code}
% ./configure
...

checking for bison... no
checking for byacc... no
checking for flex... no
checking for lex... no
...

% make && make install
...
libtool: link: g++ -Wall -I./src -I/usr/include -g -O2 -Wall -o thrift thrift-thrifty.o thrift-thriftl.o thrift-main.o md5.o thrift-t_generator.o 
thrift-t_cpp_generator.o thrift-t_java_generator.o thrift-t_as3_generator.o thrift-t_csharp_generator.o thrift-t_py_generator.o 
thrift-t_rb_generator.o thrift-t_perl_generator.o thrift-t_php_generator.o thrift-t_erl_generator.o thrift-t_cocoa_generator.o 
thrift-t_st_generator.o thrift-t_ocaml_generator.o thrift-t_hs_generator.o thrift-t_xsd_generator.o thrift-t_html_generator.o 
thrift-t_js_generator.o  -L/usr/lib -lrt -lpthread
thrift-thriftl.o: In function `yyinput':
/home/carl/tmp/thrift-0.4.0/compiler/cpp/thriftl.cc:2947: undefined reference to `yywrap'
thrift-thriftl.o: In function `yylex()':
/home/carl/tmp/thrift-0.4.0/compiler/cpp/thriftl.cc:2642: undefined reference to `yywrap'
collect2: ld returned 1 exit status
make[3]: *** [thrift] Error 1
make[3]: Leaving directory `/home/carl/tmp/thrift-0.4.0/compiler/cpp'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/carl/tmp/thrift-0.4.0/compiler/cpp'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/carl/tmp/thrift-0.4.0'
make: *** [all] Error 2
%
{code}

Relevant: http://stackoverflow.com/questions/1811125/undefined-reference-to-yywrap

Looks like the relevant token in compiler/cpp/thriftl.cc is YY_SKIP_YYWRAP.



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


[jira] Commented: (THRIFT-865) C++ compiler build depends on libfl even when flex/lex not detected

Posted by "David Reiss (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/THRIFT-865?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12904711#action_12904711 ] 

David Reiss commented on THRIFT-865:
------------------------------------

Click the "all" tab. :)  I'll run through and resolve everything that was handled with that big batch.

> C++ compiler build depends on libfl even when flex/lex not detected
> -------------------------------------------------------------------
>
>                 Key: THRIFT-865
>                 URL: https://issues.apache.org/jira/browse/THRIFT-865
>             Project: Thrift
>          Issue Type: Bug
>          Components: C++ - Compiler
>    Affects Versions: 0.4
>         Environment: Linux ubuntu 2.6.32-24-generic #39-Ubuntu SMP Wed Jul 28 06:07:29 UTC 2010 i686 GNU/Linux
>            Reporter: Carl Steinbach
>             Fix For: 0.5
>
>         Attachments: v4-0014-THRIFT-865.-Make-Thrift-buildable-without-libfl.patch
>
>
> I tried building the thrift 0.4.0 tarball on an Ubuntu machine that does not have Flex installed:
> {code}
> % ./configure
> ...
> checking for bison... no
> checking for byacc... no
> checking for flex... no
> checking for lex... no
> ...
> % make && make install
> ...
> libtool: link: g++ -Wall -I./src -I/usr/include -g -O2 -Wall -o thrift thrift-thrifty.o thrift-thriftl.o thrift-main.o md5.o thrift-t_generator.o 
> thrift-t_cpp_generator.o thrift-t_java_generator.o thrift-t_as3_generator.o thrift-t_csharp_generator.o thrift-t_py_generator.o 
> thrift-t_rb_generator.o thrift-t_perl_generator.o thrift-t_php_generator.o thrift-t_erl_generator.o thrift-t_cocoa_generator.o 
> thrift-t_st_generator.o thrift-t_ocaml_generator.o thrift-t_hs_generator.o thrift-t_xsd_generator.o thrift-t_html_generator.o 
> thrift-t_js_generator.o  -L/usr/lib -lrt -lpthread
> thrift-thriftl.o: In function `yyinput':
> /home/carl/tmp/thrift-0.4.0/compiler/cpp/thriftl.cc:2947: undefined reference to `yywrap'
> thrift-thriftl.o: In function `yylex()':
> /home/carl/tmp/thrift-0.4.0/compiler/cpp/thriftl.cc:2642: undefined reference to `yywrap'
> collect2: ld returned 1 exit status
> make[3]: *** [thrift] Error 1
> make[3]: Leaving directory `/home/carl/tmp/thrift-0.4.0/compiler/cpp'
> make[2]: *** [all] Error 2
> make[2]: Leaving directory `/home/carl/tmp/thrift-0.4.0/compiler/cpp'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory `/home/carl/tmp/thrift-0.4.0'
> make: *** [all] Error 2
> %
> {code}
> Relevant: http://stackoverflow.com/questions/1811125/undefined-reference-to-yywrap
> Looks like the relevant token in compiler/cpp/thriftl.cc is YY_SKIP_YYWRAP.

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


[jira] Resolved: (THRIFT-865) C++ compiler build depends on libfl even when flex/lex not detected

Posted by "David Reiss (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/THRIFT-865?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

David Reiss resolved THRIFT-865.
--------------------------------

         Assignee: David Reiss
    Fix Version/s: 0.5
       Resolution: Fixed

> C++ compiler build depends on libfl even when flex/lex not detected
> -------------------------------------------------------------------
>
>                 Key: THRIFT-865
>                 URL: https://issues.apache.org/jira/browse/THRIFT-865
>             Project: Thrift
>          Issue Type: Bug
>          Components: C++ - Compiler
>    Affects Versions: 0.4
>         Environment: Linux ubuntu 2.6.32-24-generic #39-Ubuntu SMP Wed Jul 28 06:07:29 UTC 2010 i686 GNU/Linux
>            Reporter: Carl Steinbach
>            Assignee: David Reiss
>             Fix For: 0.5
>
>         Attachments: v4-0014-THRIFT-865.-Make-Thrift-buildable-without-libfl.patch
>
>
> I tried building the thrift 0.4.0 tarball on an Ubuntu machine that does not have Flex installed:
> {code}
> % ./configure
> ...
> checking for bison... no
> checking for byacc... no
> checking for flex... no
> checking for lex... no
> ...
> % make && make install
> ...
> libtool: link: g++ -Wall -I./src -I/usr/include -g -O2 -Wall -o thrift thrift-thrifty.o thrift-thriftl.o thrift-main.o md5.o thrift-t_generator.o 
> thrift-t_cpp_generator.o thrift-t_java_generator.o thrift-t_as3_generator.o thrift-t_csharp_generator.o thrift-t_py_generator.o 
> thrift-t_rb_generator.o thrift-t_perl_generator.o thrift-t_php_generator.o thrift-t_erl_generator.o thrift-t_cocoa_generator.o 
> thrift-t_st_generator.o thrift-t_ocaml_generator.o thrift-t_hs_generator.o thrift-t_xsd_generator.o thrift-t_html_generator.o 
> thrift-t_js_generator.o  -L/usr/lib -lrt -lpthread
> thrift-thriftl.o: In function `yyinput':
> /home/carl/tmp/thrift-0.4.0/compiler/cpp/thriftl.cc:2947: undefined reference to `yywrap'
> thrift-thriftl.o: In function `yylex()':
> /home/carl/tmp/thrift-0.4.0/compiler/cpp/thriftl.cc:2642: undefined reference to `yywrap'
> collect2: ld returned 1 exit status
> make[3]: *** [thrift] Error 1
> make[3]: Leaving directory `/home/carl/tmp/thrift-0.4.0/compiler/cpp'
> make[2]: *** [all] Error 2
> make[2]: Leaving directory `/home/carl/tmp/thrift-0.4.0/compiler/cpp'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory `/home/carl/tmp/thrift-0.4.0'
> make: *** [all] Error 2
> %
> {code}
> Relevant: http://stackoverflow.com/questions/1811125/undefined-reference-to-yywrap
> Looks like the relevant token in compiler/cpp/thriftl.cc is YY_SKIP_YYWRAP.

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


[jira] Commented: (THRIFT-865) C++ compiler build depends on libfl even when flex/lex not detected

Posted by "David Reiss (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/THRIFT-865?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12903661#action_12903661 ] 

David Reiss commented on THRIFT-865:
------------------------------------

It looks like the answer to my question is "yes".

> C++ compiler build depends on libfl even when flex/lex not detected
> -------------------------------------------------------------------
>
>                 Key: THRIFT-865
>                 URL: https://issues.apache.org/jira/browse/THRIFT-865
>             Project: Thrift
>          Issue Type: Bug
>          Components: C++ - Compiler
>    Affects Versions: 0.4
>         Environment: Linux ubuntu 2.6.32-24-generic #39-Ubuntu SMP Wed Jul 28 06:07:29 UTC 2010 i686 GNU/Linux
>            Reporter: Carl Steinbach
>         Attachments: v4-0014-THRIFT-865.-Make-Thrift-buildable-without-libfl.patch
>
>
> I tried building the thrift 0.4.0 tarball on an Ubuntu machine that does not have Flex installed:
> {code}
> % ./configure
> ...
> checking for bison... no
> checking for byacc... no
> checking for flex... no
> checking for lex... no
> ...
> % make && make install
> ...
> libtool: link: g++ -Wall -I./src -I/usr/include -g -O2 -Wall -o thrift thrift-thrifty.o thrift-thriftl.o thrift-main.o md5.o thrift-t_generator.o 
> thrift-t_cpp_generator.o thrift-t_java_generator.o thrift-t_as3_generator.o thrift-t_csharp_generator.o thrift-t_py_generator.o 
> thrift-t_rb_generator.o thrift-t_perl_generator.o thrift-t_php_generator.o thrift-t_erl_generator.o thrift-t_cocoa_generator.o 
> thrift-t_st_generator.o thrift-t_ocaml_generator.o thrift-t_hs_generator.o thrift-t_xsd_generator.o thrift-t_html_generator.o 
> thrift-t_js_generator.o  -L/usr/lib -lrt -lpthread
> thrift-thriftl.o: In function `yyinput':
> /home/carl/tmp/thrift-0.4.0/compiler/cpp/thriftl.cc:2947: undefined reference to `yywrap'
> thrift-thriftl.o: In function `yylex()':
> /home/carl/tmp/thrift-0.4.0/compiler/cpp/thriftl.cc:2642: undefined reference to `yywrap'
> collect2: ld returned 1 exit status
> make[3]: *** [thrift] Error 1
> make[3]: Leaving directory `/home/carl/tmp/thrift-0.4.0/compiler/cpp'
> make[2]: *** [all] Error 2
> make[2]: Leaving directory `/home/carl/tmp/thrift-0.4.0/compiler/cpp'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory `/home/carl/tmp/thrift-0.4.0'
> make: *** [all] Error 2
> %
> {code}
> Relevant: http://stackoverflow.com/questions/1811125/undefined-reference-to-yywrap
> Looks like the relevant token in compiler/cpp/thriftl.cc is YY_SKIP_YYWRAP.

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


[jira] Commented: (THRIFT-865) C++ compiler build depends on libfl even when flex/lex not detected

Posted by "Bryan Duxbury (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/THRIFT-865?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12904709#action_12904709 ] 

Bryan Duxbury commented on THRIFT-865:
--------------------------------------

Patch looks good to me, anything holding back commit?

> C++ compiler build depends on libfl even when flex/lex not detected
> -------------------------------------------------------------------
>
>                 Key: THRIFT-865
>                 URL: https://issues.apache.org/jira/browse/THRIFT-865
>             Project: Thrift
>          Issue Type: Bug
>          Components: C++ - Compiler
>    Affects Versions: 0.4
>         Environment: Linux ubuntu 2.6.32-24-generic #39-Ubuntu SMP Wed Jul 28 06:07:29 UTC 2010 i686 GNU/Linux
>            Reporter: Carl Steinbach
>         Attachments: v4-0014-THRIFT-865.-Make-Thrift-buildable-without-libfl.patch
>
>
> I tried building the thrift 0.4.0 tarball on an Ubuntu machine that does not have Flex installed:
> {code}
> % ./configure
> ...
> checking for bison... no
> checking for byacc... no
> checking for flex... no
> checking for lex... no
> ...
> % make && make install
> ...
> libtool: link: g++ -Wall -I./src -I/usr/include -g -O2 -Wall -o thrift thrift-thrifty.o thrift-thriftl.o thrift-main.o md5.o thrift-t_generator.o 
> thrift-t_cpp_generator.o thrift-t_java_generator.o thrift-t_as3_generator.o thrift-t_csharp_generator.o thrift-t_py_generator.o 
> thrift-t_rb_generator.o thrift-t_perl_generator.o thrift-t_php_generator.o thrift-t_erl_generator.o thrift-t_cocoa_generator.o 
> thrift-t_st_generator.o thrift-t_ocaml_generator.o thrift-t_hs_generator.o thrift-t_xsd_generator.o thrift-t_html_generator.o 
> thrift-t_js_generator.o  -L/usr/lib -lrt -lpthread
> thrift-thriftl.o: In function `yyinput':
> /home/carl/tmp/thrift-0.4.0/compiler/cpp/thriftl.cc:2947: undefined reference to `yywrap'
> thrift-thriftl.o: In function `yylex()':
> /home/carl/tmp/thrift-0.4.0/compiler/cpp/thriftl.cc:2642: undefined reference to `yywrap'
> collect2: ld returned 1 exit status
> make[3]: *** [thrift] Error 1
> make[3]: Leaving directory `/home/carl/tmp/thrift-0.4.0/compiler/cpp'
> make[2]: *** [all] Error 2
> make[2]: Leaving directory `/home/carl/tmp/thrift-0.4.0/compiler/cpp'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory `/home/carl/tmp/thrift-0.4.0'
> make: *** [all] Error 2
> %
> {code}
> Relevant: http://stackoverflow.com/questions/1811125/undefined-reference-to-yywrap
> Looks like the relevant token in compiler/cpp/thriftl.cc is YY_SKIP_YYWRAP.

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


[jira] Updated: (THRIFT-865) C++ compiler build depends on libfl even when flex/lex not detected

Posted by "David Reiss (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/THRIFT-865?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

David Reiss updated THRIFT-865:
-------------------------------

    Attachment: v4-0014-THRIFT-865.-Make-Thrift-buildable-without-libfl.patch

> C++ compiler build depends on libfl even when flex/lex not detected
> -------------------------------------------------------------------
>
>                 Key: THRIFT-865
>                 URL: https://issues.apache.org/jira/browse/THRIFT-865
>             Project: Thrift
>          Issue Type: Bug
>          Components: C++ - Compiler
>    Affects Versions: 0.4
>         Environment: Linux ubuntu 2.6.32-24-generic #39-Ubuntu SMP Wed Jul 28 06:07:29 UTC 2010 i686 GNU/Linux
>            Reporter: Carl Steinbach
>         Attachments: v4-0014-THRIFT-865.-Make-Thrift-buildable-without-libfl.patch
>
>
> I tried building the thrift 0.4.0 tarball on an Ubuntu machine that does not have Flex installed:
> {code}
> % ./configure
> ...
> checking for bison... no
> checking for byacc... no
> checking for flex... no
> checking for lex... no
> ...
> % make && make install
> ...
> libtool: link: g++ -Wall -I./src -I/usr/include -g -O2 -Wall -o thrift thrift-thrifty.o thrift-thriftl.o thrift-main.o md5.o thrift-t_generator.o 
> thrift-t_cpp_generator.o thrift-t_java_generator.o thrift-t_as3_generator.o thrift-t_csharp_generator.o thrift-t_py_generator.o 
> thrift-t_rb_generator.o thrift-t_perl_generator.o thrift-t_php_generator.o thrift-t_erl_generator.o thrift-t_cocoa_generator.o 
> thrift-t_st_generator.o thrift-t_ocaml_generator.o thrift-t_hs_generator.o thrift-t_xsd_generator.o thrift-t_html_generator.o 
> thrift-t_js_generator.o  -L/usr/lib -lrt -lpthread
> thrift-thriftl.o: In function `yyinput':
> /home/carl/tmp/thrift-0.4.0/compiler/cpp/thriftl.cc:2947: undefined reference to `yywrap'
> thrift-thriftl.o: In function `yylex()':
> /home/carl/tmp/thrift-0.4.0/compiler/cpp/thriftl.cc:2642: undefined reference to `yywrap'
> collect2: ld returned 1 exit status
> make[3]: *** [thrift] Error 1
> make[3]: Leaving directory `/home/carl/tmp/thrift-0.4.0/compiler/cpp'
> make[2]: *** [all] Error 2
> make[2]: Leaving directory `/home/carl/tmp/thrift-0.4.0/compiler/cpp'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory `/home/carl/tmp/thrift-0.4.0'
> make: *** [all] Error 2
> %
> {code}
> Relevant: http://stackoverflow.com/questions/1811125/undefined-reference-to-yywrap
> Looks like the relevant token in compiler/cpp/thriftl.cc is YY_SKIP_YYWRAP.

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


[jira] Commented: (THRIFT-865) C++ compiler build depends on libfl even when flex/lex not detected

Posted by "David Reiss (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/THRIFT-865?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12902031#action_12902031 ] 

David Reiss commented on THRIFT-865:
------------------------------------

Interesting.  Thanks for the link.  So does that mean that we can use "%option noyywrap" and not requrie libfl at all?

> C++ compiler build depends on libfl even when flex/lex not detected
> -------------------------------------------------------------------
>
>                 Key: THRIFT-865
>                 URL: https://issues.apache.org/jira/browse/THRIFT-865
>             Project: Thrift
>          Issue Type: Bug
>          Components: C++ - Compiler
>    Affects Versions: 0.4
>         Environment: Linux ubuntu 2.6.32-24-generic #39-Ubuntu SMP Wed Jul 28 06:07:29 UTC 2010 i686 GNU/Linux
>            Reporter: Carl Steinbach
>
> I tried building the thrift 0.4.0 tarball on an Ubuntu machine that does not have Flex installed:
> {code}
> % ./configure
> ...
> checking for bison... no
> checking for byacc... no
> checking for flex... no
> checking for lex... no
> ...
> % make && make install
> ...
> libtool: link: g++ -Wall -I./src -I/usr/include -g -O2 -Wall -o thrift thrift-thrifty.o thrift-thriftl.o thrift-main.o md5.o thrift-t_generator.o 
> thrift-t_cpp_generator.o thrift-t_java_generator.o thrift-t_as3_generator.o thrift-t_csharp_generator.o thrift-t_py_generator.o 
> thrift-t_rb_generator.o thrift-t_perl_generator.o thrift-t_php_generator.o thrift-t_erl_generator.o thrift-t_cocoa_generator.o 
> thrift-t_st_generator.o thrift-t_ocaml_generator.o thrift-t_hs_generator.o thrift-t_xsd_generator.o thrift-t_html_generator.o 
> thrift-t_js_generator.o  -L/usr/lib -lrt -lpthread
> thrift-thriftl.o: In function `yyinput':
> /home/carl/tmp/thrift-0.4.0/compiler/cpp/thriftl.cc:2947: undefined reference to `yywrap'
> thrift-thriftl.o: In function `yylex()':
> /home/carl/tmp/thrift-0.4.0/compiler/cpp/thriftl.cc:2642: undefined reference to `yywrap'
> collect2: ld returned 1 exit status
> make[3]: *** [thrift] Error 1
> make[3]: Leaving directory `/home/carl/tmp/thrift-0.4.0/compiler/cpp'
> make[2]: *** [all] Error 2
> make[2]: Leaving directory `/home/carl/tmp/thrift-0.4.0/compiler/cpp'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory `/home/carl/tmp/thrift-0.4.0'
> make: *** [all] Error 2
> %
> {code}
> Relevant: http://stackoverflow.com/questions/1811125/undefined-reference-to-yywrap
> Looks like the relevant token in compiler/cpp/thriftl.cc is YY_SKIP_YYWRAP.

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