Comments (10)
@michael-poehnl you are right 32-bit support is on its way and hopefully available at the end of this week!
from iceoryx.
Thanks @Jekyll555 . Funny that this is no problem with gcc 7.4 on Intel. We also have ARM targets in our build pipeline but maybe not the combination ARM and gcc 7.4
from iceoryx.
Hi @Jekyll555 i can confirm this issue when i try to compile iceoryx on Raspbian with a Raspberry Pi 3B.
The reason for that is that Raspbian is based on 32-Bit but the hardware processor has 64-bit. The 32-bit GCC compiler can then not handle the alignment for the different datatypes.
I guess that the ubiquity robotics image is also based on 32-Bit. You can check that with uname -a on which platform the operating system is based. If it is "armv7" then it is 32 Bit.
I created already an internal proposal how to fix that issue. I need to review it with my colleague and would then create a Pull-Request with you as reviewer.
from iceoryx.
HI @dkroenke Confirming the raspbian being 32bit image:
Linux ubiquityrobot 4.14.98-v7+ #1200 SMP Tue Feb 12 20:27:48 GMT 2019 armv7l armv7l armv7l GNU/Linux
Go ahead, I will be available for e.g. retesting...
from iceoryx.
I also faced this issue with Ubuntu mate 18.04 on raspberry pi 3 b+
from iceoryx.
Hi @praveenjosephg.
There is a 32-bit armhf and a 64-bit arm64 image. I guess you are using the armhf image. The arm64 image worked for me after reducing the memory pool and some other configuration to reasonable sizes on this machine.
MAX_PORT_NUMBER: 256
MAX_INTERFACE_NUMBER: 2
MAX_RECEIVERS_PER_SENDER: 32
MAX_SAMPLE_ALLOCATE_PER_SENDER: 1
MAX_SENDER_SAMPLE_HISTORY_CAPACITY: 1
MAX_RECEIVER_QUEUE_CAPACITY: 16
MAX_PROCESS_NUMBER: 16
MAX_RUNNABLE_NUMBER: 64
and you should adapt
https://github.com/eclipse/iceoryx/blob/cf746a71fb5339d23c3427360da321be380da8e2/iceoryx_posh/source/mepoo/mepoo_config.cpp#L44
e.g. to this or whatever your needs are (Will be more convenient soon with #13
m_mempoolConfig.push_back({32, 10000});
m_mempoolConfig.push_back({128, 10000});
m_mempoolConfig.push_back({1024, 2000});
m_mempoolConfig.push_back({1024 * 16, 500});
m_mempoolConfig.push_back({1024 * 128, 200});
m_mempoolConfig.push_back({1024 * 1024, 20});
return *this;
Btw. there are rumors saying that @elfenpiff is working on the 32-bit support.
from iceoryx.
@elfenpiff, can this issue be closed?
from iceoryx.
Hi,
please wait until @Jekyll555 can confirm that he can compile it for his setup before you close this issue.
from iceoryx.
@elBoberido from my perspective we could close this issue
from iceoryx.
@dkroenke @elfenpiff Don't bother me.
But: confirm 844b316 solved it on my 32bit-ish raspbian image. Nice work, Thanks!
(I take the freedom to close the issue now. ;-)
from iceoryx.
Related Issues (20)
- While setting the acquired shared memory to zero a fatal SIGBUS signal appeared caused by memset. HOT 5
- how to support string using zero-copy transport HOT 1
- Add 'iox' prefix to all functions and types in the platform abstraction
- SingleProcess example crashes on QNX HOT 4
- : backtrace: HOT 2
- Is `libatomic` still required to build Iceoryx? HOT 7
- Some questions about IndexQueue. HOT 10
- Feature request: print the number of ports in the introspection client
- 32-Bit Support
- How to handle messages in parallel with popo::listener? HOT 3
- Is there a cost comparison between serialization app and roudi with protobuf or other efficient implementation HOT 2
- iox-roudi throws POPO__CHUNK_LOCKING_ERROR when killing a process mid-publish HOT 6
- Ongoing Issue: Small Documentation Tasks
- publisher got error after loaned 8 sample HOT 2
- Race condition between ProbeProcessAliveWithSigTerm in RouDi and SignalWatcher singleton in applications HOT 5
- Out-of-bounds memory access in UsedChunkList HOT 9
- Request server received no valid server port from RouDi HOT 2
- It is possible to specify a queue size greater than 256 HOT 2
- Move iceoryx2 cxx addendum headers into iceoryx
- iox::function claims to support moving functions, but doesn't HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from iceoryx.