[ 
https://issues.apache.org/jira/browse/THRIFT-3327?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jens Geyer closed THRIFT-3327.
------------------------------
       Resolution: Duplicate
    Fix Version/s:     (was: 1.0)

> libboost_unit_test_framework.a not found during build
> -----------------------------------------------------
>
>                 Key: THRIFT-3327
>                 URL: https://issues.apache.org/jira/browse/THRIFT-3327
>             Project: Thrift
>          Issue Type: Bug
>          Components: Build Process
>    Affects Versions: 1.0
>         Environment: Debian 8 Jessie armhf (armhf emulation using qemu and 
> chroot environment on x86-64 host, also running Debian Jessie)
>            Reporter: Kurt Jensen
>            Priority: Minor
>
> Using
> ./configure --with-boost=/usr/lib/arm-linux-gnueabihf
> and then make produces:
> .......
> make[5]: Entering directory '/root/Packages/thrift/lib/cpp/test'
> /bin/bash ../../../libtool  --tag=CXX   --mode=link g++ -Wall -Wextra 
> -pedantic -g -O2 -std=c++11   -o processor_test processor/ProcessorTest.o 
> processor/EventLog.o processor/ServerThread.o libprocessortest.la 
> ../../../lib/cpp/libthrift.la ../../../lib/cpp/libthriftnb.la 
> /libboost_unit_test_framework.a  -levent -lssl -lcrypto -lrt -lpthread 
> libtool: link: g++ -Wall -Wextra -pedantic -g -O2 -std=c++11 -o 
> .libs/processor_test processor/ProcessorTest.o processor/EventLog.o 
> processor/ServerThread.o  ./.libs/libprocessortest.a -L/usr/lib 
> ../../../lib/cpp/.libs/libthrift.so ../../../lib/cpp/.libs/libthriftnb.so 
> /libboost_unit_test_framework.a -levent -lssl -lcrypto -lrt -lpthread
> g++: error: /libboost_unit_test_framework.a: No such file or directory
> Makefile:1142: recipe for target 'processor_test' failed
> make[5]: *** [processor_test] Error 1
> make[5]: Leaving directory '/root/Packages/thrift/lib/cpp/test'
> Makefile:927: recipe for target 'all' failed
> make[4]: *** [all] Error 2
> make[4]: Leaving directory '/root/Packages/thrift/lib/cpp/test'
> Makefile:1574: recipe for target 'all-recursive' failed
> make[3]: *** [all-recursive] Error 1
> make[3]: Leaving directory '/root/Packages/thrift/lib/cpp'
> Makefile:538: recipe for target 'all-recursive' failed
> make[2]: *** [all-recursive] Error 1
> make[2]: Leaving directory '/root/Packages/thrift/lib'
> Makefile:609: recipe for target 'all-recursive' failed
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory '/root/Packages/thrift'
> Makefile:530: recipe for target 'all' failed
> make: *** [all] Error 2
> If I then set a soft link (in the / directory, gulp!) like this:
> ln -s /usr/lib/arm-linux-gnueabihf/libboost_unit_test_framework.a 
> libboost_unit_test_framework.a
> and run make again, then the build completes.
> For reference, here is the configure output:
> root@debian8VM:~/Packages/thrift# ./configure 
> --with-boost=/usr/lib/arm-linux-gnueabihf
> checking for a BSD-compatible install... /usr/bin/install -c
> checking whether build environment is sane... yes
> checking for a thread-safe mkdir -p... /bin/mkdir -p
> checking for gawk... no
> checking for mawk... mawk
> checking whether make sets $(MAKE)... yes
> checking whether make supports nested variables... yes
> checking whether UID '0' is supported by ustar format... yes
> checking whether GID '0' is supported by ustar format... yes
> checking how to create a ustar tar archive... gnutar
> checking for pkg-config... /usr/bin/pkg-config
> checking pkg-config is at least version 0.9.0... yes
> checking for gcc... gcc
> checking whether the C compiler works... yes
> checking for C compiler default output file name... a.out
> checking for suffix of executables... 
> checking whether we are cross compiling... no
> checking for suffix of object files... o
> checking whether we are using the GNU C compiler... yes
> checking whether gcc accepts -g... yes
> checking for gcc option to accept ISO C89... none needed
> checking whether gcc understands -c and -o together... yes
> checking for style of include used by make... GNU
> checking dependency style of gcc... gcc3
> checking how to run the C preprocessor... gcc -E
> checking for g++... g++
> checking whether we are using the GNU C++ compiler... yes
> checking whether g++ accepts -g... yes
> checking dependency style of g++... gcc3
> checking build system type... armv7l-unknown-linux-gnueabihf
> checking host system type... armv7l-unknown-linux-gnueabihf
> checking how to print strings... printf
> checking for a sed that does not truncate output... /bin/sed
> checking for grep that handles long lines and -e... /bin/grep
> checking for egrep... /bin/grep -E
> checking for fgrep... /bin/grep -F
> checking for ld used by gcc... /usr/bin/ld
> checking if the linker (/usr/bin/ld) is GNU ld... yes
> checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
> checking the name lister (/usr/bin/nm -B) interface... BSD nm
> checking whether ln -s works... yes
> checking the maximum length of command line arguments... 1572864
> checking whether the shell understands some XSI constructs... yes
> checking whether the shell understands "+="... yes
> checking how to convert armv7l-unknown-linux-gnueabihf file names to 
> armv7l-unknown-linux-gnueabihf format... func_convert_file_noop
> checking how to convert armv7l-unknown-linux-gnueabihf file names to 
> toolchain format... func_convert_file_noop
> checking for /usr/bin/ld option to reload object files... -r
> checking for objdump... objdump
> checking how to recognize dependent libraries... pass_all
> checking for dlltool... no
> checking how to associate runtime and link libraries... printf %s\n
> checking for ar... ar
> checking for archiver @FILE support... @
> checking for strip... strip
> checking for ranlib... ranlib
> checking command to parse /usr/bin/nm -B output from gcc object... ok
> checking for sysroot... no
> checking for mt... mt
> checking if mt is a manifest tool... no
> checking for ANSI C header files... yes
> checking for sys/types.h... yes
> checking for sys/stat.h... yes
> checking for stdlib.h... yes
> checking for string.h... yes
> checking for memory.h... yes
> checking for strings.h... yes
> checking for inttypes.h... yes
> checking for stdint.h... yes
> checking for unistd.h... yes
> checking for dlfcn.h... yes
> checking for objdir... .libs
> checking if gcc supports -fno-rtti -fno-exceptions... no
> checking for gcc option to produce PIC... -fPIC -DPIC
> checking if gcc PIC flag -fPIC -DPIC works... yes
> checking if gcc static flag -static works... yes
> checking if gcc supports -c -o file.o... yes
> checking if gcc supports -c -o file.o... (cached) yes
> checking whether the gcc linker (/usr/bin/ld) supports shared libraries... yes
> checking whether -lc should be explicitly linked in... no
> checking dynamic linker characteristics... GNU/Linux ld.so
> checking how to hardcode library paths into programs... immediate
> checking whether stripping libraries is possible... yes
> checking if libtool supports shared libraries... yes
> checking whether to build shared libraries... yes
> checking whether to build static libraries... yes
> checking how to run the C++ preprocessor... g++ -E
> checking for ld used by g++... /usr/bin/ld
> checking if the linker (/usr/bin/ld) is GNU ld... yes
> checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes
> checking for g++ option to produce PIC... -fPIC -DPIC
> checking if g++ PIC flag -fPIC -DPIC works... yes
> checking if g++ static flag -static works... yes
> checking if g++ supports -c -o file.o... yes
> checking if g++ supports -c -o file.o... (cached) yes
> checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes
> checking dynamic linker characteristics... (cached) GNU/Linux ld.so
> checking how to hardcode library paths into programs... immediate
> checking whether make sets $(MAKE)... (cached) yes
> checking for bison... yes
> checking for bison version >= 2.5... yes
> checking for bison... bison -y
> checking for flex... flex
> checking lex output file root... lex.yy
> checking lex library... -lfl
> checking whether yytext is a pointer... yes
> checking whether ln -s works... yes
> checking for gawk... (cached) mawk
> checking for ranlib... (cached) ranlib
> checking whether g++ supports C++11 features by default... no
> checking whether g++ supports C++11 features with -std=c++11... yes
> checking for boostlib >= 1.53.0... yes
> checking for pkg-config... /usr/bin/pkg-config
> checking whether compiling and linking against OpenSSL works... yes
> checking for libevent >= 1.0... yes
> checking for zlib >= 1.2.3... yes
> checking for QT... no
> checking for QT5... no
> checking for GLIB... yes
> checking for GOBJECT... yes
> checking for MONO... no
> checking for MONO... no
> checking for MONO... no
> checking for javac and java... no
> checking for ant... no
> checking for ant version > 1.7... /usr/bin/expr: syntax error
> no
> checking for erl... no
> checking for erlc... no
> checking for nodejs... no
> checking for node... no
> checking for npm... no
> checking for a Lua interpreter with version >= 5.2... none
> checking for trial... no
> checking for a Python interpreter with version >= 2.4... python
> checking for python... /usr/bin/python
> checking for python version... 2.7
> checking for python platform... linux2
> checking for python script directory... ${prefix}/lib/python2.7/dist-packages
> checking for python extension module directory... 
> ${exec_prefix}/lib/python2.7/dist-packages
> checking for perl... /usr/bin/perl
> checking for perl module Bit::Vector... no
> checking for perl module Class::Accessor... no
> checking for php... no
> checking for phpunit... no
> checking for ruby... no
> checking for bundle... no
> checking for cabal... no
> checking for runhaskell... no
> checking for go... no
> checking for haxe... no
> checking for DMD... no
> checking for library containing strerror... none required
> checking for an ANSI C-conforming const... yes
> checking for inline... inline
> checking for working volatile... yes
> checking for stdbool.h that conforms to C99... yes
> checking for _Bool... no
> checking for ANSI C header files... (cached) yes
> checking whether time.h and sys/time.h may both be included... yes
> checking for sys/wait.h that is POSIX.1 compatible... yes
> checking return type of signal handlers... void
> checking arpa/inet.h usability... yes
> checking arpa/inet.h presence... yes
> checking for arpa/inet.h... yes
> checking sys/param.h usability... yes
> checking sys/param.h presence... yes
> checking for sys/param.h... yes
> checking fcntl.h usability... yes
> checking fcntl.h presence... yes
> checking for fcntl.h... yes
> checking for inttypes.h... (cached) yes
> checking limits.h usability... yes
> checking limits.h presence... yes
> checking for limits.h... yes
> checking netdb.h usability... yes
> checking netdb.h presence... yes
> checking for netdb.h... yes
> checking netinet/in.h usability... yes
> checking netinet/in.h presence... yes
> checking for netinet/in.h... yes
> checking pthread.h usability... yes
> checking pthread.h presence... yes
> checking for pthread.h... yes
> checking stddef.h usability... yes
> checking stddef.h presence... yes
> checking for stddef.h... yes
> checking for stdlib.h... (cached) yes
> checking sys/socket.h usability... yes
> checking sys/socket.h presence... yes
> checking for sys/socket.h... yes
> checking sys/time.h usability... yes
> checking sys/time.h presence... yes
> checking for sys/time.h... yes
> checking sys/un.h usability... yes
> checking sys/un.h presence... yes
> checking for sys/un.h... yes
> checking sys/poll.h usability... yes
> checking sys/poll.h presence... yes
> checking for sys/poll.h... yes
> checking sys/resource.h usability... yes
> checking sys/resource.h presence... yes
> checking for sys/resource.h... yes
> checking for unistd.h... (cached) yes
> checking libintl.h usability... yes
> checking libintl.h presence... yes
> checking for libintl.h... yes
> checking malloc.h usability... yes
> checking malloc.h presence... yes
> checking for malloc.h... yes
> checking openssl/ssl.h usability... yes
> checking openssl/ssl.h presence... yes
> checking for openssl/ssl.h... yes
> checking openssl/rand.h usability... yes
> checking openssl/rand.h presence... yes
> checking for openssl/rand.h... yes
> checking openssl/x509v3.h usability... yes
> checking openssl/x509v3.h presence... yes
> checking for openssl/x509v3.h... yes
> checking sched.h usability... yes
> checking sched.h presence... yes
> checking for sched.h... yes
> checking wchar.h usability... yes
> checking wchar.h presence... yes
> checking for wchar.h... yes
> checking for pthread_create in -lpthread... yes
> checking for clock_gettime in -lrt... yes
> checking for setsockopt in -lsocket... no
> checking for BN_init in -lcrypto... yes
> checking for SSL_ctrl in -lssl... yes
> checking for int16_t... yes
> checking for int32_t... yes
> checking for int64_t... yes
> checking for int8_t... yes
> checking for mode_t... yes
> checking for off_t... yes
> checking for size_t... yes
> checking for ssize_t... yes
> checking for uint16_t... yes
> checking for uint32_t... yes
> checking for uint64_t... yes
> checking for uint8_t... yes
> checking for ptrdiff_t... yes
> checking whether struct tm is in sys/time.h or time.h... time.h
> checking whether AI_ADDRCONFIG is declared... yes
> checking for working alloca.h... yes
> checking for alloca... yes
> checking for pid_t... yes
> checking vfork.h usability... no
> checking vfork.h presence... no
> checking for vfork.h... no
> checking for fork... yes
> checking for vfork... yes
> checking for working fork... yes
> checking for working vfork... (cached) yes
> checking for stdlib.h... (cached) yes
> checking for GNU libc compatible malloc... yes
> checking for working memcmp... yes
> checking for stdlib.h... (cached) yes
> checking for GNU libc compatible realloc... yes
> checking sys/select.h usability... yes
> checking sys/select.h presence... yes
> checking for sys/select.h... yes
> checking for sys/socket.h... (cached) yes
> checking types of arguments for select... int,fd_set *,struct timeval *
> checking whether lstat correctly handles trailing slash... yes
> checking whether stat accepts an empty string... no
> checking whether strerror_r is declared... yes
> checking for strerror_r... yes
> checking whether strerror_r returns char *... yes
> checking for strftime... yes
> checking for vprintf... yes
> checking for _doprnt... no
> checking for strtoul... yes
> checking for bzero... yes
> checking for ftruncate... yes
> checking for gethostbyname... yes
> checking for gethostbyname_r... yes
> checking for gettimeofday... yes
> checking for memmove... yes
> checking for memset... yes
> checking for mkdir... yes
> checking for realpath... yes
> checking for select... yes
> checking for setlocale... yes
> checking for socket... yes
> checking for strchr... yes
> checking for strdup... yes
> checking for strerror... yes
> checking for strstr... yes
> checking for strtol... yes
> checking for sqrt... yes
> checking for alarm... yes
> checking for clock_gettime... yes
> checking for sched_get_priority_min... yes
> checking for sched_get_priority_max... yes
> checking for inet_ntoa... yes
> checking for pow... yes
> checking the behavior of a signed right shift... arithmetic
> checking that generated files are newer than configure... done
> configure: creating ./config.status
> config.status: creating Makefile
> config.status: creating compiler/cpp/Makefile
> config.status: creating compiler/cpp/version.h
> config.status: creating compiler/cpp/src/windows/version.h
> config.status: creating lib/Makefile
> config.status: creating lib/cpp/Makefile
> config.status: creating lib/cpp/test/Makefile
> config.status: creating lib/cpp/thrift-nb.pc
> config.status: creating lib/cpp/thrift-z.pc
> config.status: creating lib/cpp/thrift-qt.pc
> config.status: creating lib/cpp/thrift-qt5.pc
> config.status: creating lib/cpp/thrift.pc
> config.status: creating lib/c_glib/Makefile
> config.status: creating lib/c_glib/thrift_c_glib.pc
> config.status: creating lib/c_glib/test/Makefile
> config.status: creating lib/csharp/Makefile
> config.status: creating lib/csharp/test/ThriftTest/Makefile
> config.status: creating lib/d/Makefile
> config.status: creating lib/d/test/Makefile
> config.status: creating lib/erl/Makefile
> config.status: creating lib/go/Makefile
> config.status: creating lib/go/test/Makefile
> config.status: creating lib/haxe/test/Makefile
> config.status: creating lib/hs/Makefile
> config.status: creating lib/java/Makefile
> config.status: creating lib/js/test/Makefile
> config.status: creating lib/nodejs/Makefile
> config.status: creating lib/perl/Makefile
> config.status: creating lib/perl/test/Makefile
> config.status: creating lib/php/Makefile
> config.status: creating lib/php/test/Makefile
> config.status: creating lib/py/Makefile
> config.status: creating lib/rb/Makefile
> config.status: creating lib/lua/Makefile
> config.status: creating test/Makefile
> config.status: creating test/c_glib/Makefile
> config.status: creating test/cpp/Makefile
> config.status: creating test/erl/Makefile
> config.status: creating test/go/Makefile
> config.status: creating test/haxe/Makefile
> config.status: creating test/hs/Makefile
> config.status: creating test/php/Makefile
> config.status: creating test/perl/Makefile
> config.status: creating test/py/Makefile
> config.status: creating test/py.twisted/Makefile
> config.status: creating test/py.tornado/Makefile
> config.status: creating test/rb/Makefile
> config.status: creating tutorial/Makefile
> config.status: creating tutorial/c_glib/Makefile
> config.status: creating tutorial/cpp/Makefile
> config.status: creating tutorial/go/Makefile
> config.status: creating tutorial/haxe/Makefile
> config.status: creating tutorial/hs/Makefile
> config.status: creating tutorial/java/Makefile
> config.status: creating tutorial/js/Makefile
> config.status: creating tutorial/nodejs/Makefile
> config.status: creating tutorial/py/Makefile
> config.status: creating tutorial/py.twisted/Makefile
> config.status: creating tutorial/py.tornado/Makefile
> config.status: creating tutorial/rb/Makefile
> config.status: creating config.h
> config.status: config.h is unchanged
> config.status: creating lib/cpp/src/thrift/config.h
> config.status: lib/cpp/src/thrift/config.h is unchanged
> config.status: executing depfiles commands
> config.status: executing libtool commands
> thrift 1.0.0-dev
> Building C++ Library ......... : yes
> Building C (GLib) Library .... : yes
> Building Java Library ........ : no
> Building C# Library .......... : no
> Building Python Library ...... : no
> Building Ruby Library ........ : no
> Building Haxe Library ........ : no
> Building Haskell Library ..... : no
> Building Perl Library ........ : no
> Building PHP Library ......... : no
> Building Erlang Library ...... : no
> Building Go Library .......... : no
> Building D Library ........... : no
> Building NodeJS Library ...... : no
> Building Lua Library ......... : no
> C++ Library:
>    Build TZlibTransport ...... : yes
>    Build TNonblockingServer .. : yes
>    Build TQTcpServer (Qt4) .... : no
>    Build TQTcpServer (Qt5) .... : no
> If something is missing that you think should be present,
> please skim the output of configure to find the missing
> component.  Details are present in config.log.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to