avast / retdec

RetDec is a retargetable machine-code decompiler based on LLVM.
https://retdec.com/
MIT License
7.93k stars 939 forks source link

Build Issue on Fedora 26: error: possibly undefined macro: AC_PROG_LIBTOOL #25

Closed NoFear0411 closed 6 years ago

NoFear0411 commented 6 years ago

Hello,

I was following your linux guide to build it on linux and run on some troubles with the build. My OS is fedora 26 x86_64 4.14.4-200.fc26.x86_64. Installed all the dependencies but I get a weird make error on llvm-project.

scanning dependencies of target llvm-dis [100%] Building CXX object tools/llvm-dis/CMakeFiles/llvm-dis.dir/llvm-dis.cpp.o [100%] Linking CXX executable ../../bin/llvm-dis [100%] Built target llvm-dis [ 29%] No install step for 'llvm-project' [ 30%] Completed 'llvm-project' [ 30%] Built target llvm-project make: *** [Makefile:152: all] Error 2

The cmake runs with 0 problems that I can detect

cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/Downloads/avast/ -DRETDEC_DOC=ON -- The CXX compiler identification is GNU 7.2.1 -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Setting build type to 'Release' as none was specified. -- The C compiler identification is GNU 7.2.1 -- Check for working C compiler: /usr/bin/cc -- Check for working C compiler: /usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done Enabling CAPSTONE_ARM_SUPPORT Enabling CAPSTONE_ARM64_SUPPORT Enabling CAPSTONE_M68K_SUPPORT Enabling CAPSTONE_MIPS_SUPPORT Enabling CAPSTONE_PPC_SUPPORT Enabling CAPSTONE_SPARC_SUPPORT Enabling CAPSTONE_SYSZ_SUPPORT Enabling CAPSTONE_XCORE_SUPPORT Enabling CAPSTONE_X86_SUPPORT Enabling CAPSTONE_TMS320C64X_SUPPORT Enabling CAPSTONE_M680X_SUPPORT -- The ASM compiler identification is GNU -- Found assembler: /usr/bin/cc -- Looking for dirent.h -- Looking for dirent.h - found -- Looking for dlfcn.h -- Looking for dlfcn.h - found -- Looking for errno.h -- Looking for errno.h - found -- Looking for execinfo.h -- Looking for execinfo.h - found -- Looking for fcntl.h -- Looking for fcntl.h - found -- Looking for inttypes.h -- Looking for inttypes.h - found -- Looking for limits.h -- Looking for limits.h - found -- Looking for link.h -- Looking for link.h - found -- Looking for malloc.h -- Looking for malloc.h - found -- Looking for malloc/malloc.h -- Looking for malloc/malloc.h - not found -- Looking for ndir.h -- Looking for ndir.h - not found -- Looking for pthread.h -- Looking for pthread.h - found -- Looking for signal.h -- Looking for signal.h - found -- Looking for stdint.h -- Looking for stdint.h - found -- Looking for sys/dir.h -- Looking for sys/dir.h - found -- Looking for sys/ioctl.h -- Looking for sys/ioctl.h - found -- Looking for sys/mman.h -- Looking for sys/mman.h - found -- Looking for sys/ndir.h -- Looking for sys/ndir.h - not found -- Looking for sys/param.h -- Looking for sys/param.h - found -- Looking for sys/resource.h -- Looking for sys/resource.h - found -- Looking for sys/stat.h -- Looking for sys/stat.h - found -- Looking for sys/time.h -- Looking for sys/time.h - found -- Looking for sys/uio.h -- Looking for sys/uio.h - found -- Looking for termios.h -- Looking for termios.h - found -- Looking for unistd.h -- Looking for unistd.h - found -- Looking for utime.h -- Looking for utime.h - found -- Looking for zlib.h -- Looking for zlib.h - found -- Looking for fenv.h -- Looking for fenv.h - found -- Looking for FE_ALL_EXCEPT -- Looking for FE_ALL_EXCEPT - found -- Looking for FE_INEXACT -- Looking for FE_INEXACT - found -- Looking for mach/mach.h -- Looking for mach/mach.h - not found -- Looking for mach-o/dyld.h -- Looking for mach-o/dyld.h - not found -- Looking for histedit.h -- Looking for histedit.h - not found -- Performing Test HAVE_CXXABI_H -- Performing Test HAVE_CXXABI_H - Success -- Looking for pthread_create in pthread -- Looking for pthread_create in pthread - found -- Looking for pthread_getspecific in pthread -- Looking for pthread_getspecific in pthread - found -- Looking for pthread_rwlock_init in pthread -- Looking for pthread_rwlock_init in pthread - found -- Looking for pthread_mutex_lock in pthread -- Looking for pthread_mutex_lock in pthread - found -- Looking for dlopen in dl -- Looking for dlopen in dl - found -- Looking for clock_gettime in rt -- Looking for clock_gettime in rt - found -- Looking for compress2 in z -- Looking for compress2 in z - found -- Looking for setupterm in tinfo -- Looking for setupterm in tinfo - not found -- Looking for setupterm in terminfo -- Looking for setupterm in terminfo - not found -- Looking for setupterm in curses -- Looking for setupterm in curses - not found -- Looking for setupterm in ncurses -- Looking for setupterm in ncurses - not found -- Looking for setupterm in ncursesw -- Looking for setupterm in ncursesw - not found -- Looking for arc4random -- Looking for arc4random - not found -- Looking for backtrace -- Looking for backtrace - found -- Looking for getpagesize -- Looking for getpagesize - found -- Looking for getrusage -- Looking for getrusage - found -- Looking for setrlimit -- Looking for setrlimit - found -- Looking for isatty -- Looking for isatty - found -- Looking for futimens -- Looking for futimens - found -- Looking for futimes -- Looking for futimes - found -- Looking for writev -- Looking for writev - found -- Looking for mallctl -- Looking for mallctl - not found -- Looking for mallinfo -- Looking for mallinfo - found -- Looking for malloc_zone_statistics -- Looking for malloc_zone_statistics - not found -- Looking for mkdtemp -- Looking for mkdtemp - found -- Looking for mkstemp -- Looking for mkstemp - found -- Looking for mktemp -- Looking for mktemp - found -- Looking for closedir -- Looking for closedir - found -- Looking for opendir -- Looking for opendir - found -- Looking for readdir -- Looking for readdir - found -- Looking for getcwd -- Looking for getcwd - found -- Looking for gettimeofday -- Looking for gettimeofday - found -- Looking for getrlimit -- Looking for getrlimit - found -- Looking for posix_spawn -- Looking for posix_spawn - found -- Looking for pread -- Looking for pread - found -- Looking for realpath -- Looking for realpath - found -- Looking for sbrk -- Looking for sbrk - found -- Looking for srand48 -- Looking for srand48 - found -- Looking for lrand48 -- Looking for lrand48 - found -- Looking for drand48 -- Looking for drand48 - found -- Looking for strtoll -- Looking for strtoll - found -- Looking for strtoq -- Looking for strtoq - found -- Looking for strerror -- Looking for strerror - found -- Looking for strerror_r -- Looking for strerror_r - found -- Looking for strerror_s -- Looking for strerror_s - not found -- Looking for setenv -- Looking for setenv - found -- Looking for dlerror -- Looking for dlerror - found -- Looking for dlopen -- Looking for dlopen - found -- Looking for GLIBC -- Looking for GLIBC - found -- Performing Test HAVE_INT64_T -- Performing Test HAVE_INT64_T - Success -- Performing Test HAVE_UINT64_T -- Performing Test HAVE_UINT64_T - Success -- Performing Test HAVE_U_INT64_T -- Performing Test HAVE_U_INT64_T - Success -- Performing Test HAVE_CXX_ATOMICS_WITHOUT_LIB -- Performing Test HAVE_CXX_ATOMICS_WITHOUT_LIB - Success -- Performing Test LLVM_HAS_ATOMICS -- Performing Test LLVM_HAS_ATOMICS - Success -- Performing Test SUPPORTS_NO_VARIADIC_MACROS_FLAG -- Performing Test SUPPORTS_NO_VARIADIC_MACROS_FLAG - Success -- Performing Test HAS_MAYBE_UNINITIALIZED -- Performing Test HAS_MAYBE_UNINITIALIZED - Success -- Target triple: x86_64-unknown-linux-gnu -- Native target architecture is X86 -- Threads enabled. -- Performing Test C_SUPPORTS_FPIC -- Performing Test C_SUPPORTS_FPIC - Success -- Performing Test CXX_SUPPORTS_FPIC -- Performing Test CXX_SUPPORTS_FPIC - Success -- Building with -fPIC -- Performing Test SUPPORTS_FVISIBILITY_INLINES_HIDDEN_FLAG -- Performing Test SUPPORTS_FVISIBILITY_INLINES_HIDDEN_FLAG - Success -- Performing Test CXX_SUPPORTS_MISSING_FIELD_INITIALIZERS_FLAG -- Performing Test CXX_SUPPORTS_MISSING_FIELD_INITIALIZERS_FLAG - Success -- Performing Test C_SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG -- Performing Test C_SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG - Failed -- Performing Test CXX_SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG -- Performing Test CXX_SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG - Failed -- Performing Test C_SUPPORTS_DELETE_NON_VIRTUAL_DTOR_FLAG -- Performing Test C_SUPPORTS_DELETE_NON_VIRTUAL_DTOR_FLAG - Failed -- Performing Test CXX_SUPPORTS_DELETE_NON_VIRTUAL_DTOR_FLAG -- Performing Test CXX_SUPPORTS_DELETE_NON_VIRTUAL_DTOR_FLAG - Success -- Performing Test C_WCOMMENT_ALLOWS_LINE_WRAP -- Performing Test C_WCOMMENT_ALLOWS_LINE_WRAP - Failed -- Performing Test CXX_SUPPORTS_CXX11 -- Performing Test CXX_SUPPORTS_CXX11 - Success -- Performing Test C_SUPPORTS_FNO_FUNCTION_SECTIONS -- Performing Test C_SUPPORTS_FNO_FUNCTION_SECTIONS - Success -- Performing Test C_SUPPORTS_FFUNCTION_SECTIONS -- Performing Test C_SUPPORTS_FFUNCTION_SECTIONS - Success -- Performing Test CXX_SUPPORTS_FFUNCTION_SECTIONS -- Performing Test CXX_SUPPORTS_FFUNCTION_SECTIONS - Success -- Performing Test C_SUPPORTS_FDATA_SECTIONS -- Performing Test C_SUPPORTS_FDATA_SECTIONS - Success -- Performing Test CXX_SUPPORTS_FDATA_SECTIONS -- Performing Test CXX_SUPPORTS_FDATA_SECTIONS - Success -- Found PythonInterp: /usr/bin/python2.7 (found version "2.7.14") -- Constructing LLVMBuild project information -- Targeting AArch64 -- Targeting ARM -- Targeting Hexagon -- Targeting Mips -- Targeting PowerPC -- Targeting Sparc -- Targeting SystemZ -- Targeting X86 -- Found PkgConfig: /usr/bin/pkg-config (found version "1.3.12") -- Looking for pthread.h -- Looking for pthread.h - found -- Looking for pthread_create -- Looking for pthread_create - not found -- Looking for pthread_create in pthreads -- Looking for pthread_create in pthreads - not found -- Looking for pthread_create in pthread -- Looking for pthread_create in pthread - found -- Found Threads: TRUE
-- Found ZLIB: /usr/lib64/libz.so (found version "1.2.11") -- Found Perl: /usr/bin/perl (found version "5.24.3") -- Found FLEX: /usr/bin/flex (found version "2.6.1") -- Found BISON: /usr/bin/bison (found version "3.0.4") -- Found Doxygen: /usr/bin/doxygen (found version "1.8.13") found components: doxygen dot -- Configuring done -- Generating done -- Build files have been written to: /home/user/Downloads/retdec/build

Any feedback would be appreciated.

Thanks!!

s3rvac commented 6 years ago

Thank you for the report. Can you please try running make again and post its output?

NoFear0411 commented 6 years ago

I went and rm -rf build, recreate it and tried running cmake like this:

cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/Downloads/avast/ -DRETDEC_DOC=ON

after that

make -j4 to speed things up

I've attached the output of my steps.

make_log.txt warning_log.txt cmake_log.txt

metthal commented 6 years ago
configure.ac:23: error: possibly undefined macro: AC_PROG_LIBTOOL
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.
autoreconf: /usr/bin/autoconf failed with exit status: 1

Please, install libtool by running

# dnf install libtool

and try again. I'll try to compile list of all required packages for Fedora and put it into README.

s3rvac commented 6 years ago

In 8bc6e5518f7ccdaf3790c0bd5d6850ac5c0b4f58, I have added libtool into the list of required packages for Linux builds in the README as it is also required on other Linux distributions.

NoFear0411 commented 6 years ago

Strange,

Package libtool-2.4.6-17.fc26.x86_64 is already installed, skipping.

The libtool was already installed. Perhaps a broken package? Did a reinstall on the libtool and now everything works fine.

Build passed with no problems.

Thank you