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

Unable to build latest #1176

Closed
vulcanfan opened this issue Jan 24, 2020 · 3 comments
Closed

Unable to build latest #1176

vulcanfan opened this issue Jan 24, 2020 · 3 comments
Labels

Comments

@vulcanfan
Copy link

Hi,

The build fails for me with compilation error:

[ 0%] Building C object src/CMakeFiles/nng.dir/nng.c.o
In file included from /root/tools/nng/src/core/msgqueue.h:15:0,
from /root/tools/nng/src/core/nng_impl.h:38,
from /root/tools/nng/src/nng.c:12:
/root/tools/nng/src/core/pollable.h:30:18: error: field ‘p_raised’ has incomplete type
nni_atomic_bool p_raised;

Looking in posix_impl.h at line 103 shows a possible typo:

struct nni_atomic_bol { bool b; };

Changing that to nni_atomic_bool allows build to proceed but then it fails on:

[ 13%] Building C object src/CMakeFiles/nng.dir/platform/posix/posix_atomic.c.o
/root/tools/nng/src/platform/posix/posix_atomic.c:207:1: error: conflicting types for ‘nni_atomic_set_bool’
nni_atomic_set_bool(nni_atomic_bool *b)
^
In file included from /root/tools/nng/src/core/nng_impl.h:27:0,
from /root/tools/nng/src/platform/posix/posix_atomic.c:13:
/root/tools/nng/src/core/platform.h:177:13: note: previous declaration of ‘nni_atomic_set_bool’ was here
extern void nni_atomic_set_bool(nni_atomic_bool *, bool);

My environment is CentOS 7 with gcc 4.8.5 and cmake 3.11. nng cloned 24 Jan 2020.

Many thanks in advance for any advice.

@gdamore
Copy link
Contributor

gdamore commented Jan 24, 2020

It looks like I botched this. I will fix it.

You're using a really old GCC, so you're probably not going to get great performance btw. In particular, it looks like you're missing support for nice C11 atomics, which ultimately means a bunch of the improvements I've made for performance are things you're gonna miss out on.

Probably I should look at using gcc intrinsics if they are available.

@vulcanfan
Copy link
Author

Hi,

Many thanks for the compiler feedback.

I've now installed the RedHat software collection devtoolset-7 which has gcc 7.3.1, enabled it with 'scl enable devtoolset-7 bash' and I can confirm that the build is now successful. :-)

Thanks again.

@gdamore
Copy link
Contributor

gdamore commented Jan 27, 2020

This should be in v1.2.5 now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants