Tomasz Kupczyk created THRIFT-3163: -------------------------------------- Summary: Build failure due to ylwrap being called with wrong arguments Key: THRIFT-3163 URL: https://issues.apache.org/jira/browse/THRIFT-3163 Project: Thrift Issue Type: Bug Environment: Ubuntu 15.04 automake 1.14.1 GNU Make 4.0 ylwrap 2013-01-12.17 Reporter: Tomasz Kupczyk Priority: Minor
Hey, when trying to build on fresh Ubuntu 15.04 installation I got this problem: floyd@floyd-VirtualBox:~/thrift$ make make all-recursive make[1]: Entering directory '/home/floyd/thrift' Making all in compiler/cpp make[2]: Entering directory '/home/floyd/thrift/compiler/cpp' make all-am make[3]: Entering directory '/home/floyd/thrift/compiler/cpp' \ \ /bin/bash ../../ylwrap `test -f 'src/thriftl.ll' || echo './'`src/thriftl.ll .c thriftl.cc -- /bin/bash /home/floyd/thrift/missing flex /home/floyd/thrift/compiler/cpp/src/thriftl.ll:266: warning, rule cannot be matched /home/floyd/thrift/compiler/cpp/src/thriftl.ll:285: warning, rule cannot be matched /home/floyd/thrift/compiler/cpp/src/thriftl.ll:413: warning, rule cannot be matched lex.yythriftl.cc is unchanged g++ -DHAVE_CONFIG_H -I. -I../.. -I../../lib/cpp/src/thrift -I./src -Wall -Wno-sign-compare -Wno-unused -g -O2 -std=c++11 -MT libparse_a-thriftl.o -MD -MP -MF .deps/libparse_a-thriftl.Tpo -c -o libparse_a-thriftl.o `test -f 'thriftl.cc' || echo './'`thriftl.cc g++: error: ./thriftl.cc: No such file or directory g++: fatal error: no input files compilation terminated. Makefile:790: recipe for target 'libparse_a-thriftl.o' failed make[3]: *** [libparse_a-thriftl.o] Error 4 make[3]: Leaving directory '/home/floyd/thrift/compiler/cpp' Makefile:579: recipe for target 'all' failed make[2]: *** [all] Error 2 make[2]: Leaving directory '/home/floyd/thrift/compiler/cpp' Makefile:600: recipe for target 'all-recursive' failed make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory '/home/floyd/thrift' Makefile:521: recipe for target 'all' failed make: *** [all] Error 2 I found the problem is in this command: /bin/bash ../../ylwrap `test -f 'src/thriftl.ll' || echo './'`src/thriftl.ll .c thriftl.cc -- /bin/bash /home/floyd/thrift/missing flex Exactly in second argument to ylwrap which above is just string '.c'. The proper command to run should be: floyd@floyd-VirtualBox:~/thrift$ cd compiler/cpp/ floyd@floyd-VirtualBox:~/thrift/compiler/cpp$ /bin/bash ../../ylwrap `test -f 'src/thriftl.ll' || echo './'`src/thriftl.ll lex.yy.c thriftl.cc -- /bin/bash /home/floyd/thrift/missing flex So instead of '.c' it should have 'lex.yy.c' name which is the default name for lex generated filenames AFAIK. After manually running this command the build continues and even finishes (hurray!). -- This message was sent by Atlassian JIRA (v6.3.4#6332)