<div>In my thought, it is not just like the build environment like RSB, it is like everything... including mcs, CLR, and so on. And these should all be installed in RTEMS, so I tried to cross-compile it. I do not know if I am on the right path. How do I run (or install) these in RTEMS?</div><div><includetail><div> </div><div> </div><div style="font:Verdana normal 14px;color:#000;"><div style="FONT-SIZE: 12px;FONT-FAMILY: Arial Narrow;padding:2px 0 2px 0;">------------------ Original ------------------</div><div style="FONT-SIZE: 12px;background:#efefef;padding:8px;"><div id="menu_sender"><b>From: </b> "Russell Haley"<russ.haley@gmail.com>;</div><div><b>Date: </b> Fri, Jul 21, 2017 01:09 PM</div><div><b>To: </b> "xuelin.tian"<xuelin.tian@qkmtech.com>; <wbr></div><div><b>Cc: </b> "Joel Sherrill"<joel@rtems.org>; "users"<users@rtems.org>; <wbr></div><div><b>Subject: </b> Re: Has anyone tried to port Mono to RTEMS</div></div><div> </div>                                                                                      <div style="width: 100%; font-size: initial; font-family: Calibri, 'Slate Pro', sans-serif, sans-serif; color: rgb(31, 73, 125); text-align: initial; background-color: rgb(255, 255, 255);">This is just the configuration step. It's setting up your build environment akin to what ‎the rtems-source-builder sb-check does. </div><div style="width: 100%; font-size: initial; font-family: Calibri, 'Slate Pro', sans-serif, sans-serif; color: rgb(31, 73, 125); text-align: initial; background-color: rgb(255, 255, 255);"><br></div><div style="width: 100%; font-size: initial; font-family: Calibri, 'Slate Pro', sans-serif, sans-serif; color: rgb(31, 73, 125); text-align: initial; background-color: rgb(255, 255, 255);">It looks like your on the right path. It checked your compilers and verified it can use them. </div><div style="width: 100%; font-size: initial; font-family: Calibri, 'Slate Pro', sans-serif, sans-serif; color: rgb(31, 73, 125); text-align: initial; background-color: rgb(255, 255, 255);"><br></div><div style="width: 100%; font-size: initial; font-family: Calibri, 'Slate Pro', sans-serif, sans-serif; color: rgb(31, 73, 125); text-align: initial; background-color: rgb(255, 255, 255);">Russ</div>                                                                                                                                     <div style="width: 100%; font-size: initial; font-family: Calibri, 'Slate Pro', sans-serif, sans-serif; color: rgb(31, 73, 125); text-align: initial; background-color: rgb(255, 255, 255);"><br style="display:initial"></div>                                                                                                                                                                                                   <div style="font-size: initial; font-family: Calibri, 'Slate Pro', sans-serif, sans-serif; color: rgb(31, 73, 125); text-align: initial; background-color: rgb(255, 255, 255);">Sent from my BlackBerry 10 smartphone on the Virgin Mobile network.</div>                                                                                                                                                                                  <table width="100%" style="background-color:white;border-spacing:0px;"> <tbody><tr><td colspan="2" style="font-size: initial; text-align: initial; background-color: rgb(255, 255, 255);">                           <div style="border-style: solid none none; border-top-color: rgb(181, 196, 223); border-top-width: 1pt; padding: 3pt 0in 0in; font-family: Tahoma, 'BB Alpha Sans', 'Slate Pro'; font-size: 10pt;">  <div><b>From: </b>xuelin.tian@qkmtech.com</div><div><b>Sent: </b>Thursday, July 20, 2017 8:11 PM</div><div><b>To: </b>Russell Haley</div><div><b>Cc: </b>Joel Sherrill; users@rtems.org</div><div><b>Subject: </b>Re: Re: Has anyone tried to port Mono to RTEMS</div></div></td></tr></tbody></table><div style="border-style: solid none none; border-top-color: rgb(186, 188, 209); border-top-width: 1pt; font-size: initial; text-align: initial; background-color: rgb(255, 255, 255);"></div><br><div id="_originalContent" style=""><style> div.foxdiv20170721110401434791 {}
</style>
<div><span></span><div>Sorry about some missing information.</div><div>My host is ubuntu 14.4 (--host=x86_64-unknown-linux), and target is Zynq, ARM family (--target=arm-rtems4.11). </div><div>I want to cross-compile Mono from source, downloaded from Github, the version is 4.8.1.0, not the HEAD. </div></div><div><br></div><div>I think what you mean by build output is shown below:</div><div>=================================================</div>
<div><span style="color: rgb(0, 0, 0); background-color: rgba(0, 0, 0, 0);">Running libtoolize...<br>libtoolize: putting auxiliary files in `.'.<br>libtoolize: copying file `./ltmain.sh'<br>libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'.<br>libtoolize: copying file `m4/libtool.m4'<br>libtoolize: copying file `m4/ltoptions.m4'<br>libtoolize: copying file `m4/ltsugar.m4'<br>libtoolize: copying file `m4/ltversion.m4'<br>libtoolize: copying file `m4/lt~obsolete.m4'<br>Running aclocal -I m4 -I .  ...<br>Running autoheader...<br>Running automake --gnu  ...<br>Running autoconf ...<br>Running libgc/autogen.sh ...<br>Running libtoolize...<br>libtoolize: putting auxiliary files in `.'.<br>libtoolize: copying file `./ltmain.sh'<br>libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'.<br>libtoolize: copying file `m4/libtool.m4'<br>libtoolize: copying file `m4/ltoptions.m4'<br>libtoolize: copying file `m4/ltsugar.m4'<br>libtoolize: copying file `m4/ltversion.m4'<br>libtoolize: copying file `m4/lt~obsolete.m4'<br>Running aclocal  -Wnone ...<br>Running automake --gnu  ...<br>Makefile.am:32: error: Libtool library used but 'LIBTOOL' is undefined<br>Makefile.am:32:   The usual way to define 'LIBTOOL' is to add 'LT_INIT'<br>Makefile.am:32:   to 'configure.ac' and run 'aclocal' and 'autoconf' again.<br>Makefile.am:32:   If 'LT_INIT' is in 'configure.ac', make sure<br>Makefile.am:32:   its definition is in aclocal's search path.<br>**Error**: automake failed.<br>Done running libgc/autogen.sh ...<br>Running eglib/autogen.sh ...<br>Running libtoolize...<br>libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'.<br>libtoolize: copying file `m4/libtool.m4'<br>libtoolize: copying file `m4/ltoptions.m4'<br>libtoolize: copying file `m4/ltsugar.m4'<br>libtoolize: copying file `m4/ltversion.m4'<br>libtoolize: copying file `m4/lt~obsolete.m4'<br>Running aclocal -I m4  ...<br>Running autoheader...<br>Running automake --gnu  ...<br>Running autoconf ...<br>Skipping configure process.<br>Done running eglib/autogen.sh ...<br>Running ./configure --enable-maintainer-mode --enable-compile-warnings --prefix=/opt/Mono/mono-4.8.1.0/mono-arm --target=arm-rtems4.11 --host=x86_64-unknown-linux CC=/opt/rtems-4.11.1-release/4.11-tools/bin/arm-rtems4.11-gcc CFLAGS=-qrtems -B/opt/rtems-4.11.1-release/4.11-bsp/arm-rtems4.11/lib -B/opt/rtems-4.11.1-release/4.11-bsp/arm-rtems4.11/xilinx_zynq_zedboard/lib/ -I//opt/rtems-4.11.1-release/4.11-bsp/arm-rtems4.11/xilinx_zynq_zedboard/lib/include --specs bsp_specs -march=armv7-a -mthumb -mfpu=neon -mfloat-abi=hard -mtune=cortex-a9 ...<br>checking build system type... x86_64-unknown-linux-gnu<br>checking host system type... x86_64-unknown-linux-gnu<br>checking target system type... arm-unknown-rtems4.11<br>checking for a BSD-compatible install... /usr/bin/install -c<br>checking whether build environment is sane... yes<br>checking for x86_64-unknown-linux-strip... no<br>checking for strip... strip<br>checking for a thread-safe mkdir -p... /bin/mkdir -p<br>checking for gawk... no<br>checking for mawk... mawk<br>checking whether make sets $(MAKE)... yes<br>checking how to create a ustar tar archive... gnutar<br>checking whether to enable maintainer-specific portions of Makefiles... yes<br>checking whether ln -s works... yes<br>checking whether make supports nested variables... yes<br>checking host platform characteristics... ok<br>checking for x86_64-unknown-linux-gcc... /opt/rtems-4.11.1-release/4.11-tools/bin/arm-rtems4.11-gcc<br>checking for x86_64-unknown-linux-gcc... (cached) /opt/rtems-4.11.1-release/4.11-tools/bin/arm-rtems4.11-gcc<br>checking whether the C compiler works... yes<br>checking for C compiler default output file name... a.out<br>checking for suffix of executables... <br>checking whether we are cross compiling... yes<br>checking for suffix of object files... o<br>checking whether we are using the GNU C compiler... yes<br>checking whether /opt/rtems-4.11.1-release/4.11-tools/bin/arm-rtems4.11-gcc accepts -g... yes<br>checking for /opt/rtems-4.11.1-release/4.11-tools/bin/arm-rtems4.11-gcc option to accept ISO C89... none needed<br>checking for style of include used by make... GNU<br>checking dependency style of /opt/rtems-4.11.1-release/4.11-tools/bin/arm-rtems4.11-gcc... gcc3<br>checking for x86_64-unknown-linux-g++... no<br>checking for g++... g++<br>configure: WARNING: using cross tools not prefixed with host triplet<br>checking whether we are using the GNU C++ compiler... yes<br>checking whether g++ accepts -g... yes<br>checking dependency style of g++... gcc3<br>checking dependency style of /opt/rtems-4.11.1-release/4.11-tools/bin/arm-rtems4.11-gcc... gcc3<br>checking for gawk... (cached) mawk<br>checking whether /opt/rtems-4.11.1-release/4.11-tools/bin/arm-rtems4.11-gcc and cc understand -c and -o together... yes<br>checking how to run the C preprocessor... /opt/rtems-4.11.1-release/4.11-tools/bin/arm-rtems4.11-gcc -E<br>checking for grep that handles long lines and -e... /bin/grep<br>checking for egrep... /bin/grep -E<br>checking for ANSI C header files... yes<br>checking how to print strings... printf<br>checking for a sed that does not truncate output... /bin/sed<br>checking for fgrep... /bin/grep -F<br>checking for ld used by /opt/rtems-4.11.1-release/4.11-tools/bin/arm-rtems4.11-gcc... /opt/rtems-4.11.1-release/4.11-tools/arm-rtems4.11/bin/ld<br>checking if the linker (/opt/rtems-4.11.1-release/4.11-tools/arm-rtems4.11/bin/ld) is GNU ld... yes<br>checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B<br>checking the name lister (/usr/bin/nm -B) interface... BSD nm<br>checking the maximum length of command line arguments... 1572864<br>checking whether the shell understands some XSI constructs... yes<br>checking whether the shell understands "+="... yes<br>checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop<br>checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop<br>checking for /opt/rtems-4.11.1-release/4.11-tools/arm-rtems4.11/bin/ld option to reload object files... -r<br>checking for x86_64-unknown-linux-objdump... objdump<br>checking how to recognize dependent libraries... pass_all<br>checking for x86_64-unknown-linux-dlltool... dlltool<br>checking how to associate runtime and link libraries... printf %s\n<br>checking for x86_64-unknown-linux-ar... no<br>checking for ar... ar<br>checking for archiver @FILE support... @<br>checking for x86_64-unknown-linux-strip... strip<br>checking for x86_64-unknown-linux-ranlib... no<br>checking for ranlib... ranlib<br>checking command to parse /usr/bin/nm -B output from /opt/rtems-4.11.1-release/4.11-tools/bin/arm-rtems4.11-gcc object... ok<br>checking for sysroot... no<br>checking for x86_64-unknown-linux-mt... no<br>checking for mt... mt<br>checking if mt is a manifest tool... no<br>checking for sys/types.h... yes<br>checking for sys/stat.h... yes<br>checking for stdlib.h... yes<br>checking for string.h... yes<br>checking for memory.h... yes<br>checking for strings.h... yes<br>checking for inttypes.h... yes<br>checking for stdint.h... yes<br>checking for unistd.h... yes<br>checking for dlfcn.h... yes<br>checking for objdir... .libs<br>checking if /opt/rtems-4.11.1-release/4.11-tools/bin/arm-rtems4.11-gcc supports -fno-rtti -fno-exceptions... no<br>checking for /opt/rtems-4.11.1-release/4.11-tools/bin/arm-rtems4.11-gcc option to produce PIC... -fPIC -DPIC<br>checking if /opt/rtems-4.11.1-release/4.11-tools/bin/arm-rtems4.11-gcc PIC flag -fPIC -DPIC works... yes<br>checking if /opt/rtems-4.11.1-release/4.11-tools/bin/arm-rtems4.11-gcc static flag -static works... yes<br>checking if /opt/rtems-4.11.1-release/4.11-tools/bin/arm-rtems4.11-gcc supports -c -o file.o... yes<br>checking if /opt/rtems-4.11.1-release/4.11-tools/bin/arm-rtems4.11-gcc supports -c -o file.o... (cached) yes<br>checking whether the /opt/rtems-4.11.1-release/4.11-tools/bin/arm-rtems4.11-gcc linker (/opt/rtems-4.11.1-release/4.11-tools/arm-rtems4.11/bin/ld -m elf_i386) supports shared libraries... no<br>checking dynamic linker characteristics... GNU/Linux ld.so<br>checking how to hardcode library paths into programs... unsupported<br>checking whether stripping libraries is possible... yes<br>checking if libtool supports shared libraries... no<br>checking whether to build shared libraries... no<br>checking whether to build static libraries... yes<br>checking how to run the C++ preprocessor... g++ -E<br>checking for ld used by g++... /opt/rtems-4.11.1-release/4.11-tools/arm-rtems4.11/bin/ld -m elf_i386<br>checking if the linker (/opt/rtems-4.11.1-release/4.11-tools/arm-rtems4.11/bin/ld -m elf_i386) is GNU ld... no<br>checking whether the g++ linker (/opt/rtems-4.11.1-release/4.11-tools/arm-rtems4.11/bin/ld -m elf_i386) supports shared libraries... yes<br>checking for g++ option to produce PIC... -fPIC -DPIC<br>checking if g++ PIC flag -fPIC -DPIC works... yes<br>checking if g++ static flag -static works... yes<br>checking if g++ supports -c -o file.o... yes<br>checking if g++ supports -c -o file.o... (cached) yes<br>checking whether the g++ linker (/opt/rtems-4.11.1-release/4.11-tools/arm-rtems4.11/bin/ld -m elf_i386) supports shared libraries... yes<br>checking dynamic linker characteristics... (cached) GNU/Linux ld.so<br>checking how to hardcode library paths into programs... unsupported<br>checking for bash... /bin/bash<br>checking if dolt supports this host... yes, replacing libtool<br>checking for ld used by /opt/rtems-4.11.1-release/4.11-tools/bin/arm-rtems4.11-gcc... (cached) /opt/rtems-4.11.1-release/4.11-tools/arm-rtems4.11/bin/ld<br>checking if the linker (/opt/rtems-4.11.1-release/4.11-tools/arm-rtems4.11/bin/ld) is GNU ld... (cached) yes<br>checking for ld used by GCC... /opt/rtems-4.11.1-release/4.11-tools/arm-rtems4.11/bin/ld<br>checking if the linker (/opt/rtems-4.11.1-release/4.11-tools/arm-rtems4.11/bin/ld) is GNU ld... yes<br>checking for shared library run path origin... done<br>checking for iconv... yes<br>checking for working iconv... guessing yes<br>checking for iconv declaration... <br>         extern size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);<br>checking sys/filio.h usability... yes<br>checking sys/filio.h presence... no<br>configure: WARNING: sys/filio.h: accepted by the compiler, rejected by the preprocessor!<br>configure: WARNING: sys/filio.h: proceeding with the compiler's result<br>checking for sys/filio.h... yes<br>checking sys/sockio.h usability... yes<br>checking sys/sockio.h presence... no<br>configure: WARNING: sys/sockio.h: accepted by the compiler, rejected by the preprocessor!<br>configure: WARNING: sys/sockio.h: proceeding with the compiler's result<br>checking for sys/sockio.h... yes<br>checking netdb.h usability... no<br>checking netdb.h presence... no<br>checking for netdb.h... no<br>checking utime.h usability... yes<br>checking utime.h presence... yes<br>checking for utime.h... yes<br>checking sys/utime.h usability... yes<br>checking sys/utime.h presence... yes<br>checking for sys/utime.h... yes<br>checking semaphore.h usability... yes<br>checking semaphore.h presence... yes<br>checking for semaphore.h... yes<br>checking sys/un.h usability... no<br>checking sys/un.h presence... no<br>checking for sys/un.h... no<br>checking linux/rtc.h usability... no<br>checking linux/rtc.h presence... no<br>checking for linux/rtc.h... no<br>checking sys/syscall.h usability... no<br>checking sys/syscall.h presence... no<br>checking for sys/syscall.h... no<br>checking sys/mkdev.h usability... no<br>checking sys/mkdev.h presence... no<br>checking for sys/mkdev.h... no<br>checking sys/uio.h usability... yes<br>checking sys/uio.h presence... no<br>configure: WARNING: sys/uio.h: accepted by the compiler, rejected by the preprocessor!<br>configure: WARNING: sys/uio.h: proceeding with the compiler's result<br>checking for sys/uio.h... yes<br>checking sys/param.h usability... yes<br>checking sys/param.h presence... yes<br>checking for sys/param.h... yes<br>checking sys/sysctl.h usability... no<br>checking sys/sysctl.h presence... no<br>checking for sys/sysctl.h... no<br>checking libproc.h usability... no<br>checking libproc.h presence... no<br>checking for libproc.h... no<br>checking sys/prctl.h usability... no<br>checking sys/prctl.h presence... no<br>checking for sys/prctl.h... no<br>checking for sys/param.h... (cached) yes<br>checking sys/socket.h usability... no<br>checking sys/socket.h presence... no<br>checking for sys/socket.h... no<br>checking sys/ipc.h usability... no<br>checking sys/ipc.h presence... no<br>checking for sys/ipc.h... no<br>checking sys/utsname.h usability... yes<br>checking sys/utsname.h presence... no<br>configure: WARNING: sys/utsname.h: accepted by the compiler, rejected by the preprocessor!<br>configure: WARNING: sys/utsname.h: proceeding with the compiler's result<br>checking for sys/utsname.h... yes<br>checking alloca.h usability... yes<br>checking alloca.h presence... yes<br>checking for alloca.h... yes<br>checking ucontext.h usability... no<br>checking ucontext.h presence... no<br>checking for ucontext.h... no<br>checking pwd.h usability... yes<br>checking pwd.h presence... yes<br>checking for pwd.h... yes<br>checking sys/select.h usability... no<br>checking sys/select.h presence... no<br>checking for sys/select.h... no<br>checking netinet/tcp.h usability... no<br>checking netinet/tcp.h presence... no<br>checking for netinet/tcp.h... no<br>checking netinet/in.h usability... no<br>checking netinet/in.h presence... no<br>checking for netinet/in.h... no<br>checking for unistd.h... (cached) yes<br>checking for sys/types.h... (cached) yes<br>checking link.h usability... yes<br>checking link.h presence... no<br>configure: WARNING: link.h: accepted by the compiler, rejected by the preprocessor!<br>configure: WARNING: link.h: proceeding with the compiler's result<br>checking for link.h... yes<br>checking asm/sigcontext.h usability... no<br>checking asm/sigcontext.h presence... no<br>checking for asm/sigcontext.h... no<br>checking sys/inotify.h usability... no<br>checking sys/inotify.h presence... no<br>checking for sys/inotify.h... no<br>checking arpa/inet.h usability... no<br>checking arpa/inet.h presence... no<br>checking for arpa/inet.h... no<br>checking complex.h usability... yes<br>checking complex.h presence... yes<br>checking for complex.h... yes<br>checking unwind.h usability... yes<br>checking unwind.h presence... yes<br>checking for unwind.h... yes<br>checking for linux/netlink.h... no<br>checking for linux/rtnetlink.h... no<br>checking for sys/user.h... no<br>checking linux/serial.h usability... no<br>checking linux/serial.h presence... no<br>checking for linux/serial.h... no<br>checking zlib.h usability... yes<br>checking zlib.h presence... no<br>configure: WARNING: zlib.h: accepted by the compiler, rejected by the preprocessor!<br>configure: WARNING: zlib.h: proceeding with the compiler's result<br>checking for zlib.h... yes<br>Using system zlib<br>checking elf.h usability... no<br>checking elf.h presence... no<br>checking for elf.h... no<br>checking poll.h usability... no<br>checking poll.h presence... no<br>checking for poll.h... no<br>checking sys/poll.h usability... yes<br>checking sys/poll.h presence... no<br>configure: WARNING: sys/poll.h: accepted by the compiler, rejected by the preprocessor!<br>configure: WARNING: sys/poll.h: proceeding with the compiler's result<br>checking for sys/poll.h... yes<br>checking sys/wait.h usability... yes<br>checking sys/wait.h presence... yes<br>checking for sys/wait.h... yes<br>checking grp.h usability... yes<br>checking grp.h presence... yes<br>checking for grp.h... yes<br>checking syslog.h usability... no<br>checking syslog.h presence... no<br>checking for syslog.h... no<br>checking wchar.h usability... yes<br>checking wchar.h presence... yes<br>checking for wchar.h... yes<br>checking ieeefp.h usability... yes<br>checking ieeefp.h presence... yes<br>checking for ieeefp.h... yes<br>checking for isinf... yes<br>checking for _finite... no<br>checking for _finite in math.h... no<br>checking linux/magic.h usability... no<br>checking linux/magic.h presence... no<br>checking for linux/magic.h... no<br>checking size of void *... 4<br>checking for clang... no<br>checking for -Wno-unused-but-set-variable option to gcc... yes<br>checking whether NLS is requested... profile_default<br>checking for msgfmt... /usr/bin/msgfmt<br>checking for gmsgfmt... /usr/bin/msgfmt<br>checking for xgettext... /usr/bin/xgettext<br>checking for msgmerge... /usr/bin/msgmerge<br>checking for pkg-config... /usr/bin/pkg-config<br>checking for -mno-tls-direct-seg-refs option to gcc... no<br>yes<br>checking for visibility __attribute__... yes<br>checking whether /opt/rtems-4.11.1-release/4.11-tools/bin/arm-rtems4.11-gcc supports zero length arrays... yes<br>checking nacl/nacl_dyncode.h usability... no<br>checking nacl/nacl_dyncode.h presence... no<br>checking for nacl/nacl_dyncode.h... no<br>checking signal.h usability... yes<br>checking signal.h presence... yes<br>checking for signal.h... yes<br>checking for sigaction... yes<br>checking for kill... yes<br>checking for signal... yes<br>checking for library containing clock_gettime... none required<br>checking for clock_nanosleep... no<br>checking for dlopen... yes<br>checking for preceeding underscore in symbols... (cached) no<br>checking for dlerror... yes<br>checking execinfo.h usability... no<br>checking execinfo.h presence... no<br>checking for execinfo.h... no<br>checking sys/auxv.h usability... no<br>checking sys/auxv.h presence... no<br>checking for sys/auxv.h... no<br>checking sys/resource.h usability... yes<br>checking sys/resource.h presence... yes<br>checking for sys/resource.h... yes<br>checking for getgrgid_r... yes<br>checking for getgrnam_r... yes<br>checking for getpwnam_r... yes<br>checking for getpwuid_r... yes<br>checking for getresuid... no<br>checking for setresuid... no<br>checking for kqueue... no<br>checking for backtrace_symbols... no<br>checking for mkstemp... yes<br>checking for mmap... yes<br>checking for madvise... no<br>checking for getrusage... yes<br>checking for getpriority... no<br>checking for setpriority... no<br>checking for dl_iterate_phdr... no<br>checking for dladdr... no<br>checking for sysconf... yes<br>checking for getrlimit... no<br>checking for prctl... no<br>checking for sched_getaffinity... no<br>checking for sched_setaffinity... no<br>checking for sched_getcpu... no<br>checking for sched_setaffinity from glibc < 2.3.4... yes<br>checking if off_t is 64 bits wide... ok<br>checking for socket in -lsocket... no<br>checking for MSG_NOSIGNAL... no<br>checking for IPPROTO_IP... no<br>checking for IPPROTO_IPV6... no<br>checking for IPPROTO_TCP... no<br>checking for SOL_IP... no<br>checking for SOL_IPV6... no<br>checking for SOL_TCP... no<br>checking for IP_PKTINFO... no<br>checking for IPV6_PKTINFO... no<br>checking for IP_DONTFRAG... no<br>checking for IP_DONTFRAGMENT... no<br>checking for IP_MTU_DISCOVER... no<br>checking for IP_PMTUDISC_DO... no<br>checking for struct ip_mreqn... no<br>checking for struct ip_mreq... no<br>checking for getaddrinfo... no<br>checking for gethostbyname2_r... no<br>checking for gethostbyname2... no<br>checking for gethostbyname... no<br>checking for getprotobyname... no<br>checking for getnameinfo... no<br>checking for inet_ntop... no<br>checking for gethostbyaddr... no<br>checking for gethostbyaddr in -lnsl... no<br>checking for inet_pton... no<br>checking for inet_aton... no<br>checking for main in -lpthread... no<br>checking pthread.h usability... yes<br>checking pthread.h presence... yes<br>checking for pthread.h... yes<br>checking pthread_np.h usability... no<br>checking pthread_np.h presence... no<br>checking for pthread_np.h... no<br>checking for pthread_mutex_timedlock... yes<br>checking for pthread_getattr_np... yes<br>checking for pthread_attr_get_np... no<br>checking for pthread_setname_np... no<br>checking for pthread_kill... yes<br>checking for PTHREAD_MUTEX_RECURSIVE... ok<br>checking for pthread_attr_setstacksize... yes<br>checking for pthread_attr_getstack... yes<br>checking for pthread_attr_getstacksize... yes<br>checking for pthread_get_stacksize_np... no<br>checking for pthread_get_stackaddr_np... no<br>checking for mincore... no<br>checking for working __thread... cross compiling<br>checking for working sigaltstack... cross compiling<br>checking for library containing sem_init... none required<br>checking for library containing shm_open... no<br>checking for shm_open... no<br>checking for tm_gmtoff in struct tm... no<br>checking for timezone variable... no<br>configure: error: unable to find a way to determine timezone<br></span></div><div><span style="color: rgb(0, 0, 0); background-color: rgba(0, 0, 0, 0);">===============================================</span></div><div><div>I googled the time zone variable, and still working on it.</div><div><br></div><div>But actually, I want to know whether I am doing it the right way? I mean, is this a right way to port Mono to RTEMS, just modifying some configuration options? I am still confusing about it. </div></div><div><br></div><hr style="width: 210px; height: 1px;" color="#b5c4df" size="1" align="left">
<div><span><div style="MARGIN: 10px; FONT-FAMILY: verdana; FONT-SIZE: 10pt"><div>Best wishes,</div><div>xuelin.tian@qkmtech.com</div></div></span></div>
<blockquote style="margin-top: 0px; margin-bottom: 0px; margin-left: 0.5em;"><div> </div><div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm"><div style="PADDING-RIGHT: 8px; PADDING-LEFT: 8px; FONT-SIZE: 12px;FONT-FAMILY:tahoma;COLOR:#000000; BACKGROUND: #efefef; PADDING-BOTTOM: 8px; PADDING-TOP: 8px"><div><b>From:</b> <a href="mailto:russ.haley@gmail.com">Russell Haley</a></div><div><b>Date:</b> 2017-07-21 10:42</div><div><b>To:</b> <a href="mailto:xuelin.tian@qkmtech.com">xuelin.tian@qkmtech.com</a></div><div><b>CC:</b> <a href="mailto:joel@rtems.org">Joel Sherrill</a>; <a href="mailto:users@rtems.org">users@rtems.org</a></div><div><b>Subject:</b> Re: Re: Has anyone tried to port Mono to RTEMS</div></div></div><div><div class="FoxDiv20170721110401434791"><div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Jul 20, 2017 at 7:07 PM, <a href="mailto:xuelin.tian@qkmtech.com">xuelin.tian@qkmtech.com</a> <span dir="ltr"><<a href="mailto:xuelin.tian@qkmtech.com" target="_blank">xuelin.tian@qkmtech.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-style: solid; border-left-color: rgb(204, 204, 204); padding-left: 1ex;"><div>
<div><span></span>I just followed the instructions from Mono, and did some changes obviously.</div><div>I did not use ScratchBox to cross-compile my Mono on ARM, just use arm-rtems4.11-gcc to cross-compile it. Is that right?</div><div>Do I need to modify the source code from Mono to port to RTEMS?</div>
</div></blockquote><div>Some context you really should provide:<br>- What platform are you building on?<br></div><div>- Where did you get the source files? (if git, are you building head? I have had many problems building mono from head)<br></div><div>- Without posting your complete build output there is no way to tell what is happening. <br><br></div><div>This is just a shot in the dark, but did you google Time Zone variable? Google says you need to set a TZ environment variable. <br></div><div><br></div><div>Russ<br></div><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-style: solid; border-left-color: rgb(204, 204, 204); padding-left: 1ex;"><div><div></div><hr style="width:210px;height:1px" color="#b5c4df" size="1" align="left">
<div><span><div style="margin:10px;font-family:verdana;font-size:10pt"><div>Best wishes,</div><div><a href="mailto:xuelin.tian@qkmtech.com" target="_blank">xuelin.tian@qkmtech.com</a></div></div></span></div>
<blockquote style="margin-top: 0px; margin-bottom: 0px; margin-left: 0.5em;"><div> </div><div style="border-width:1pt medium medium;border-style:solid none none;border-color:rgb(181,196,223) currentcolor currentcolor;padding:3pt 0cm 0cm"><div style="padding:8px;font-size:12px;font-family:tahoma;color:rgb(0,0,0);background:rgb(239,239,239) none repeat scroll 0% 0%"><div><b>From:</b> <a href="mailto:russ.haley@gmail.com" target="_blank">Russell Haley</a></div><div><b>Date:</b> 2017-07-21 00:16</div><div><div class="gmail-h5"><div><b>To:</b> <a href="mailto:xuelin.tian@qkmtech.com" target="_blank">xuelin.tian</a>; <a href="mailto:joel@rtems.org" target="_blank">Joel Sherrill</a></div><div><b>CC:</b> <a href="mailto:users@rtems.org" target="_blank">users</a></div><div><b>Subject:</b> Re: Has anyone tried to port Mono to RTEMS</div></div></div></div></div><div><div class="gmail-h5"><div><div class="gmail-m_6355668261996299745FoxDiv20170721100246834833">
                                                                                      <div style=" width:100%;font-size:initial; ; ; ; ;  ">Did you get it to build natively?‎ What is your host. Build output would be helpful. </div><div style=" width:100%;font-size:initial; ; ; ; ;  "><br></div><div style=" width:100%;font-size:initial; ; ; ; ;  ">Russ</div>                                                                                                                                     <div style=" width:100%;font-size:initial; ; ; ; ;  "><br style="display:initial"></div>                                                                                                                                                                                                   <div style=" font-size:initial; ; ; ; ;  ">Sent from my BlackBerry 10 <wbr>smartphone on the Virgin <wbr>Mobile network.</div>                                                                                                                                                                                  <table style="background-color:white;border-spacing:0px" width="100%"> <tbody><tr><td colspan="2" style="font-size:initial;text-align:initial;background-color:rgb(255,255,255)">                           <div style=" border-style:solid none none;border-top:1pt solid rgb(181,196,223);padding:3pt 0in 0in; ; ; ; font-size:10pt ">  <div><b>From: </b><a href="mailto:xuelin.tian@qkmtech.com" target="_blank">xuelin.tian@qkmtech.com</a></div><div><b>Sent: </b>Thursday, July 20, 2017 5:53 AM</div><div><b>To: </b>Russell Haley; Joel Sherrill</div><div><b>Cc: </b><a href="mailto:users@rtems.org" target="_blank">users@rtems.org</a></div><div><b>Subject: </b>Re: Re: Has anyone tried to port Mono to RTEMS</div></div></td></tr></tbody></table><div style="border-style:solid none none;border-top:1pt solid rgb(186,188,209);font-size:initial;text-align:initial;background-color:rgb(255,255,255)"></div><br><div id="gmail-m_6355668261996299745_originalContent">
<div><span></span>I have been struck by it for like 2 days.</div><div>I want to cross-compile Mono for a test, and I enter: </div><div><br></div><div><span style="color:rgb(0,0,0);background-color:transparent"><b>./autogen.sh --prefix=/opt/<wbr>Mono/mono-4.8.1.0/mono-arm --<wbr>target=arm-rtems4.11 --host=<wbr>x86_64-unknown-linux CC=/opt/<wbr>rtems-4.11.1-release/4.11-<wbr>tools/bin/arm-rtems4.11-gcc <wbr>CFLAGS="-qrtems -B/opt/rtems-<wbr>4.11.1-release/4.11-bsp/arm-<wbr>rtems4.11/lib -B/opt/rtems-4.<wbr>11.1-release/4.11-bsp/arm-<wbr>rtems4.11/xilinx_zynq_<wbr>zedboard/lib/ -I//opt/rtems-4.<wbr>11.1-release/4.11-bsp/arm-<wbr>rtems4.11/xilinx_zynq_<wbr>zedboard/lib/include --specs <wbr>bsp_specs -march=armv7-a -<wbr>mthumb -mfpu=neon -mfloat-abi=<wbr>hard -mtune=cortex-a9"</b><br></span></div><div><span style="color:rgb(0,0,0);background-color:transparent"><br></span></div><div><span style="color:rgb(0,0,0);background-color:transparent">It goes well at first, then the error came up:</span></div><div><span style="color:rgb(0,0,0);background-color:transparent"><b>checking for timezone <wbr>variable... no<br>configure: error: unable to <wbr>find a way to determine <wbr>timezone</b><br></span></div><div><span style="color:rgb(0,0,0);background-color:transparent"><br></span></div><div><span style="color:rgb(0,0,0);background-color:transparent">I can not really understand the content from config.log</span></div><div><img src="cid:0F4A8637@D1878C7A.38B27459" border="0"></div><div><br></div><div>Can anyone help me with this? Thanks a lot</div>
<div><br></div><hr style="width:210px;height:1px" color="#b5c4df" size="1" align="left">
<div><span><div style="margin:10px;font-family:verdana;font-size:10pt"><div>Best wishes,</div><div><a href="mailto:xuelin.tian@qkmtech.com" target="_blank">xuelin.tian@qkmtech.com</a></div></div></span></div>
<blockquote style="margin-top: 0px; margin-bottom: 0px; margin-left: 0.5em;"><div> </div><div style="border-width:1pt medium medium;border-style:solid none none;border-color:rgb(181,196,223) currentcolor currentcolor;padding:3pt 0cm 0cm"><div style="padding:8px;font-size:12px;font-family:tahoma;color:rgb(0,0,0);background:rgb(239,239,239) none repeat scroll 0% 0%"><div><b>From:</b> <a href="mailto:russ.haley@gmail.com" target="_blank">Russell Haley</a></div><div><b>Date:</b> 2017-07-14 12:44</div><div><b>To:</b> <a href="mailto:xuelin.tian@qkmtech.com" target="_blank">xuelin.tian</a>; <a href="mailto:joel@rtems.org" target="_blank">Joel Sherrill</a></div><div><b>CC:</b> <a href="mailto:users@rtems.org" target="_blank">users</a></div><div><b>Subject:</b> Re: Has anyone tried to port Mono to RTEMS</div></div></div><div><div class="gmail-m_6355668261996299745FoxDiv20170720204531156386" style="background-color:rgb(255,255,255);line-height:initial">
                                                                                      <div style=" width:100%;font-size:initial; ; ; ; ;  ">Thinking about it, Lua is designed to be statically linked into C applications and your scripts are loaded and executed by your application at runtime. This is how lua is plugged into many video games like world or warcraft and roblox. </div><div style=" width:100%;font-size:initial; ; ; ; ;  "><br></div><div style=" width:100%;font-size:initial; ; ; ; ;  ">From my simplistic understanding of rtems (and everything I just said), that would be the way you would statically link lua into rtems?</div>                                                                                                                                     <div style=" width:100%;font-size:initial; ; ; ; ;  "><br></div><div style=" width:100%;font-size:initial; ; ; ; ;  ">Russ</div><div style=" width:100%;font-size:initial; ; ; ; ;  "><br></div>                                                                                                                                                                                                   <div style=" font-size:initial; ; ; ; ;  ">Sent from my BlackBerry 10 <wbr>smartphone on the Virgin <wbr>Mobile network.</div>                                                                                                                                                                                  <table style="background-color:white;border-spacing:0px" width="100%"> <tbody><tr><td colspan="2" style="font-size:initial;text-align:initial;background-color:rgb(255,255,255)">                           <div style=" border-style:solid none none;border-top:1pt solid rgb(181,196,223);padding:3pt 0in 0in; ; ; ; font-size:10pt ">  <div><b>From: </b><a href="mailto:xuelin.tian@qkmtech.com" target="_blank">xuelin.tian@qkmtech.com</a></div><div><b>Sent: </b>Thursday, July 13, 2017 9:03 PM</div><div><b>To: </b>Russell Haley; Joel Sherrill</div><div><b>Cc: </b><a href="mailto:users@rtems.org" target="_blank">users@rtems.org</a></div><div><b>Subject: </b>Re: Re: Has anyone tried to port Mono to RTEMS</div></div></td></tr></tbody></table><div style="border-style:solid none none;border-top:1pt solid rgb(186,188,209);font-size:initial;text-align:initial;background-color:rgb(255,255,255)"></div><br><div id="gmail-m_6355668261996299745_originalContent">
<div><span></span>OK, thanks a lot.</div><div>I will go through Lua today, to see if there is something interesting there.</div>
<div><br></div><hr style="width:210px;height:1px" color="#b5c4df" size="1" align="left">
<div><span><div style="margin:10px;font-family:verdana;font-size:10pt"><div>Best wishes,</div><div><a href="mailto:xuelin.tian@qkmtech.com" target="_blank">xuelin.tian@qkmtech.com</a></div></div></span></div>
<blockquote style="margin-top: 0px; margin-bottom: 0px; margin-left: 0.5em;"><div> </div><div style="border-width:1pt medium medium;border-style:solid none none;border-color:rgb(181,196,223) currentcolor currentcolor;padding:3pt 0cm 0cm"><div style="padding:8px;font-size:12px;font-family:tahoma;color:rgb(0,0,0);background:rgb(239,239,239) none repeat scroll 0% 0%"><div><b>From:</b> <a href="mailto:russ.haley@gmail.com" target="_blank">Russell Haley</a></div><div><b>Date:</b> 2017-07-14 11:57</div><div><b>To:</b> <a href="mailto:xuelin.tian@qkmtech.com" target="_blank">xuelin.tian</a>; <a href="mailto:joel@rtems.org" target="_blank">Joel Sherrill</a></div><div><b>CC:</b> <a href="mailto:users@rtems.org" target="_blank">users</a></div><div><b>Subject:</b> Re: Has anyone tried to port Mono to RTEMS</div></div></div><div><div class="gmail-m_6355668261996299745FoxDiv20170714115950519708" style="background-color:rgb(255,255,255);line-height:initial">
                                                                                      <div style=" width:100%;font-size:initial; ; ; ; ;  ">Just my opinion on the 'or other vm' comment. </div><div style=" width:100%;font-size:initial; ; ; ; ;  "><br></div><div style=" width:100%;font-size:initial; ; ; ; ;  ">If your requirement is not strictly mono, I highly suggest something small and simple like Lua. It's a a very efficient vm and is cross compatible with all major platforms. The only requirement for Lua is c99. </div><div style=" width:100%;font-size:initial; ; ; ; ;  "><br></div><div style=" width:100%;font-size:initial; ; ; ; ;  ">The language is very simple and bare bones. You pick your tools from git or a repository manager called luarocks (<a href="http://luarocks.org" target="_blank">luarocks.org</a>). That's where the 'hard part' of Lua comes in. It's very hands on because you need to find or write almost everything you need. </div><div style=" width:100%;font-size:initial; ; ; ; ;  "><br></div><div style=" width:100%;font-size:initial; ; ; ; ;  ">I am putting together a 'lightweight' IoT platform using Lua 5.3 and a very sophisticated polling library called cqueues. There is an http library called lua-http based on cqueues that contains a client and server implementation of most major http standards including http2 and websockets. The requirements for cqueues are a polling library such as epoll or kqueues (or even poll or select). I'm not sure how well that would plug into rtems. ‎At this point I'm cross compatible for most major Nixs' though. </div>                                                                                                                                     <div style=" width:100%;font-size:initial; ; ; ; ;  "><br></div><div style=" width:100%;font-size:initial; ; ; ; ;  ">Nonetheless, the overhead of mono is not really worth it if you are doing simple things. ‎That's why I switched away from DotNet for my project. If you have code to port, or have DotNet developers, mono makes sense. </div><div style=" width:100%;font-size:initial; ; ; ; ;  "><br></div><div style=" width:100%;font-size:initial; ; ; ; ;  ">‎Just my opinion. </div><div style=" width:100%;font-size:initial; ; ; ; ;  "><br></div><div style=" width:100%;font-size:initial; ; ; ; ;  ">HTH</div><div style=" width:100%;font-size:initial; ; ; ; ;  ">Russ</div><div style=" width:100%;font-size:initial; ; ; ; ;  "><br></div>                                                                                                                                                                                                   <div style=" font-size:initial; ; ; ; ;  ">Sent from my BlackBerry 10 <wbr>smartphone on the Virgin <wbr>Mobile network.</div>                                                                                                                                                                                  <table style="background-color:white;border-spacing:0px" width="100%"> <tbody><tr><td colspan="2" style="font-size:initial;text-align:initial;background-color:rgb(255,255,255)">                           <div style=" border-style:solid none none;border-top:1pt solid rgb(181,196,223);padding:3pt 0in 0in; ; ; ; font-size:10pt ">  <div><b>From: </b><a href="mailto:xuelin.tian@qkmtech.com" target="_blank">xuelin.tian@qkmtech.com</a></div><div><b>Sent: </b>Thursday, July 13, 2017 8:38 PM</div><div><b>To: </b>Joel Sherrill; Russell Haley</div><div><b>Cc: </b><a href="mailto:users@rtems.org" target="_blank">users@rtems.org</a></div><div><b>Subject: </b>Re: Re: Has anyone tried to port Mono to RTEMS</div></div></td></tr></tbody></table><div style="border-style:solid none none;border-top:1pt solid rgb(186,188,209);font-size:initial;text-align:initial;background-color:rgb(255,255,255)"></div><br><div id="gmail-m_6355668261996299745_originalContent">
