I'm going to slip into the thread here.

I could successfully build rtems6 for arm on the M1 Mac yesterday evening.

git clone https://github.com/RTEMS/rtems-source-builder.git rsb
cd rsb
cd rtems
../source-builder/sb-set-builder --jobs=4 --prefix=${RTEMS_ROOT} 
${RTEMS_VERSION}/rtems-arm


One problem I encountered was the building of the qemu (devel/qemu) on the Mac 
(Monterey, 12.3.1 ):

RTEMS Source Builder - Set Builder, 6 (49e3dac17765)
 Command Line: ../source-builder/sb-set-builder --jobs=4 
--prefix=/Users/heinz/VE/ARM_WORK/rtems/6 devel/qemu
 Python: 3.8.5 (default, Sep  4 2020, 02:22:02) [Clang 10.0.0 ]
Build Set: devel/qemu
Build Set: devel/autotools-internal.bset
config: devel/autoconf-2.69-1.cfg
package: autoconf-2.69-x86_64-apple-darwin21.4.0-1
….
/bin/sh ../libtool  --tag=CC   --mode=link /usr/bin/cc -O2 -pipe 
-fbracket-depth=1024 
-I/Users/heinz/VE/rsb/rtems/build/tmp/sb-502/devel/qemu/Users/heinz/VE/ARM_WORK/rtems/6/include
  -g -O2  -no-undefined  -liconv ../intl/libintl.la -liconv  -Wl,-framework 
-Wl,CoreFoundation  -lunistring  -Wl,-framework -Wl,CoreFoundation -release 
0.18.3  -lcroco-0.6 
-L/Users/heinz/VE/rsb/rtems/build/tmp/sb-502/devel/qemu/Users/heinz/VE/ARM_WORK/rtems/6/lib
 -lglib-2.0 
-L/Users/heinz/VE/rsb/rtems/build/tmp/sb-502/devel/qemu/Users/heinz/VE/ARM_WORK/rtems/6/lib
 -lintl -liconv -lc 
-R/Users/heinz/VE/rsb/rtems/build/tmp/sb-502/devel/qemu/Users/heinz/VE/ARM_WORK/rtems/6/lib
 
-L/Users/heinz/VE/rsb/rtems/build/tmp/sb-502/devel/qemu/Users/heinz/VE/ARM_WORK/rtems/6/lib
 -lglib-2.0 
-L/Users/heinz/VE/rsb/rtems/build/tmp/sb-502/devel/qemu/Users/heinz/VE/ARM_WORK/rtems/6/lib
 -lintl -liconv -lc 
-R/Users/heinz/VE/rsb/rtems/build/tmp/sb-502/devel/qemu/Users/heinz/VE/ARM_WORK/rtems/6/lib
 -lxml2 -liconv -liconv -liconv -lncurses 
-L/Users/heinz/VE/rsb/rtems/build/tmp/sb-502/devel/qemu/Users/heinz/VE/ARM_WORK/rtems/6/lib
 -o libgettextlib.la -rpath /Users/heinz/VE/ARM_WORK/rtems/6/lib copy-acl.lo 
