-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
跑getting-started.cc报段错误 #610
Comments
Hi @songziqin can you provide more details? Is this the getting started example from the tutorial? How did you compile it?
|
WARN 2019-02-20 11:49:09,676 seastar - Seastar compiled with default allocator, heap profiler not supported |
Please resolve the backtraces, we cannot extract any information from them in their raw form. See my previous comment for instructions on how to do it. |
thanks,@denesb. the report as follows. |
Please show us exactly the getting-started.cc you compiled, and the command line you used to compile it (what are /service/build_script and build.sh you refered to? and run it). This backtrace (whose order I don't understand, and I'm worried maybe it is using wrong debug information?) suggests the code uses things like parallel_for_each and invoke_all, which the most basic example did not use. So I'm wondering what it is that you compiled. You can build Seastar with (see README.md)
And then build your example application with pkg-config or cmake, as the example in docs/tutorial.md show. |
thanks @nyh . i give the debug information above is third_party/seastar/build/release/apps/httpd.the sorce code is /seastar/apps/httpd as follows:
#include "http/httpd.hh" namespace bpo = boost::program_options; using namespace seastar; class handl : public httpd::handler_base { void set_routes(routes& r) { int main(int ac, char** av) {
} |
@nyh |
You said you had the same problem with a simpler getting-started.cc from the tutorial, so can we start with that? @hakuch (who write this cmake build scripts), do we really need 3.3.26 of GnuTLS and 3.3.24 would not work? |
@nyh the output is gnutls-3.3.24-1.el7.x86_64 has installed and do nothing.so it does not work |
According to http://mirror.centos.org/centos/7/os/x86_64/Packages/, there is gnutls-3.3.29-8.el7.i686.rpm for centos 7, I don't know why you're not getting this. Maybe you're stuck on some old subversion of centos 7 (check out "cat /etc/redhat-release")? Note that gnutls 3.3.26 (what Scylla currently requests) is two years old, it's not a very new package. |
thanks.it says CentOS Linux release 7.2.1511 (Core). |
Centos 7.2.1511 is from November 2015. That's pretty old and I doubt gnutls will be your only problem compiling Seastar. Maybe you need to "yum update" everything to get a newer release and its associated gnutls? |
@nyh. Ok , I got the problem, thanks a lot. |
The minimum required version is just a best guess. If we test 3.3.24 and it works, then we can lower it. |
@hakuch on what was this guess based? @songziqin you can edit the script that insists on 3.3.26 and modify it to 3.3.24 and see if everything works. But I'm suspecting that if your distro is 3 years old, you'll have a lot of other problems, not just gnutls. |
They were based on the installed versions on Fedora 28, which is a known correct set of values but of course not the minimum ones. If somebody has a need for a lower version and they have verified that it works, of course we can lower the requirements in |
@denesb @nyh I have a question,I see doc/tutorial.md there is a example: |
@denesb @nyh I have update the centos,but run ./configure.py I got the error message: what that mean. |
Seastar requires the filesystem library. If your compiler supports C++17, then this library should be available via If that check fails during configuration, then you need to use a newer compiler and/or standard library which supports the filesystem library. |
@hakuch hi thanks . I have upgrade the gcc compiler but the error messages appears. |
According to this page, you might be able to use Like this:
|
thanks,@hakuch but it does not help,it report the same error. and I delete those as follows: -gz doesn't imply -g, so it is safe to add it regardless of debuginfo being enabled.#list (APPEND Seastar_PRIVATE_CXX_FLAGS -gz) /usr/local/include/c++/5.5.0/ext/new_allocator.h:120:4: 错误:对‘std::pair<const long unsigned int, std::vectorseastar::io_queue* >::pair(const long unsigned int&, long unsigned int)’的调用没有匹配的函数 I wonder if the compiler is not very new . my gcc version is:5.5.0 |
Yes, your compiler is quite old. I don't know exactly what is the minimum compiler version we support these days, but gcc 7.x and newer is known to work. |
I think the "static_assert(max_scheduling_groups() <= std::numeric_limits::digits)" is actually a Seastar bug - if we claim to support C++14, not just C++17, we can't use the new C++17 static_assert with a single parameter. |
Closing this issue. It talks about what by now is a 6 year old distribution, which Seastar doesn't support now (and didn't back when this issue was created), so we can't do much with the information in the issue. |
Hello world
Segmentation fault on shard 7.
Backtrace:
0x00000000005c24fc
0x00000000005c2620
0x00000000005c2695
/lib/x86_64-linux-gnu/libpthread.so.0+0x000000000001138f
0x00000000006135f3
0x0000000000618ae7
0x0000000000675bdd
/lib/x86_64-linux-gnu/libpthread.so.0+0x00000000000076b9
/lib/x86_64-linux-gnu/libc.so.6+0x000000000010741c
Segmentation fault (core dumped)
The text was updated successfully, but these errors were encountered: