[cfe-dev] [llvm-dev] LLVM-3.8.0 libcxx in-tree build fails with cmath error ::signbit has not been declared

Oza, Hiral via cfe-dev cfe-dev at lists.llvm.org
Thu Mar 17 00:58:12 PDT 2016


Sorry Eric for late reply…

> Could you provide the compiler invocation used for that file?

Probably attached build log may help…

Appreciate your help.

Thank you.
-Hiral


From: Eric Fiselier [mailto:eric at efcs.ca]
Sent: Monday, March 14, 2016 10:16 PM
To: Oza, Hiral <Hiral.Oza at netapp.com>
Cc: cfe-dev at lists.llvm.org; LLVM Dev <llvm-dev at lists.llvm.org>
Subject: Re: [llvm-dev] LLVM-3.8.0 libcxx in-tree build fails with cmath error ::signbit has not been declared

Well unfortunately that doesn't help me either. Something really weird seems to be going on because libc++ provides the definition for these functions itself it libcxx/include/math.h. I suspect that maybe CMake is really messing up the compiler invocation but honestly I have no clue.

Could you provide the compiler invocation used for that file?

/Eric

On Mon, Mar 14, 2016 at 10:17 AM, Oza, Hiral <Hiral.Oza at netapp.com<mailto:Hiral.Oza at netapp.com>> wrote:
cmake -E cmake_progress_report llvm-3.8.0.src_bld_x86_64-rhel6.4-linux-gnu/CMakeFiles
In file included from llvm-3.8.0.src/projects/libcxx/include/__hash_table:19:0,
                 from llvm-3.8.0.src/projects/libcxx/src/hash.cpp:10:
llvm-3.8.0.src/projects/libcxx/include/cmath:310:9: error: '::signbit' has not been declared
using ::signbit;
         ^
llvm-3.8.0.src/projects/libcxx/include/cmath:311:9: error: '::fpclassify' has not been declared
using ::fpclassify;
         ^
llvm-3.8.0.src/projects/libcxx/include/cmath:312:9: error: '::isfinite' has not been declared
using ::isfinite;
         ^
llvm-3.8.0.src/projects/libcxx/include/cmath:315:9: error: '::isnormal' has not been declared
using ::isnormal;
         ^
llvm-3.8.0.src/projects/libcxx/include/cmath:316:9: error: '::isgreater' has not been declared
using ::isgreater;
         ^
llvm-3.8.0.src/projects/libcxx/include/cmath:317:9: error: '::isgreaterequal' has not been declared
using ::isgreaterequal;
         ^
llvm-3.8.0.src/projects/libcxx/include/cmath:318:9: error: '::isless' has not been declared
using ::isless;
         ^
llvm-3.8.0.src/projects/libcxx/include/cmath:319:9: error: '::islessequal' has not been declared
using ::islessequal;
         ^
llvm-3.8.0.src/projects/libcxx/include/cmath:320:9: error: '::islessgreater' has not been declared
using ::islessgreater;
         ^
llvm-3.8.0.src/projects/libcxx/include/cmath:321:9: error: '::isunordered' has not been declared
using ::isunordered;
         ^
llvm-3.8.0.src/projects/libcxx/include/cmath:322:9: error: '::isunordered' has not been declared
using ::isunordered;
         ^
llvm-3.8.0.src/projects/libcxx/include/cmath:328:9: error: '::abs' has not been declared
using ::abs;
         ^
In file included from llvm-3.8.0.src/projects/libcxx/include/functional:475:0,
                 from llvm-3.8.0.src/projects/libcxx/include/experimental/optional:144,
                 from llvm-3.8.0.src/projects/libcxx/src/optional.cpp:10:
llvm-3.8.0.src/projects/libcxx/include/typeinfo: In member function 'size_t std::type_info::hash_code() const':
llvm-3.8.0.src/projects/libcxx/include/typeinfo:116:62: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
         {return *reinterpret_cast<const size_t*>(&__type_name);}
                                                              ^
cmake -E cmake_progress_report llvm-3.8.0.src_bld_x86_64-rhel6.4-linux-gnu/CMakeFiles
In file included from llvm-3.8.0.src/projects/libcxx/include/__hash_table:14:0,
                 from llvm-3.8.0.src/projects/libcxx/src/hash.cpp:10:
llvm-3.8.0.src/projects/libcxx/include/__config:448:50: warning: '__unused__' attribute ignored [-Wattributes]
#define _LIBCPP_UNUSED __attribute__((__unused__))
                                                  ^