set-acl.lo allocator.lo areadlink.lo argmatch.lo gl_array_list.lo backupfile.lo 
addext.lo basename.lo binary-io.lo c-ctype.lo c-strcasecmp.lo c-strncasecmp.lo 
c-strcasestr.lo c-strstr.lo careadlinkat.lo classpath.lo clean-temp.lo 
cloexec.lo closeout.lo concat-filename.lo copy-file.lo csharpcomp.lo 
csharpexec.lo error-progname.lo execute.lo exitfail.lo fatal-signal.lo 
fd-hook.lo fd-ostream.lo fd-safer-flag.lo dup-safer-flag.lo file-ostream.lo 
findprog.lo fstrcmp.lo full-write.lo fwriteerror.lo gcd.lo  hash.lo 
html-ostream.lo html-styled-ostream.lo  javacomp.lo javaexec.lo javaversion.lo 
gl_linkedhash_list.lo gl_list.lo localcharset.lo localename.lo glthread/lock.lo 
malloca.lo mbchar.lo mbiter.lo mbslen.lo mbsstr.lo mbswidth.lo mbuiter.lo 
ostream.lo pipe-filter-ii.lo pipe-filter-aux.lo pipe2.lo pipe2-safer.lo 
progname.lo propername.lo acl-errno-valid.lo file-has-acl.lo qcopy-acl.lo 
qset-acl.lo quotearg.lo safe-read.lo safe-write.lo sh-quote.lo sig-handler.lo 
spawn-pipe.lo striconv.lo striconveh.lo striconveha.lo strnlen1.lo 
styled-ostream.lo tempname.lo term-ostream.lo term-styled-ostream.lo  
glthread/threadlib.lo glthread/tls.lo tmpdir.lo trim.lo  unilbrk/lbrktables.lo  
 unilbrk/ulc-common.lo   unistd.lo dup-safer.lo fd-safer.lo pipe-safer.lo       
   wait-process.lo wctype-h.lo xmalloc.lo xstrdup.lo xconcat-filename.lo 
xerror.lo gl_xlist.lo xmalloca.lo xreadlink.lo xsetenv.lo xsize.lo xstriconv.lo 
xstriconveh.lo xvasprintf.lo xasprintf.lo acl_entries.lo asnprintf.lo 
canonicalize-lgpl.lo error.lo fnmatch.lo getopt.lo getopt1.lo lstat.lo 
obstack.lo open.lo printf-args.lo printf-parse.lo rawmemchr.lo readlink.lo 
secure_getenv.lo stat.lo strchrnul.lo strerror.lo strerror-override.lo 
strstr.lo vasnprintf.lo wcwidth.lo
libtool: link: warning: library 
`/Users/heinz/VE/rsb/rtems/build/tmp/sb-502/devel/qemu/Users/heinz/VE/ARM_WORK/rtems/6/lib/libglib-2.0.la'
 was moved.
grep: /Users/heinz/VE/ARM_WORK/rtems/6/lib/libintl.la: No such file or directory
/usr/local/bin/gsed: can't read 
/Users/heinz/VE/ARM_WORK/rtems/6/lib/libintl.la: No such file or directory
libtool: link: `/Users/heinz/VE/ARM_WORK/rtems/6/lib/libintl.la' is not a valid 
libtool archive
make[4]: *** [libgettextlib.la] Error 1
make[3]: *** [all] Error 2
make[2]: *** [all-recursive] Error 1
make[1]: *** [all] Error 2
make: *** [all-recursive] Error 1
shell cmd failed: /bin/sh -ex  
/Users/heinz/VE/rsb/rtems/build/gettext-0.18.3.1-x86_64-apple-darwin21.4.0-1/do-build
error: building gettext-0.18.3.1-x86_64-apple-darwin21.4.0-1
  See error report: rsb-report-gettext-0.18.3.1-x86_64-apple-darwin21.4.0-1.txt
Build Set: Time 0:04:14.522148

Gruss Heinz



------------------------------------------------------------------------------
Fritz-Haber-Institut    | Phone:         (+49 30) 8413-4270
Heinz Junkes             | Fax (G3+G4):   (+49 30) 8413-5900
Faradayweg 4-6        | VC: 102220181...@bjn.vc
D - 14195 Berlin        | E-Mail:        jun...@fhi-berlin.mpg.de
------------------------------------------------------------------------------

> On 22. Apr 2022, at 08:55, Sebastian Huber 
> <sebastian.hu...@embedded-brains.de> wrote:
> 
> On 18/04/2022 21:01, Cedric Berger wrote:
>> Hello,
>> On 11.04.22 00:37, Chris Johns wrote:
>>> I suspect we will need a later version of expat that has the aarch64 
>>> support. I
>>> do not have access access to an M1 Mac so I cannot test this.
>>> 
>>> Chris
>> So I tried to compile RTEMS 6 for arm on MacOS for both the M1 and Intel 
>> architecture. It was not very sucessful.
>> Command: rtems# ../source-builder/sb-set-builder 
>> --prefix=/opt/data/workspace/rtems-tools 6/rtems-arm
>> First on a M1 (fully patched and updated Mac Book Pro):
>> I got the same failure as Jay Zhu with expat, but that was easy to fix: I 
>> can confirm that moving from expat 2.1.0 to expat 2.4.8 solve the problem.
>> Next is the same issue with GMP. Again easy to fix by moving from gmp 6.1.0 
>> to 6.2.1, which solves the problem.
> 
> I sent a patch to update the GCC prerequisites to the versions in the latest 
> gcc/contrib/download_prerequisites script for GCC 10 and 12.
> 
>> At this point everthing compiles fine up to and including binutils 2.38
>> The next problem however is with gcc, which fails the same way (machine 
>> `arm64-apple' not recognized)
>> Fixing this however is above my pay grade: It seems RTEMS uses a patched, 
>> unreleased version of GCC. what to do?
> 
> RTEMS follows the release branch of GCC. Some patches cannot be back ported 
> to a GCC release branch in upstream GCC, so there may be some RTEMS-specific 
> patches. In general, all RTEMS-specific changes are integrated in the GCC 
> master.
> 
>> Next I tried on an Intel Mac (an older fully patched and updated Mac Book 
>> Pro):
>> The build also failed compiling gcc, but with another error:
>> clang: warning: argument unused during compilation: '-no-pie' 
>> [-Wunused-command-line-argument]
>> Undefined symbols for architecture x86_64:
>> "_arm_arch6", referenced from:
>> __GLOBAL__sub_I_gencondmd.c in gencondmd.o
>> "_arm_arch6m", referenced from:
>> __GLOBAL__sub_I_gencondmd.c in gencondmd.o
>> "_arm_arch7", referenced from:
>> __GLOBAL__sub_I_gencondmd.c in gencondmd.o
>> "_arm_arch8", referenced from:
>> __GLOBAL__sub_I_gencondmd.c in gencondmd.o
>> "_arm_arch_notm", referenced from:
>> __GLOBAL__sub_I_gencondmd.c in gencondmd.o
>> "_arm_arch_thumb2", referenced from:
>> __GLOBAL__sub_I_gencondmd.c in gencondmd.o
>> "_target_flags", referenced from:
>> __GLOBAL__sub_I_gencondmd.c in gencondmd.o
>> ld: symbol(s) not found for architecture x86_64
>> is this something like this? 
>> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92061#c5
>> If this is the same bug, then it is fixed on gcc 11.2 according to the last 
>> comment above.
>> So what to do next? GCC fails on both Intel and M1 Mac, for different 
>> reasons.
>> Could GCC be upgraded to 11.2 or 12.0 which should be available very soon? 
>> are the patches still needed?
> 
> It is still undecided which GCC version will be used for RTEMS 6. GCC 10 will 
> reach its end of life with the next release this year. GCC 12 would be brand 
> new. We didn't use GCC 11 so far. I tend to use GCC 12.
> 
> -- 
> embedded brains GmbH
> Herr Sebastian HUBER
> Dornierstr. 4
> 82178 Puchheim
> Germany
> email: sebastian.hu...@embedded-brains.de
> phone: +49-89-18 94 741 - 16
> fax: +49-89-18 94 741 - 08
> 
> Registergericht: Amtsgericht München
> Registernummer: HRB 157899
> Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler
> Unsere Datenschutzerklärung finden Sie hier:
> https://embedded-brains.de/datenschutzerklaerung/
> _______________________________________________
> devel mailing list
> devel@rtems.org
> http://lists.rtems.org/mailman/listinfo/devel

_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Reply via email to