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

Build fails on ARM #81

Open
dpslavov opened this issue Jun 23, 2023 · 4 comments
Open

Build fails on ARM #81

dpslavov opened this issue Jun 23, 2023 · 4 comments

Comments

@dpslavov
Copy link

Build on ARM platform fails with error "xmmintrin.h: No such file or directory", as far as I can see it's because of using i386 specific code:

@sedmicha
Copy link
Collaborator

There already is an improved version of fdsdump that also includes a fallback implementation of this component for platforms without AVX. It is currently only in our internal repo as there are still code reviews and other processes that need to be done, but that should be finished and made available here soon.

I could make it available here sooner if that'd help, but it's important to note that some parts might still not be 100% production ready.

@sedmicha
Copy link
Collaborator

Alternatively, since this problem only involves the fdsdump tool and not the collector itself, if you don't need the fdsdump tool, the building of it can be disabled by removing it from here:
https://github.com/CESNET/ipfixcol2/blob/master/src/tools/CMakeLists.txt

There probably should've been a check that does this automatically if an unsupported architecture is detected considering that this is in master, that's probably a bit of an overlook on our side.

@dpslavov
Copy link
Author

Since this isn't a big issue, I'm choosing to stick with the older version until the proper fix comes out.

@clausecker
Copy link

You can fix that by replacing <xmmintrin.h> with <sse2neon.h> (it's a file you can stick into your repository, just get it from up stream). E.g. on FreeBSD we do:

--- src/tools/fdsdump/src/aggregator/hashTable.cpp.orig 2024-10-15 16:33:15 UTC
+++ src/tools/fdsdump/src/aggregator/hashTable.cpp
@@ -6,7 +6,11 @@
 
 #define XXH_INLINE_ALL
 
+#if defined(__arm__) || defined(__aarch64__)
+#include <sse2neon.h>
+#else
 #include <xmmintrin.h>
+#endif
 
 #include "hashTable.hpp"
 #include "3rd_party/xxhash/xxhash.h"

Feel free to apply this patch on your end.

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

No branches or pull requests

3 participants