Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[SR-4838] LLDB build failure on LFS #4631

Closed
swift-ci opened this issue May 9, 2017 · 11 comments
Closed

[SR-4838] LLDB build failure on LFS #4631

swift-ci opened this issue May 9, 2017 · 11 comments
Labels
bug Something isn't working Linux LLDB for Swift

Comments

@swift-ci
Copy link

swift-ci commented May 9, 2017

Previous ID SR-4838
Radar None
Original Reporter Vladislav (JIRA User)
Type Bug
Status Resolved
Resolution Done
Environment

uname -a Linux lfs-sdb6 4.10.14 #1 SMP Thu May 4 21:49:29 MSK 2017 x86_64 GNU/Linux
gcc --version gcc (GCC) 7.1.0

Additional Detail from JIRA
Votes 1
Component/s LLDB for Swift
Labels Bug, Linux
Assignee None
Priority Medium

md5: 8c34d1dfa2bf53187676091b171127a6

Issue Description:

Today I did fresh checkout and got strange error:
[732/893] Building CXX object source/Utility/CMakeFiles/lldbUtility.dir/TaskPool.cpp.o
FAILED: source/Utility/CMakeFiles/lldbUtility.dir/TaskPool.cpp.o
/usr/bin/clang++ -DGTEST_HAS_RTTI=0 -DHAVE_PROCESS_VM_READV -DHAVE_ROUND -DLIBXML2_DEFINED -DLLDB_USE_BUILTIN_DEMANGLER -D_DEBUG -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Isource/Utility -I/mnt/swift/swift-source/lldb/source/Utility -I/mnt/swift/swift-source/lldb/include -Iinclude -I/mnt/swift/swift-source/build/buildbot_linux/llvm-linux-x86_64/include -I/mnt/swift/swift-source/build/buildbot_linux/llvm-linux-x86_64/tools/clang/include -I/mnt/swift/swift-source/llvm/include -I/include -I/mnt/swift/swift-source/llvm/tools/clang/include -I/mnt/swift/swift-source/build/buildbot_linux/swift-linux-x86_64/include -I/mnt/swift/swift-source/swift/include -I/mnt/swift/swift-source/lldb/source -I/usr/include/python3.6m -I/mnt/swift/swift-source/lldb/tools/clang/include -I../clang/include -I/usr/include/libxml2 -I/mnt/swift/swift-source/lldb/source/. -I/mnt/swift/swift-source/lldb/source/Plugins/Process/Linux -I/mnt/swift/swift-source/lldb/source/Plugins/Process/POSIX -march=native -pipe -fPIC -fvisibility-inlines-hidden -Werror=date-time -std=c++11 -fcolor-diagnostics -ffunction-sections -fdata-sections -Wno-deprecated-declarations -Wno-unknown-pragmas -Wno-strict-aliasing -Wno-deprecated-register -Wno-vla-extension -O3 -UNDEBUG -fno-exceptions -fno-rtti -MD -MT source/Utility/CMakeFiles/lldbUtility.dir/TaskPool.cpp.o -MF source/Utility/CMakeFiles/lldbUtility.dir/TaskPool.cpp.o.d -o source/Utility/CMakeFiles/lldbUtility.dir/TaskPool.cpp.o -c /mnt/swift/swift-source/lldb/source/Utility/TaskPool.cpp
In file included from /mnt/swift/swift-source/lldb/source/Utility/TaskPool.cpp:10:
/mnt/swift/swift-source/lldb/include/lldb/Utility/TaskPool.h:122:12: error: no member named 'bind' in namespace 'std'
std::bind(std::forward(f), std::forward(args)...));
~~~~~^
1 error generated.
Could be the reason the gcc version? I did upgraded it to 7.1.0.

@swift-ci
Copy link
Author

swift-ci commented May 9, 2017

Comment by Vladislav Dembskiy (JIRA)

No. I have downgraded gcc to 6.3.0 and have got the same error.

@swift-ci
Copy link
Author

Comment by Vladislav Dembskiy (JIRA)

I have just did