<div><span></span>Yes, I am trying to build it from source according to Russell.</div><div><br></div><div>As to .net core, I may not have a deep understanding of it. I think for now, Mono may be the best choice for me, since I need to make it (porting Mono or other VM to rtems) work in a few days. </div>
<div><br></div><hr style="width:210px;height:1px" color="#b5c4df" size="1" align="left">
<div><span><div style="margin:10px;font-family:verdana;font-size:10pt"><div>Best wishes,</div><div><a href="mailto:xuelin.tian@qkmtech.com" target="_blank">xuelin.tian@qkmtech.com</a></div></div></span></div>
<blockquote style="margin-top: 0px; margin-bottom: 0px; margin-left: 0.5em;"><div> </div><div style="border-width:1pt medium medium;border-style:solid none none;border-color:rgb(181,196,223) currentcolor currentcolor;padding:3pt 0cm 0cm"><div style="padding:8px;font-size:12px;font-family:tahoma;color:rgb(0,0,0);background:rgb(239,239,239) none repeat scroll 0% 0%"><div><b>From:</b> <a href="mailto:joel@rtems.org" target="_blank">Joel Sherrill</a></div><div><b>Date:</b> 2017-07-13 01:08</div><div><b>To:</b> <a href="mailto:russ.haley@gmail.com" target="_blank">Russell Haley</a></div><div><b>CC:</b> <a href="mailto:xuelin.tian@qkmtech.com" target="_blank">xuelin.tian@qkmtech.com</a>; <a href="mailto:users@rtems.org" target="_blank">users@rtems.org</a></div><div><b>Subject:</b> Re: Re: Has anyone tried to port Mono to RTEMS</div></div></div><div><div class="gmail-m_6355668261996299745FoxDiv20170714113148021310"><div dir="ltr">The reply from Russell is very good advice. Look forward when porting and<div>make sure you are porting something with a future.</div><div><br></div><div>For Mono, I did exactly what he outlined. I built native. I recall it using a </div><div>fairly normal configure script and I just added --target=XXX-rtems. I might</div><div>have added some CFLAGS but don't recall. </div><div><br></div><div>I focused on the run-time interpreter and ignored the JIT. The run-time</div><div>translated Mono calls into C library and POSIX calls. If there was a </div><div>compilation issue, I tried to fix it where ever it had to be fixed. Always being</div><div>open to adding something to either RTEMS or newlib if possible</div><div>and needed.</div><div><br></div><div>--joel</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Jul 12, 2017 at 11:03 AM, Russell Haley <span dir="ltr"><<a href="mailto:russ.haley@gmail.com" target="_blank">russ.haley@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.5em; border-left-width: 1px; border-left-style: solid; border-left-color: rgb(204, 204, 204); padding-left: 1ex;"><span>On Tue, Jul 11, 2017 at 9:31 PM, <a href="mailto:xuelin.tian@qkmtech.com" target="_blank">xuelin.tian@qkmtech.com</a><br>
<<a href="mailto:xuelin.tian@qkmtech.com" target="_blank">xuelin.tian@qkmtech.com</a>> wrote:<br>
> Dear Joel,<br>
> Recently, I continue to port Mono to RTEMS.<br>
> Porting consists of two parts, according to the Mono documents online, JIT<br>
> engine and OS support.<br>
> JIT part is already done, since I use ARM platform.<br>
> And I am confuesd about OS part and how to build Mono on RTEMS.<br>
> Could you recall any details about how to build Mono on RTEMS? Thank you.<br>
<br>
</span>I'm not sure that's quite right. There are really 3 parts: The<br>
application framework, the 'JIT' (Mono Runtime, or Common Language<br>
Runtime in Microsoft .Net) and the OS specific layer. The application<br>
framework and the JIT are common to all platforms. The OS specific<br>
parts are in the Mono Runtime where it translates the Interediate<br>
Language (IL) to machine specific code at ... er ... runtime. The Mono<br>
Runtime is being slowly replaced by the Roslyn compiler, which is open<br>
source from Microsoft (very very cool stuff).<br>
<br>
Building Mono requires a number of parts, including boot strapping the<br>
build and downloading binaries from nuget (last time I did it,<br>
anyway). I've never attempted to cross compile Mono. I would assume<br>
you would change the make file to point to a cross compiler such as<br>
arm-unknown-gcc (not sure about the RTEMS specifics).<br>
<br>
In my opinion the best bet is to pull the mono repository from GitHub<br>
and build it for your host platform first. Then you could look at<br>
modifying it to build on arm.<br>
<br>
That said, Mono is a dead/dying platform. Microsoft has bought<br>
Xamarian (Mono sponsor company). Now the Mono Dev Team is slowly<br>
porting everything over to the Microsoft .Net Core code. Once the<br>
majority of libraries are converted, they can then write Mono specific<br>
modules for legacy applications and then shuffle everyone over to<br>
DotNet Core. It might be wise to look at using the DotNet Core instead<br>
of Mono. There are a number of reasons to prefer the DotNet Core:<br>
<br>
- Designed to be small and use a package manager to import required<br>
external libraries. This was done with embedded systems in mind.<br>
- Better interpreter: the new interpreters (Rosylin and the other that<br>
I don't remember the name of) are very efficient compared to the Mono<br>
mc.<br>
- More efficient runtime. The Mono Runtime is known to be slow.<br>
<br>
 Here would be a good place to start with the DotNet Core as they have<br>
nightly arm builds.<br>
<br>
<a href="https://stevedesmond.ca/blog/net-core-on-arm" rel="noreferrer" target="_blank">https://stevedesmond.ca/blog/n<wbr>et-core-on-arm</a><br>
<br>
<br>
HTH,<br>
<br>
Russ<br>
<div class="gmail-m_6355668261996299745HOEnZb"><div class="gmail-m_6355668261996299745h5"><br>
> ______________________________<wbr>__<br>
> Best wishes,<br>
> <a href="mailto:xuelin.tian@qkmtech.com" target="_blank">xuelin.tian@qkmtech.com</a><br>
><br>
><br>
> From: Joel Sherrill<br>
> Date: 2017-05-24 20:19<br>
> To: xuelin.tian<br>
> CC: <a href="mailto:rtems-users@rtems.org" target="_blank">rtems-users@rtems.org</a><br>
> Subject: Re: Has anyone tried to port Mono to RTEMS<br>
><br>
><br>
> On May 23, 2017 8:58 PM, "<a href="mailto:xuelin.tian@qkmtech.com" target="_blank">xuelin.tian@qkmtech.com</a>" <<a href="mailto:xuelin.tian@qkmtech.com" target="_blank">xuelin.tian@qkmtech.com</a>><br>
> wrote:<br>
><br>
> Dear all,<br>
> Is that possible to port Mono to RTEMS? Has anyone tried this before?<br>
> As I notice that there is an open project in RTEMS projects.<br>
><br>
><br>
> Sometime ago, I was asked to provide an estimate for this. It had to be<br>
> between five and ten years ago because we were at the old office but after<br>
> we had done a few years of GSoC. I did enough work preparing the estimate<br>
> where I had the code building without too much effort. I saw the challenge<br>
> as getting the test suite running since you would have to create a test<br>
> harness and build/assembly helper that packaged the interpreted code with<br>
> the interpreter in order to run it. At that time, I envisioned having to<br>
> create a base image and a filesystem image per test.<br>
><br>
> Our POSIX was good enough then to avoid much trouble. It should only be<br>
> easier now since the POSIX support has improved.<br>
><br>
> There were a lot of Mono tests and I expected most to pass quickly. But<br>
> there was no way to know how many issues would be encountered and how many<br>
> root causes there would be. I expected to fix one or two things and then run<br>
> all the tests. That was where I expected time to be consumed.<br>
><br>
> FWIW I recall the GSoC date part because they thought we could magically get<br>
> students to do testing for free on a schedule. :)<br>
><br>
> I hope that helps. It is feasible but the key is testing.<br>
><br>
> --joel<br>
><br>
><br>
> ______________________________<wbr>__<br>
> Best wishes,<br>
> <a href="mailto:xuelin.tian@qkmtech.com" target="_blank">xuelin.tian@qkmtech.com</a><br>
><br>
> ______________________________<wbr>_________________<br>
> users mailing list<br>
> <a href="mailto:users@rtems.org" target="_blank">users@rtems.org</a><br>
> <a href="http://lists.rtems.org/mailman/listinfo/users" rel="noreferrer" target="_blank">http://lists.rtems.org/mailman<wbr>/listinfo/users</a><br>
><br>
><br>
><br>
> ______________________________<wbr>_________________<br>
> users mailing list<br>
> <a href="mailto:users@rtems.org" target="_blank">users@rtems.org</a><br>
> <a href="http://lists.rtems.org/mailman/listinfo/users" rel="noreferrer" target="_blank">http://lists.rtems.org/mailman<wbr>/listinfo/users</a><br>
</div></div></blockquote></div><br></div>
</div></div></blockquote>
<br></div>
</div></div></blockquote>
<br></div>
</div></div></blockquote>
<br></div></div></div></div></div></blockquote>
</div></blockquote></div><br></div></div>
</div></div></blockquote>
<br></div>
</div><!--<![endif]--></includetail></div><st-div id="__selection-translator__"> <st-div class="__st-box__" style="display: none; position: fixed; z-index: 99999; left: 0px; top: 0px; transform: translateX(-2px) translateY(27px);"> <st-header> <st-span class="st-icon-pin" title="固定"></st-span> <st-span class="st-icon-down-open" title="展开"></st-span> <st-span class="st-icon-cog" title="设置"></st-span> </st-header> <st-div class="__query-form__" style="display: none;"> <st-div> <textarea placeholder="输入要翻译的句子或单词"></textarea> </st-div> <st-div> <select> <option value="">自动判断</option> <option value="zh">中文</option><option value="zh-CN">中文(简体)</option><option value="zh-HK">中文(香港)</option><option value="zh-TW">中文(繁体)</option><option value="en">英语</option><option value="ja">日语</option><option value="ko">朝鲜语</option><option value="de">德语</option><option value="fr">法语</option><option value="ru">俄语</option><option value="th">泰语</option><option value="af">南非语</option><option value="ar">阿拉伯语</option><option value="az">阿塞拜疆语</option><option value="be">比利时语</option><option value="bg">保加利亚语</option><option value="ca">加泰隆语</option><option value="cs">捷克语</option><option value="cy">威尔士语</option><option value="da">丹麦语</option><option value="dv">第维埃语</option><option value="el">希腊语</option><option value="eo">世界语</option><option value="es">西班牙语</option><option value="et">爱沙尼亚语</option><option value="eu">巴士克语</option><option value="fa">法斯语</option><option value="fi">芬兰语</option><option value="fo">法罗语</option><option value="gl">加里西亚语</option><option value="gu">古吉拉特语</option><option value="he">希伯来语</option><option value="hi">印地语</option><option value="hr">克罗地亚语</option><option value="hu">匈牙利语</option><option value="hy">亚美尼亚语</option><option value="id">印度尼西亚语</option><option value="is">冰岛语</option><option value="it">意大利语</option><option value="ka">格鲁吉亚语</option><option value="kk">哈萨克语</option><option value="kn">卡纳拉语</option><option value="kok">孔卡尼语</option><option value="ky">吉尔吉斯语</option><option value="lt">立陶宛语</option><option value="lv">拉脱维亚语</option><option value="mi">毛利语</option><option value="mk">马其顿语</option><option value="mn">蒙古语</option><option value="mr">马拉地语</option><option value="ms">马来语</option><option value="mt">马耳他语</option><option value="nb">挪威语(伯克梅尔)</option><option value="nl">荷兰语</option><option value="ns">北梭托语</option><option value="pa">旁遮普语</option><option value="pl">波兰语</option><option value="pt">葡萄牙语</option><option value="qu">克丘亚语</option><option value="ro">罗马尼亚语</option><option value="sa">梵文</option><option value="se">北萨摩斯语</option><option value="sk">斯洛伐克语</option><option value="sl">斯洛文尼亚语</option><option value="sq">阿尔巴尼亚语</option><option value="sv">瑞典语</option><option value="sw">斯瓦希里语</option><option value="syr">叙利亚语</option><option value="ta">泰米尔语</option><option value="te">泰卢固语</option><option value="tl">塔加路语</option><option value="tn">茨瓦纳语</option><option value="tr">土耳其语</option><option value="ts">宗加语</option><option value="tt">鞑靼语</option><option value="uk">乌克兰语</option><option value="ur">乌都语</option><option value="uz">乌兹别克语</option><option value="vi">越南语</option><option value="xh">班图语</option><option value="zu">祖鲁语</option> </select> <st-div class="__exchange__"> <st-span class="st-icon-exchange"></st-span> </st-div> <select> <option value="">自动选择</option> <option value="zh">中文</option><option value="zh-CN">中文(简体)</option><option value="zh-HK">中文(香港)</option><option value="zh-TW">中文(繁体)</option><option value="en">英语</option><option value="ja">日语</option><option value="ko">朝鲜语</option><option value="de">德语</option><option value="fr">法语</option><option value="ru">俄语</option><option value="th">泰语</option><option value="af">南非语</option><option value="ar">阿拉伯语</option><option value="az">阿塞拜疆语</option><option value="be">比利时语</option><option value="bg">保加利亚语</option><option value="ca">加泰隆语</option><option value="cs">捷克语</option><option value="cy">威尔士语</option><option value="da">丹麦语</option><option value="dv">第维埃语</option><option value="el">希腊语</option><option value="eo">世界语</option><option value="es">西班牙语</option><option value="et">爱沙尼亚语</option><option value="eu">巴士克语</option><option value="fa">法斯语</option><option value="fi">芬兰语</option><option value="fo">法罗语</option><option value="gl">加里西亚语</option><option value="gu">古吉拉特语</option><option value="he">希伯来语</option><option value="hi">印地语</option><option value="hr">克罗地亚语</option><option value="hu">匈牙利语</option><option value="hy">亚美尼亚语</option><option value="id">印度尼西亚语</option><option value="is">冰岛语</option><option value="it">意大利语</option><option value="ka">格鲁吉亚语</option><option value="kk">哈萨克语</option><option value="kn">卡纳拉语</option><option value="kok">孔卡尼语</option><option value="ky">吉尔吉斯语</option><option value="lt">立陶宛语</option><option value="lv">拉脱维亚语</option><option value="mi">毛利语</option><option value="mk">马其顿语</option><option value="mn">蒙古语</option><option value="mr">马拉地语</option><option value="ms">马来语</option><option value="mt">马耳他语</option><option value="nb">挪威语(伯克梅尔)</option><option value="nl">荷兰语</option><option value="ns">北梭托语</option><option value="pa">旁遮普语</option><option value="pl">波兰语</option><option value="pt">葡萄牙语</option><option value="qu">克丘亚语</option><option value="ro">罗马尼亚语</option><option value="sa">梵文</option><option value="se">北萨摩斯语</option><option value="sk">斯洛伐克语</option><option value="sl">斯洛文尼亚语</option><option value="sq">阿尔巴尼亚语</option><option value="sv">瑞典语</option><option value="sw">斯瓦希里语</option><option value="syr">叙利亚语</option><option value="ta">泰米尔语</option><option value="te">泰卢固语</option><option value="tl">塔加路语</option><option value="tn">茨瓦纳语</option><option value="tr">土耳其语</option><option value="ts">宗加语</option><option value="tt">鞑靼语</option><option value="uk">乌克兰语</option><option value="ur">乌都语</option><option value="uz">乌兹别克语</option><option value="vi">越南语</option><option value="xh">班图语</option><option value="zu">祖鲁语</option> </select> </st-div> <st-div> <select> <option value="YouDao">有道翻译</option> <option value="BaiDu">百度翻译</option> <option value="Bing">必应翻译</option> <option value="Google">谷歌翻译</option> <option value="GoogleCN">谷歌翻译(国内)</option> </select> <st-div class="__action-list__"> <st-div class="__button__ __btn-translate__">翻译 <st-span class="st-icon-down-dir"></st-span> </st-div> <st-div class="__expand__"> <st-div class="__button__">朗读</st-div> <st-div class="__button__">复制</st-div> </st-div> </st-div> </st-div> </st-div> <st-div class="__translate-result__" style="display: none;">正在查询,请稍候……</st-div> <st-div class="__translate-result__"> <st-div style="display: none;"> <st-span></st-span> <st-span class="__retry__">重试</st-span> </st-div> <st-div> <st-div class="__phonetic__"> <st-span style="display: none;"></st-span> <st-span class="__copy-and-read__"> <st-span>朗读</st-span> <st-span style="display: none;">复制</st-span> </st-span> </st-div> <st-div style="display: none;"> <st-ul>  </st-ul> <st-div class="__copy-and-read__"> <st-span class="__copy-and-read__">复制</st-span> </st-div> </st-div> <st-div style="display: none;">  <st-div class="__copy-and-read__"> <st-span class="__copy-and-read__">朗读</st-span> <st-span class="__copy-and-read__">复制</st-span> </st-div> </st-div> </st-div> </st-div> <st-footer> <st-span style="display: none;">via <a target="_blank" href=""></a></st-span> </st-footer> </st-div> <st-div class="__st-btn__" style="display: none; position: fixed; z-index: 99999; left: 0px; top: 0px; transform: translateX(-2px) translateY(27px);">译</st-div> </st-div>