Thank you.
-H

From: Eric Fiselier [mailto:eric at efcs.ca<mailto:eric at efcs.ca>]
Sent: Monday, March 14, 2016 8:55 PM
To: Oza, Hiral <Hiral.Oza at netapp.com<mailto:Hiral.Oza at netapp.com>>
Cc: cfe-dev at lists.llvm.org<mailto:cfe-dev at lists.llvm.org>; LLVM Dev <llvm-dev at lists.llvm.org<mailto:llvm-dev at lists.llvm.org>>
Subject: Re: [llvm-dev] LLVM-3.8.0 libcxx in-tree build fails with cmath error ::signbit has not been declared

Can you post the full error log please?

/Eric

On Mon, Mar 14, 2016 at 3:10 AM, Oza, Hiral via llvm-dev <llvm-dev at lists.llvm.org<mailto:llvm-dev at lists.llvm.org>> wrote:
Greetings!

I have been building llvm-3.6.x, 3.7.1 and 3.7.2 with (glibc-2.12.1, binutils-2.24, gcc-4.9.2) almost same set if CMake flags.
However while building LLVM-3.8.0 using same CMake flags I am observing projects/libcxx/include/cmath errors...
        ...'::signbit' has not been declared
        ...'::fpclassify' has not been declared
        ...'::isfinite' has not been declared
        ...

My environment is...
        Glibc-2.12.1
        Binutils-2.24
        Gcc-4.92.
        Llvm-3.8.0

Cmake flags...
        -DBUILD_SHARED_LIBS=ON \
        -DCMAKE_BUILD_TYPE="Release" \
        -DCMAKE_CXX_COMPILER=$GCC_ROOT/bin/g++ \
        -DCMAKE_CXX_FLAGS="$CXXFLAGS" \
        -DCMAKE_CXX_LINK_FLAGS="$LDFLAGS" \
        -DCMAKE_C_COMPILER=$GCC_ROOT/bin/gcc \
        -DCMAKE_C_FLAGS="$CFLAGS" \
       -DCMAKE_C_LINK_FLAGS="$LDFLAGS" \
        -DCMAKE_INSTALL_PREFIX=$PREFIX_DIR \
        -DCMAKE_LIBRARY_PATH=${BASE_DIR}/lib \
        -DCMAKE_SKIP_INSTALL_RPATH=OFF \
        -DCMAKE_SKIP_RPATH=OFF \
        -DCMAKE_SYSTEM_INCLUDE_PATH=$myincpath \
        -DCMAKE_SYSTEM_LIBRARY_PATH=$mylibpath \
        -DCMAKE_VERBOSE_MAKEFILE=ON \
        -DCURSES_NEED_NCURSES=TRUE \
        -DFFI_INCLUDE_DIR=$DESTROOT/lib/libffi-3.0.11/include \
        -DFFI_LIBRARY_DIR=$DESTROOT/lib \
        -DGCC_INSTALL_PREFIX=$GCC_ROOT \
        -DLLVM_BINUTILS_INCDIR=${DESTROOT}/include \
        -DLLVM_BUILD_32_BITS=OFF \
        -DLLVM_BUILD_EXAMPLES=ON \
        -DLLVM_ENABLE_CXX1Y=ON \
        -DLLVM_ENABLE_EH=ON \
        -DLLVM_ENABLE_FFI=ON \
        -DLLVM_ENABLE_LIBCXX=ON \
        -DLLVM_ENABLE_RTTI=ON \
        -DLLVM_ENABLE_THREADS=ON \
        -DLLVM_ENABLE_ZLIB=ON \
        -DLLVM_INCLUDE_EXAMPLES=ON \
        -DLLVM_INCLUDE_UTILS=ON \
        -DLLVM_OPTIMIZED_TABLEGEN=ON \
        -DLLVM_PARALLEL_COMPILE_JOBS=15 \
        -DLLVM_PARALLEL_LINK_JOBS=15 \
        -DLLVM_TARGETS_TO_BUILD="X86" \
        -DLLVM_TARGETS_WITH_JIT="X86"

Any suggestions?

Thank you in advance.
-H

_______________________________________________
LLVM Developers mailing list
llvm-dev at lists.llvm.org<mailto:llvm-dev at lists.llvm.org>
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20160317/67fca176/attachment-0001.html>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: llvm-3.8.0_log.txt
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20160317/67fca176/attachment-0001.txt>


More information about the cfe-dev mailing list