./swift/utils/update-checkout --clone
and tried to repeat swift build:
utils/build-script --assertions --no-swift-stdlib-assertions --llbuild --swiftpm --xctest --build-subdir=buildbot_linux --lldb --release --test --validation-test --long-test --foundation --libdispatch --lit-args=v - --swift-enable-ast-verifier=0 --build-ninja --install-swift --install-lldb --install-llbuild --install-swiftpm --install-xctest --install-prefix=/usr '--swift-install-components=autolink-driver;compiler;clang-builtin-headers;stdlib;swift-remote-mirror;sdk-overlay;license;sourcekit-inproc' --build-swift-static-stdlib --build-swift-static-sdk-overlay --build-swift-stdlib-unittest-extra --test-installable-package --install-destdir=/mnt/swift/lfs --installable-package=/mnt/swift/lfs/swift-lfs.tar.gz --skip-test-lldb --install-foundation --install-libdispatch --reconfigure --extra-cmake-options=-DLLVM_TARGETS_TO_BUILD="host"
Unfortunately I have got the same error:
lldb: using gold linker

  • mkdir -p /mnt/swift/swift-source/build/buildbot_linux/lldb-linux-x86_64
  • pushd /mnt/swift/swift-source/build/buildbot_linux/lldb-linux-x86_64
    /mnt/swift/swift-source/build/buildbot_linux/lldb-linux-x86_64 /mnt/swift/swift-source/swift
  • env /usr/bin/cmake -G Ninja -DCMAKE_C_COMPILER:PATH=/usr/bin/clang -DCMAKE_CXX_COMPILER:PATH=/usr/bin/clang++ -DLLVM_VERSION_MAJOR:STRING=4 -DLLVM_VERSION_MINOR:STRING=0 -DLLVM_VERSION_PATCH:STRING=0 -DCLANG_VERSION_MAJOR:STRING=4 -DCLANG_VERSION_MINOR:STRING=0 -DCLANG_VERSION_PATCH:STRING=0 -DCMAKE_MAKE_PROGRAM=/mnt/swift/swift-source/build/buildbot_linux/ninja-build/ninja -DCMAKE_EXE_LINKER_FLAGS:STRING=-fuse-ld=gold -DCMAKE_SHARED_LINKER_FLAGS:STRING=-fuse-ld=gold -DCMAKE_BUILD_TYPE:STRING=Release -DLLDB_SWIFTC:PATH=/mnt/swift/swift-source/build/buildbot_linux/swift-linux-x86_64/bin/swiftc -DCMAKE_INSTALL_PREFIX:PATH=/usr/ -DLLDB_PATH_TO_LLVM_SOURCE:PATH=/mnt/swift/swift-source/llvm -DLLDB_PATH_TO_CLANG_SOURCE:PATH=/mnt/swift/swift-source/llvm/tools/clang -DLLDB_PATH_TO_SWIFT_SOURCE:PATH=/mnt/swift/swift-source/swift -DLLDB_PATH_TO_LLVM_BUILD:PATH=/mnt/swift/swift-source/build/buildbot_linux/llvm-linux-x86_64 -DLLDB_PATH_TO_CLANG_BUILD:PATH=/mnt/swift/swift-source/build/buildbot_linux/llvm-linux-x86_64 -DLLDB_PATH_TO_SWIFT_BUILD:PATH=/mnt/swift/swift-source/build/buildbot_linux/swift-linux-x86_64 -DLLDB_PATH_TO_CMARK_BUILD:PATH=/mnt/swift/swift-source/build/buildbot_linux/cmark-linux-x86_64 -DLLDB_IS_BUILDBOT_BUILD=0 '-DLLDB_BUILD_DATE:STRING="2017-05-15"' -DLLDB_ALLOW_STATIC_BINDINGS=1 -DLLVM_TARGETS_TO_BUILD=host /mnt/swift/swift-source/lldb
    – Found LLVM_CONFIG as /mnt/swift/swift-source/build/buildbot_linux/llvm-linux-x86_64/bin/llvm-config
    – Building with -fPIC
    – Found PythonInterp: /usr/bin/python3.6
    – LLDB version: 4.0.0
    – Symbols (liblldb): exporting all symbols from the lldb namespace
    – Configuring done
    – Generating done
    – Build files have been written to: /mnt/swift/swift-source/build/buildbot_linux/lldb-linux-x86_64
  • popd
    /mnt/swift/swift-source/swift
  • /usr/bin/cmake --build /mnt/swift/swift-source/build/buildbot_linux/lldb-linux-x86_64 – -j4 all
    [5/160] Building CXX object source/Utility/CMakeFiles/lldbUtility.dir/TaskPool.cpp.o
    FAILED: source/Utility/CMakeFiles/lldbUtility.dir/TaskPool.cpp.o
    /usr/bin/clang++ -DGTEST_HAS_RTTI=0 -DHAVE_PROCESS_VM_READV -DHAVE_ROUND -DLIBXML2_DEFINED -DLLDB_USE_BUILTIN_DEMANGLER -D_DEBUG -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Isource/Utility -I/mnt/swift/swift-source/lldb/source/Utility -I/mnt/swift/swift-source/lldb/include -Iinclude -I/mnt/swift/swift-source/build/buildbot_linux/llvm-linux-x86_64/include -I/mnt/swift/swift-source/build/buildbot_linux/llvm-linux-x86_64/tools/clang/include -I/mnt/swift/swift-source/llvm/include -I/include -I/mnt/swift/swift-source/llvm/tools/clang/include -I/mnt/swift/swift-source/build/buildbot_linux/swift-linux-x86_64/include -I/mnt/swift/swift-source/swift/include -I/mnt/swift/swift-source/lldb/source -I/usr/include/python3.6m -I/mnt/swift/swift-source/lldb/tools/clang/include -I../clang/include -I/usr/include/libxml2 -I/mnt/swift/swift-source/lldb/source/. -I/mnt/swift/swift-source/lldb/source/Plugins/Process/Linux -I/mnt/swift/swift-source/lldb/source/Plugins/Process/POSIX -march=native -pipe -fPIC -fvisibility-inlines-hidden -Werror=date-time -std=c++11 -fcolor-diagnostics -ffunction-sections -fdata-sections -Wno-deprecated-declarations -Wno-unknown-pragmas -Wno-strict-aliasing -Wno-deprecated-register -Wno-vla-extension -O3 -UNDEBUG -fno-exceptions -fno-rtti -MD -MT source/Utility/CMakeFiles/lldbUtility.dir/TaskPool.cpp.o -MF source/Utility/CMakeFiles/lldbUtility.dir/TaskPool.cpp.o.d -o source/Utility/CMakeFiles/lldbUtility.dir/TaskPool.cpp.o -c /mnt/swift/swift-source/lldb/source/Utility/TaskPool.cpp
    In file included from /mnt/swift/swift-source/lldb/source/Utility/TaskPool.cpp:10:
    /mnt/swift/swift-source/lldb/include/lldb/Utility/TaskPool.h:122:12: error: no member named 'bind' in namespace 'std'
    std::bind(std::forward(f), std::forward(args)...));
1 error generated.
ninja: build stopped: subcommand failed.

Last time I build swift from source was on 7th of May and it was everything OK. What has been changed since?

@swift-ci
Copy link
Author

Comment by Vladislav Dembskiy (JIRA)

After fresh checkout today I have got the same error:

[722/878] Building CXX object source/Utility/CMakeFiles/lldbUtility.dir/TaskPool.cpp.o
FAILED: source/Utility/CMakeFiles/lldbUtility.dir/TaskPool.cpp.o
/usr/bin/clang++ -DGTEST_HAS_RTTI=0 -DHAVE_PROCESS_VM_READV -DHAVE_ROUND -DLIBXML2_DEFINED -DLLDB_USE_BUILTIN_DEMANGLER -D_DEBUG -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Isource/Utility -I/mnt/swift/swift-source/lldb/source/Utility -I/mnt/swift/swift-source/lldb/include -Iinclude -I/mnt/swift/swift-source/build/buildbot_linux/llvm-linux-x86_64/include -I/mnt/swift/swift-source/build/buildbot_linux/llvm-linux-x86_64/tools/clang/include -I/mnt/swift/swift-source/llvm/include -I/include -I/mnt/swift/swift-source/llvm/tools/clang/include -I/mnt/swift/swift-source/build/buildbot_linux/swift-linux-x86_64/include -I/mnt/swift/swift-source/swift/include -I/mnt/swift/swift-source/lldb/source -I/usr/include/python3.6m -I/mnt/swift/swift-source/lldb/tools/clang/include -I../clang/include -I/usr/include/libxml2 -I/mnt/swift/swift-source/lldb/source/. -I/mnt/swift/swift-source/lldb/source/Plugins/Process/Linux -I/mnt/swift/swift-source/lldb/source/Plugins/Process/POSIX -march=native -pipe -fPIC -fvisibility-inlines-hidden -Werror=date-time -std=c++11 -fcolor-diagnostics -ffunction-sections -fdata-sections -Wno-deprecated-declarations -Wno-unknown-pragmas -Wno-strict-aliasing -Wno-deprecated-register -Wno-vla-extension -O3 -UNDEBUG -fno-exceptions -fno-rtti -MD -MT source/Utility/CMakeFiles/lldbUtility.dir/TaskPool.cpp.o -MF source/Utility/CMakeFiles/lldbUtility.dir/TaskPool.cpp.o.d -o source/Utility/CMakeFiles/lldbUtility.dir/TaskPool.cpp.o -c /mnt/swift/swift-source/lldb/source/Utility/TaskPool.cpp
In file included from /mnt/swift/swift-source/lldb/source/Utility/TaskPool.cpp:10:
/mnt/swift/swift-source/lldb/include/lldb/Utility/TaskPool.h:122:12: error: no member named 'bind' in namespace 'std'
std::bind(std::forward(f), std::forward(args)...));
~~~~~^
1 error generated.

@swift-ci
Copy link
Author

swift-ci commented Jun 1, 2017

Comment by Vladislav Dembskiy (JIRA)

After fresh Swift checkout the error still exists.

@ahti
Copy link

ahti commented Jun 10, 2017

This is due to a missing include in TaskPool.h. To use std::bind, one needs to #include <functional>. This was already fixed in upstream lldb by this commit, so fixing this would mean either manually including functional or merging the linked commit into swift-lldb.

@swift-ci
Copy link
Author

Comment by Vladislav Dembskiy (JIRA)

Yes, after manual including <functional> LLDB has been build successful. I hope that upstream comment will be merged into swift-lldb. I will keep the issue open till that.

@swift-ci
Copy link
Author

Comment by Leif Hedstrom (JIRA)

Just adding on my +1, but yes, needs the proper include

diff --git a/include/lldb/Utility/TaskPool.h b/include/lldb/Utility/TaskPool.h
index db15b2081..3e6d5df8f 100644
--- a/include/lldb/Utility/TaskPool.h
+++ b/include/lldb/Utility/TaskPool.h
@@ -33,6 +33,7 @@
 #include <queue>
 #include <thread>
 #include <vector>
+#include <functional>

 // Global TaskPool class for running tasks in parallel on a set of worker thread
 // created the first

@swift-ci
Copy link
Author

swift-ci commented Aug 3, 2017

Comment by Vladislav Dembskiy (JIRA)

Up to date the patch has not been included into Swift LLDB repository.
The same error exists.

@swift-ci
Copy link
Author

swift-ci commented Aug 4, 2017

Comment by Vladislav Dembskiy (JIRA)

Interesting, what I do not have this error on Gentoo. It looks like that some LFS packages are too new for Swift. I will rename the issue from Linux to LFS.

@swift-ci
Copy link
Author

swift-ci commented Aug 4, 2017

Comment by Vladislav Dembskiy (JIRA)

I have renamed the error report because it does not reproducible on Gentoo,

@swift-ci
Copy link
Author

swift-ci commented Aug 7, 2017

Comment by Vladislav Dembskiy (JIRA)

Today I did fresh checkout and was not able to reproduce the problem. It looks like it has been resolved.

@swift-ci swift-ci transferred this issue from apple/swift-issues Apr 25, 2022
@shahmishal shahmishal transferred this issue from apple/swift May 7, 2022
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working Linux LLDB for Swift
Projects
None yet
Development

No branches or pull requests

2 participants