RemedyIT / axcioma

AXCIOMA, the component framework for distributed, real-time, and embedded systems
https://www.axcioma.org
MIT License
16 stars 11 forks source link

Build failure on Jetson Nano (Arm64) #94

Closed thesammiller closed 3 years ago

thesammiller commented 3 years ago

Product AXCIOMA

Version Using latest commit 31003da939cb2dbf65a4636a75fb3731c11826fc

Describe the issue After a clean install, running bin/brix11 make results in the following errors. I have had success building on another platform, so my best guess is that there are issues related to architecture or operating system.

BRIX11 - > make debug=0 -j 4 -Orecurse
Making: /home/smiller/Development/tao/axcioma/ACE/ACE/ace/GNUmakefile.ACE MAKEFLAGS=w -j -Orecurse --jobserver-fds=4,5 -- debug=0
ERROR: (g++) file: /home/smiller/Development/tao/axcioma/ACE/ACE/include/makeinclude/rules.local.GNU line: 189 - recipe for target '.shobj/ACE.o' failed
ERROR: (make)  - [.shobj/ACE.o] Error 1
ERROR: (make)  - Waiting for unfinished jobs....
ERROR: (g++) file: /home/smiller/Development/tao/axcioma/ACE/ACE/include/makeinclude/rules.local.GNU line: 189 - recipe for target '.shobj/ACE_crc32.o' failed
ERROR: (make)  - [.shobj/ACE_crc32.o] Error 1
ERROR: (g++) file: /home/smiller/Development/tao/axcioma/ACE/ACE/include/makeinclude/rules.local.GNU line: 189 - recipe for target '.shobj/ACE_crc_ccitt.o' failed
ERROR: (make)  - [.shobj/ACE_crc_ccitt.o] Error 1
ERROR: (g++) file: GNUmakefile line: 269 - recipe for target 'ACE-target' failed
ERROR: (make)  - [ACE-target] Error 2
ERROR: (make)  - Waiting for unfinished jobs....
touch .depend.ridl_orb_idl
Making: /home/smiller/Development/tao/axcioma/taox11/tao/x11/GNUmakefile.ridl_orb_idl MAKEFLAGS=w -j -Orecurse --jobserver-fds=4,5 -- debug=0
mkdir -p ../../ridlbe/c++11
BRIX11 - WARNING : gnuace#build failed with exitcode 2
BRIX11 - ERROR : Executing make failed.

Environment:

ruby 2.5.1p57 (2018-03-29 revision 63029) [aarch64-linux-gnu]
export ACE_ROOT=/home/smiller/Development/tao/axcioma/ACE/ACE
export CIAOX11_ROOT=/home/smiller/Development/tao/axcioma/ciaox11
export DANCEX11_ROOT=/home/smiller/Development/tao/axcioma/dancex11
export LD_LIBRARY_PATH=/home/smiller/Development/tao/axcioma/lib:/home/smiller/Development/tao/axcioma/ACE/ACE/lib:/usr/lib:/home/smiller/Development/tao/axcioma/lib:/home/smiller/Development/tao/axcioma/ACE/ACE/lib:/usr/lib:/home/smiller/Development/tao/axcioma/brix11/lib:/home/smiller/Development/tao/axcioma/taox11/brix/taox11/lib:/home/smiller/Development/tao/axcioma/lib:/home/smiller/Development/tao/axcioma/ACE/ACE/lib:/usr/lib::/home/smiller/Development/tao/axcioma/ciaox11/lib:/home/smiller/Development/tao/axcioma/dancex11/lib:/home/smiller/Development/tao/axcioma/ACE/ACE/lib/:/home/smiller/Development/tao/axcioma/ciaox11/lib:/home/smiller/Development/tao/axcioma/dancex11/lib:/home/smiller/Development/tao/axcioma/ciaox11/lib:/home/smiller/Development/tao/axcioma/dancex11/lib
export MPC_BASE=/home/smiller/Development/tao/axcioma/taox11/bin/MPC
export MPC_ROOT=/home/smiller/Development/tao/axcioma/ACE/MPC
export PATH=/home/smiller/Development/tao/axcioma/dancex11/bin:/home/smiller/Development/tao/axcioma/ciaox11/bin:/home/smiller/Development/tao/axcioma/bin:/home/smiller/Development/tao/axcioma/taox11/bin:/home/smiller/Development/tao/axcioma/dancex11/bin:/home/smiller/Development/tao/axcioma/ciaox11/bin:/home/smiller/Development/tao/axcioma/bin:/home/smiller/Development/tao/axcioma/taox11/bin:/home/smiller/Development/tao/axcioma:./bin:/home/smiller/Development/tao/axcioma/dancex11/bin:/home/smiller/Development/tao/axcioma/ciaox11/bin:/home/smiller/Development/tao/axcioma/bin:/home/smiller/Development/tao/axcioma/taox11/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
export RIDL_BE_PATH=:/home/smiller/Development/tao/axcioma/taox11:/home/smiller/Development/tao/axcioma/ciaox11:/home/smiller/Development/tao/axcioma/ciaox11/connectors/psdd4ccm
export RIDL_BE_SELECT=ccmx11
export RIDL_ROOT=/home/smiller/Development/tao/axcioma/ridl/lib
export TAOX11_ROOT=/home/smiller/Development/tao/axcioma/taox11
export TAO_ROOT=/home/smiller/Development/tao/axcioma/ACE/TAO
export X11_BASE_ROOT=/home/smiller/Development/tao/axcioma
export XERCESCROOT=/usr
export ZLIB_ROOT=/usr
========================= config.h =========================
#define ACE_HAS_VERSIONED_NAMESPACE 1
#define ACE_MONITOR_FRAMEWORK 0
#include "ace/config-linux.h"
=================== platform_macros.GNU ====================
crossbuild=0
ssl=0
bzip2=0
zlib=1
valgrind=0
valgrind_keep_debuginfo=0
acetaompc=1
xerces3=1
opendds=1
ndds=1
ndds_no_optimize=0
zmq=0
cross=0
ami4ccm=1
corba4ccm=1
dds4ccm=0
dds4ccm_event=0
dds4ccm_state=0
ddsx11=0
multi_topic=1
psdd4ccm_zmq=0
psdd4ccm=0
debug=0
inline=1
optimize=1
buildbits=32
include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU
===================== default.features =====================
crossbuild=0
ssl=0
bzip2=0
zlib=1
valgrind=0
valgrind_keep_debuginfo=0
acetaompc=1
xerces3=1
opendds=1
ndds=1
ndds_no_optimize=0
zmq=0
cross=0
ami4ccm=1
corba4ccm=1
dds4ccm=0
dds4ccm_event=0
dds4ccm_state=0
ddsx11=0
multi_topic=1
psdd4ccm_zmq=0
psdd4ccm=0
========================= MPC.cfg ==========================
includes = $MPC_ROOT/config, $ACE_ROOT/bin/MakeProjectCreator/config, $CIAOX11_ROOT/MPC/config, $CIAOX11_ROOT/connectors/ami4ccm/MPC/config, $CIAOX11_ROOT/connectors/corba4ccm/MPC/config, $CIAOX11_ROOT/connectors/tt4ccm/MPC/config, $CIAOX11_ROOT/connectors/dds4ccm/MPC/config, $TAOX11_ROOT/bin/MPC/config, $CIAOX11_ROOT/ddsx11/MPC/config, $CIAOX11_ROOT/connectors/psdd4ccm/MPC/config, $DANCEX11_ROOT/MPC/config
dynamic_types = $MPC_ROOT, $TAO_ROOT/MPC, $ACE_ROOT/bin/MakeProjectCreator, $TAOX11_ROOT/bin/MPC
main_functions = cplusplus:ACE_TMAIN
========================= .ridlrc ==========================
{
  "backend": "ccmx11",
  "be_path": [
    "ciaox11",
    "taox11",
    "ciaox11/connectors/psdd4ccm"
  ]
}
======================== .brix11rc =========================
{
  "project_type": "gnuace",
  "project_compiler": "gnu",
  "brix_paths": [
    "ciaox11",
    "taox11",
    "ciaox11/connectors/psdd4ccm",
    "dancex11"
  ],
  "user_environment": {
    "ZLIB_ROOT": "/usr",
    "XERCESCROOT": "/usr",
    "ACE_ROOT": "/home/smiller/Development/tao/axcioma/ACE/ACE",
    "TAO_ROOT": "/home/smiller/Development/tao/axcioma/ACE/TAO",
    "MPC_ROOT": "/home/smiller/Development/tao/axcioma/ACE/MPC",
    "LD_LIBRARY_PATH": "/usr/lib:${LD_LIBRARY_PATH}"
  },
  "crossbuild": false,
  "target_platform": "Linux"
}
====================== workspace.mwc =======================
workspace {
  $(ACE_ROOT)/ace
  $(ACE_ROOT)/apps/gperf/src
  $(TAO_ROOT)/TAO_IDL
  $(TAO_ROOT)/tao
  $(TAO_ROOT)/orbsvcs/orbsvcs/CosNaming.mpc
  $(TAO_ROOT)/orbsvcs/orbsvcs/CosNaming_Serv.mpc
  $(TAO_ROOT)/orbsvcs/orbsvcs/CosNaming_Skel.mpc
  $(TAO_ROOT)/orbsvcs/Naming_Service
  $(TAO_ROOT)/orbsvcs/orbsvcs/Svc_Utils.mpc
  $(TAO_ROOT)/orbsvcs/tests/Simple_Naming
  $(TAO_ROOT)/utils/catior/catior.mpc
  $(ACE_ROOT)/protocols/ace/INet
  $(CIAOX11_ROOT)/ccm
  $(CIAOX11_ROOT)/ciaox11
  $(CIAOX11_ROOT)/connectors/tt4ccm/idl
  $(CIAOX11_ROOT)/connectors/tt4ccm/impl
  $(CIAOX11_ROOT)/connectors/corba4ccm/corba4ccm
  $(CIAOX11_ROOT)/connectors/ami4ccm/ami4ccm
  $(TAOX11_ROOT)/tao/x11
  $(TAOX11_ROOT)/orbsvcs/orbsvcs
  $(DANCEX11_ROOT)/dancex11
  $(DANCEX11_ROOT)/tools
}
============================================================
Test config: LINUX Linux FIXED_BUGS_ONLY ZLIB ACETAOMPC XERCES3 OPENDDS NDDS AMI4CCM CORBA4CCM MULTI_TOPIC
jwillemsen commented 3 years ago

Can you run make debug=0 -j 4 -Orecurse -N, so add -N, that doesn't filter the output of the compiler.

Are you trying a cross compile or a native build on the Jetson Nano, we haven't tested on the jetson nano so it could be that there is a problem. What g++ version do you want to use and how is the executable called, some special name?

thesammiller commented 3 years ago

Thank you for your help. I am trying a native build on the Jetson Nano. It should hopefully be similar to a build on a Raspberry Pi 64-bit running Ubuntu 18.04. Output of g++ --version: g++ (Ubuntu/Linaro 7.5.0-3ubuntu1~18.04) 7.5.0

I get an error on -N and I'm not sure why (output is the help list of command line flags). Here is the output for make debug=0 -j 4 -Orecurse, which seems to have an issue with g++: error: unrecognized command line option ‘-m32’:


GNUmakefile: /home/smiller/Development/tao/axcioma/taox11/tao/x11/GNUmakefile.ridl_orb_idl MAKEFLAGS=w -j -Orecurse --jobserver-fds=4,5 -- debug=0

make[1]: Leaving directory '/home/smiller/Development/tao/axcioma/taox11/tao/x11'
make[1]: Entering directory '/home/smiller/Development/tao/axcioma/ACE/ACE/ace'

GNUmakefile: /home/smiller/Development/tao/axcioma/ACE/ACE/ace/GNUmakefile.ACE MAKEFLAGS=w -j -Orecurse --jobserver-fds=4,5 -- debug=0

g++ -Wnon-virtual-dtor -fvisibility=hidden -fvisibility-inlines-hidden -O3 -m32 -pthread -fno-strict-aliasing -Wall -Wextra -Wpointer-arith -pipe -D_GNU_SOURCE  -DNDEBUG  -I/home/smiller/Development/tao/axcioma/ACE/ACE -DACE_NDEBUG -D__ACE_INLINE__ -I.. -DACE_BUILD_DLL  -c -fPIC -o .shobj/ACE.o /home/smiller/Development/tao/axcioma/ACE/ACE/ace/ACE.cpp
g++: error: unrecognized command line option ‘-m32’
/home/smiller/Development/tao/axcioma/ACE/ACE/include/makeinclude/rules.local.GNU:189: recipe for target '.shobj/ACE.o' failed
make[1]: *** [.shobj/ACE.o] Error 1
make[1]: *** Waiting for unfinished jobs....
g++ -Wnon-virtual-dtor -fvisibility=hidden -fvisibility-inlines-hidden -O3 -m32 -pthread -fno-strict-aliasing -Wall -Wextra -Wpointer-arith -pipe -D_GNU_SOURCE  -DNDEBUG  -I/home/smiller/Development/tao/axcioma/ACE/ACE -DACE_NDEBUG -D__ACE_INLINE__ -I.. -DACE_BUILD_DLL  -c -fPIC -o .shobj/ACE_crc32.o /home/smiller/Development/tao/axcioma/ACE/ACE/ace/ACE_crc32.cpp
g++: error: unrecognized command line option ‘-m32’
/home/smiller/Development/tao/axcioma/ACE/ACE/include/makeinclude/rules.local.GNU:189: recipe for target '.shobj/ACE_crc32.o' failed
make[1]: *** [.shobj/ACE_crc32.o] Error 1
g++ -Wnon-virtual-dtor -fvisibility=hidden -fvisibility-inlines-hidden -O3 -m32 -pthread -fno-strict-aliasing -Wall -Wextra -Wpointer-arith -pipe -D_GNU_SOURCE  -DNDEBUG  -I/home/smiller/Development/tao/axcioma/ACE/ACE -DACE_NDEBUG -D__ACE_INLINE__ -I.. -DACE_BUILD_DLL  -c -fPIC -o .shobj/ACE_crc_ccitt.o /home/smiller/Development/tao/axcioma/ACE/ACE/ace/ACE_crc_ccitt.cpp
g++: error: unrecognized command line option ‘-m32’
/home/smiller/Development/tao/axcioma/ACE/ACE/include/makeinclude/rules.local.GNU:189: recipe for target '.shobj/ACE_crc_ccitt.o' failed
make[1]: *** [.shobj/ACE_crc_ccitt.o] Error 1
make[1]: Leaving directory '/home/smiller/Development/tao/axcioma/ACE/ACE/ace'
GNUmakefile:269: recipe for target 'ACE-target' failed
make: *** [ACE-target] Error 2
make: *** Waiting for unfinished jobs....
make[1]: Entering directory '/home/smiller/Development/tao/axcioma/ciaox11/ccm'

GNUmakefile: /home/smiller/Development/tao/axcioma/ciaox11/ccm/GNUmakefile.ciaox11_ccm_object_idl MAKEFLAGS=w -j -Orecurse --jobserver-fds=4,5 -- debug=0

make[1]: Leaving directory '/home/smiller/Development/tao/axcioma/ciaox11/ccm'
make[1]: Entering directory '/home/smiller/Development/tao/axcioma/taox11/tao/x11/anytypecode'

GNUmakefile: /home/smiller/Development/tao/axcioma/taox11/tao/x11/anytypecode/GNUmakefile.taox11_anytypecode_idl MAKEFLAGS=w -j -Orecurse --jobserver-fds=4,5 -- debug=0

make[1]: Leaving directory '/home/smiller/Development/tao/axcioma/taox11/tao/x11/anytypecode'
make[1]: Entering directory '/home/smiller/Development/tao/axcioma/ciaox11/ccm'

GNUmakefile: /home/smiller/Development/tao/axcioma/ciaox11/ccm/GNUmakefile.ciaox11_ccm_core_idl MAKEFLAGS=w -j -Orecurse --jobserver-fds=4,5 -- debug=0

make[1]: Leaving directory '/home/smiller/Development/tao/axcioma/ciaox11/ccm'
jwillemsen commented 3 years ago

Could you try to change in $(ACE_ROOT)/include/makeinclude/platform_macros.GNU the line buildbits=32 to buildbits=64 or buildbits=0 and with both alternatives try make again?

The platform bits size can be specified with -b as part of brix11 configure step.

jwillemsen commented 3 years ago

The make command should be brix11 make -N, the -N is an option of brix11, my mistake in an earlier comment

thesammiller commented 3 years ago

I was able to run brix11 configure -b 0 and then brix11 make (-b 8 output BRIX11 - ERROR : Invalid bitsize specified [8]. Supported sizes are 0, 32 or 64. and -b 64 had a problem with -m64).

Thank you for your help! I am now able to build and run a test.