You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am trying to compile the nao_walk project for my 32-bit NAO robot using the NAOqi SDK (version 2.1.4.13). However, despite configuring the toolchain for 32-bit cross-compilation, the generated libnao_walkF.so remains 64-bit. My goal is to generate a 32-bit shared object file that can run on the robot.
(1)Environment Details:
-OS: Ubuntu 16.04
Compiler: GCC 5.5.0 (with -m32 support verified)
NAOqi SDK: Version 2.1.4.13 (64-bit)
qiBuild version: 3.18
CMake version: 3.16.3
Robot: NAO H25, running NAOqi OS (32-bit architecture)
(2) Installed qiBuild and configured the cross-naoqi-sdk toolchain as follows:
<toolchain>
<packagename="libnaoqi"path="/home/sang/naoqi/naoqi-sdk-2.1.4.13-linux64" />
<compiler>
<binarypath="/usr/bin/gcc"flags="-m32" />
<binarypath="/usr/bin/g++"flags="-m32" />
</compiler>
</toolchain>
(3)Ran the following commands:
qibuild configure -c cross-naoqi-sdk --release --verbose
qibuild make -c cross-naoqi-sdk
(4)Verified the generated .so file:
file /home/sang/serow_ws/src/nao_walk/nao_walk_naoqi/build-cross-naoqi-sdk/sdk/lib/naoqi/libnao_walkF.so
Observed that the output indicates a 64-bit architecture:
ELF 64-bit LSB shared object, x86-64, version 1 (GNU/Linux), dynamically linked, not stripped
(5)What I Have Tried
- Added `set(CMAKE_C_FLAGS "-m32 ${CMAKE_C_FLAGS}")` and `set(CMAKE_CXX_FLAGS "-m32 ${CMAKE_CXX_FLAGS}")` to the `CMakeLists.txt` file.
- Verified that `gcc` and `g++` support 32-bit compilation (`gcc -m32 -v` works correctly).
- Edited `~/qi/toolchains/cross-naoqi-sdk.xml` to include `-m32` flags.
- Installed required 32-bit libraries, including `libc6-dev-i386`.
- Checked the `CMakeCache.txt` and Makefile generated by qiBuild for `-m32` flags, but they were missing.
The text was updated successfully, but these errors were encountered:
I am trying to compile the
nao_walk
project for my 32-bit NAO robot using the NAOqi SDK (version 2.1.4.13). However, despite configuring the toolchain for 32-bit cross-compilation, the generatedlibnao_walkF.so
remains 64-bit. My goal is to generate a 32-bit shared object file that can run on the robot.(1)Environment Details:
-OS: Ubuntu 16.04
-m32
support verified)(2) Installed qiBuild and configured the
cross-naoqi-sdk
toolchain as follows:The text was updated successfully, but these errors were encountered: