unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#9192: Cross-compile for ARM
@ 2011-07-28 18:53 Toon Claes
  2011-07-28 21:13 ` Andreas Schwab
  2024-01-10 11:11 ` bug#13479: Cross Compiling " Stefan Kangas
  0 siblings, 2 replies; 19+ messages in thread
From: Toon Claes @ 2011-07-28 18:53 UTC (permalink / raw)
  To: 9192

I was trying to cross-compile emacs for ARM (don't ask me why).
But got an error during 'make' (see output below FIRST RUN).

So it's for sure 'test-distrub' was build for ARM, while it is trying to run on i686.

On the second run (just, ran 'make again), I got a similar error on 'prefix-args'.
But for some reason the 'test-distrub' error is gone (probably because 'make' thinks it is already finished.

So I have to compile them with the host compiler (i686).
But I'm not sure how to implement this properly.


Also I would like to get rid of the warning: "LIB_GCC" redefined


Regards,
Toon


-------------- FIRST RUN -------------------
system call: make
cd lib-src; make all                            \
          CC='arm-none-linux-gnueabi-gcc' CFLAGS='-DHAVE_STRERROR' CPPFLAGS='-D_BSD_SOURCE  ' \
          LDFLAGS='-L/home/toon/sandbox/os/Sync/imx31d/Archives -L/home/toon/sandbox/os/Sync/imx31d/Libs -Wl,-znocombreloc ' MAKE='make'
make[1]: Entering directory `/home/toon/sandbox/os/Build/imx31d/emacs-23.3/lib-src'
arm-none-linux-gnueabi-gcc -D_BSD_SOURCE -DHAVE_CONFIG_H -I. -I../src -I/home/toon/sandbox/os/Build/imx31d/emacs-23.3/lib-src -I/home/toon/sandbox/os/Build/imx31d/emacs-23.3/lib-src/../src -L/home/toon/sandbox/os/Sync/imx31d/Archives -L/home/toon/sandbox/os/Sync/imx31d/Libs -Wl,-znocombreloc  -D_BSD_SOURCE   -DHAVE_STRERROR -o test-distrib /home/toon/sandbox/os/Build/imx31d/emacs-23.3/lib-src/test-distrib.c
In file included from ../src/config.h:1075,
                 from /home/toon/sandbox/os/Build/imx31d/emacs-23.3/lib-src/test-distrib.c:23:
../src/m/arm.h:42:1: warning: "LIB_GCC" redefined
In file included from ../src/config.h:1074,
                 from /home/toon/sandbox/os/Build/imx31d/emacs-23.3/lib-src/test-distrib.c:23:
../src/s/gnu-linux.h:200:1: warning: this is the location of the previous definition
./test-distrib /home/toon/sandbox/os/Build/imx31d/emacs-23.3/lib-src/testfile
./test-distrib:2: no such file or directory: ^@^@^@؃^@^@\M-l^@^@^@^R^@^@^@^@^@^@\M-d\M-^C^@^@,^@^@^@^R^@^@^@Q^@^@^@\M-p\M-^C^@^@\M-h^@^@^@^R^@^@^@/^@^@^@\M-|\M-^C^@^@d^@^@^@^R^@^@^@h^@^@^@^H\M-^D^@^@d^@^@^@^R^@^@^@^A^@^@^@^@^@^@^@^@^@^@^@ ^@^@^@^@__gmon_start__^@libc.so.6^@perror^@abort^@fprintf^@read^@strncmp^@open64^@strcmp^@stderr^@exit^@__libc_start_main^@close^@GLIBC_2.4^@^@^@^B^@^B^@^B^@^B^@^B^@^B^@^B^@^B^@^B^@^B^@^B^@^@^@^@^@^A^@^A^@^P^@^@^@^P^@^@^@^@^@^@^@^Tii^M^@^@^B^@n^@^@^@^@^@^@^@<\t^A^@^U^L^@^@(\n^A^@^T^F^@^@^T\t^A^@^V^A^@^@^X\t^A^@^V^B^@^@^\\t^A^@^V^C^@^@ \t^A^@^V^D^@^@$\t^A^@^V^E^@^@(\t^A^@^V^G^@^@,\t^A^@^V^H^@^@0\t^A^@^V\t^@^@4\t^A^@^V\n^@^@8\t^A^@^V^K^@^@^D\M-`-\M-e^D\M-PM\M-b2^@^@\M-k^DЍ\M-b^@\M-^@\M-=\M-h^D\M-`-\M-e^D\M-`\M-^_\M-e^N\M-`\M-^O\M-`^H\M-p\M->\M-ep\M-^E^@^@^@Ə\M-b^Hʌ\M-bp\M-u\M-<\M-e^@Ə\M-b^Hʌ\M-bh\M-u\M-<\M-e^@Ə\M-b^Hʌ\M-b`\M-u\M-<\M-e^@Ə\M-b^Hʌ\M-bX\M-u\M-<\M-e^@Ə\M-b^Hʌ\M-bP\M-u\M-<\M-e^@Ə\M-b^Hʌ\M-bH\M-u\M-<\M-e^@Ə\M-b^Hʌ\M-b@\M-u\M-<\M-e^@Ə\M-b^Hʌ\M-b8\M-u\M-<\M-e^@Ə\M-b^Hʌ\M-b0\M-u\M-<\M-e^@Ə\M-b^Hʌ\M-b(\M-u\M-<\M-e$\M-@\M-^_\M-e^@\M-0\M- \M-c^D^P\M-^]\M-d^M \M- \M-a^D -\M-e^D^@-\M-e^P^@\M-^_\M-e^P0\M-^_\M-e^D\M-@-\M-e\M-]\M-^?\M-^?\M-k\M-V\M-^?\M-^?\M-kІ^@^@t\M-^E^@^@Ԇ^@^@^@D-\M-i^X\M- \M-^_\M-e\n\M- \M-^O\M-`^T0\M-^_\M-e^C0\M-^Z\M-g^@^@S\M-c^@\M-^D\M-=^H3\M-^?/\M-a^@\M-^D\M-=謄^@^@4^@^@^@^P \M-^_\M-e^@0\M-R\M-e^@^@S\M-c^A0\M-^C^B^@0\M-B^E^^\M-^?/\M-a,\n^A^@^D\M-`-\M-e$^@\M-^_\M-e^D\M-PM\M-b^@0\M-^P\M-e^\ \M-^_\M-e^@^@S\M-c^B^@^@\n^@^@R\M-c^@^@^@\n2\M-^?/\M-a^DЍ\M-b^@\M-^@\M-=\M-h^\^H^A^@^@^@^@^@^M\M-@\M- \M-a^@\M-X-\M-i^D\M-0L\M-b^X\M-PM\M-b^X^@^K\M-e^\^P^K\M-e  ^K\M-e^@0\M- \M-c^P0^K\M-e^P0^[\M-e^C \M- \M-a^\0^[\M-e^C^P\M-^B\M-`  ^[\M-e^P0^[\M-e^B0c\M-`^X^@^[\M-e^C \M- \M-a\M-8\M-^?\M-^?\M-k^@0\M- \M-a^T0^K\M-e^T0^[\M-e^@^@S\M-c^B^@^@^Z^P0^[\M-e$0^K\M-e\n^@^@\M-j^T0^[\M-e^@^@S\M-c^B^@^@\M-*^T0^[\M-e$0^K\M-e^D^@^@\M-j^P0^[\M-e^T ^[\M-e^B0\M-^C\M-`^P0^K\M-e\M-b\M-^?\M-^?\M-j$0^[\M-e^C^@\M- \M-a^L\M-PK\M-b^@\M-(\M-^]\M-h^M\M-@\M- \M-a^@\M-X-\M-i^D\M-0L\M-b^P\M-PM\M-b^X^@^K\M-e^\^P^K\M-e^X0^[\M-e^B^@S\M-c\t^@^@\n^X1\M-^_\M-e^@ \M-^S\M-e^\0^[\M-e^@0\M-^S\M-e^B^@\M- \M-a^H^Q\M-^_\M-e^C \M- \M-a\M-\n\M-^?\M-^?\M-k^A^@\M- \M-c\M-^K\M-^?\M-^?\M-k^\0^[\M-e^D0\M-^C\M-b^@0\M-^S\M-e^C^@\M- \M-a^@^P\M- \M-c^?\M-^?\M-^?\M-k^@0\M- \M-a^P0^K\M-e^P0^[\M-e^@^@S\M-c^F^@^@\M-*^\0^[\M-e^D0\M-^C\M-b^@0\M-^S\M-e^C^@\M- \M-ar\M-^?\M-^?\M-k^A^@\M- \M-cy\M-^?\M-^?\M-k^P^@^[\M-e\M-,^P\M-^_\M-es \M- \M-c\M-,\M-^?\M-^?\M-k^@0\M- \M-as^@S\M-c^S^@^@^Z\M-^T^@\M-^_\M-e\M-^T^P\M-^_\M-ec\M-^?\M-^?\M-k^@0\M- \M-a^@^@S\M-c^M^@^@^Z^P^@^[\M-ex^P\M-^_\M-el \M- \M-c\M-^_\M-^?\M-^?\M-k^@0\M- \M-ak^@S\M-c^F^@^@^Z`^@\M-^_\M-ed^P\M-^_\M-ek \M- \M-cO\M-^?\M-^?\M-k^@0\M- \M-a^@^@S\M-c\n^@^@\n<0\M-^_\M-e^@ \M-^S\M-e^\0^[\M-e^D0\M-^C\M-b^@0\M-^S\M-e^B^@\M- \M-a8^P\M-^_\M-e^C \M- \M-aR\M-^?\M-^?\M-k^A^@\M- \M-cS\M-^?\M-^?\M-k^P^@^[\M-eW\M-^?\M-^?\M-k^@0\M- \M-c^C^@\M- \M-a^L\M-PK\M-b^@\M-(\M-^]\M-h(\n^A^@T\M-^G^@^@-\n^A^@H\t^A^@\M-<\t^A^@h\M-^G^@^@^^\M-^?/\M-a\M-pG-\M-iT\M- \M-^_\M-e\n\M- \M-^O\M-`^@\M-^P\M- \M-a^A\M-^@\M- \M-a^Bp\M- \M-a \M-^?\M-^?\M-k@ \M-^_\M-e^B^P\M-\n\M-`<0\M-^_\M-e^C0b\M-`Ca\M-0\M-a\M-p\M-^G\M-=^H^@@\M- \M-c^AP\M- \M-a\t^@\M- \M-a^H^P\M- \M-a^G \M- \M-a^O\M-`\M- \M-a^D\M-p\M-^U\M-d^A@\M-^D\M-b^D^@V\M-a\M-w\M-^?\M-^?^Z\M-p\M-^G\M-=\M-h$\M-^B^@^@^L\M-^?\M-^?\M-^?^P\M-^?\M-^?\M-^?^D\M-`-\M-e^D\M-PM\M-b^DЍ\M-b^@\M-^@\M-=\M-h^A^@^B^@Usage: %s testfile\n^@Data in file `%s
./test-distrib:18: command not found: Most
./test-distrib:19: command not found: have
./test-distrib:39: unmatched '
make[1]: *** [test-distrib] Error 127



-------------- SECOND RUN -------------------
arm-none-linux-gnueabi-gcc -c -D_BSD_SOURCE   -Demacs -DHAVE_CONFIG_H  -I. -I/home/toon/sandbox/os/Build/imx31d/emacs-23.3/src -D_BSD_SOURCE     -DHAVE_STRERROR -MMD -MF deps/prefix-args.d prefix-args.c
In file included from ./config.h:1075,
                 from prefix-args.c:46:
./m/arm.h:42:1: warning: "LIB_GCC" redefined
In file included from ./config.h:1074,
                 from prefix-args.c:46:
./s/gnu-linux.h:200:1: warning: this is the location of the previous definition
arm-none-linux-gnueabi-gcc -Demacs -DHAVE_CONFIG_H  -I. -I/home/toon/sandbox/os/Build/imx31d/emacs-23.3/src -D_BSD_SOURCE     -DHAVE_STRERROR -MMD -MF deps/.d -L/home/toon/sandbox/os/Sync/imx31d/Archives -L/home/toon/sandbox/os/Sync/imx31d/Libs -Wl,-znocombreloc  prefix-args.o -o prefix-args
arm-none-linux-gnueabi-gcc -nostdlib `./prefix-args -Xlinker  -z nocombreloc` -L/home/toon/sandbox/os/Sync/imx31d/Archives -L/home/toon/sandbox/os/Sync/imx31d/Libs -Wl,-znocombreloc  -o temacs pre-crt0.o /usr/lib/crt1.o /usr/lib/crti.o dispnew.o frame.o scroll.o xdisp.o menu.o  window.o charset.o coding.o category.o ccl.o character.o chartab.o cm.o term.o terminal.o xfaces.o    emacs.o keyboard.o macros.o keymap.o sysdep.o buffer.o filelock.o insdel.o marker.o minibuf.o fileio.o dired.o filemode.o cmds.o casetab.o casefiddle.o indent.o search.o regex.o undo.o alloc.o data.o doc.o editfns.o callint.o eval.o floatfns.o fns.o font.o print.o lread.o syntax.o unexelf.o bytecode.o process.o callproc.o region-cache.o sound.o atimer.o doprnt.o strftime.o intervals.o textprop.o composite.o md5.o     terminfo.o lastfile.o   vm-limit.o  mktime.o       -lncurses   -lgcc_s -lm -lgcc -lc -lgcc /usr/lib/crtn.o -lgcc_s
zsh:1: exec format error: ./prefix-args
/home/toon/sandbox/os/Ref/imx31d/imx31-toolchain/Imx31/bin/../lib/gcc/arm-none-linux-gnueabi/4.1.2/../../../../arm-none-linux-gnueabi/bin/ld: /usr/lib/crt1.o: Relocations in generic ELF (EM: 3)
/home/toon/sandbox/os/Ref/imx31d/imx31-toolchain/Imx31/bin/../lib/gcc/arm-none-linux-gnueabi/4.1.2/../../../../arm-none-linux-gnueabi/bin/ld: /usr/lib/crt1.o: Relocations in generic ELF (EM: 3)
/home/toon/sandbox/os/Ref/imx31d/imx31-toolchain/Imx31/bin/../lib/gcc/arm-none-linux-gnueabi/4.1.2/../../../../arm-none-linux-gnueabi/bin/ld: /usr/lib/crt1.o: Relocations in generic ELF (EM: 3)
/usr/lib/crt1.o: could not read symbols: File in wrong format
collect2: ld returned 1 exit status
make[1]: *** [temacs] Error 1
make[1]: Leaving directory `/home/toon/sandbox/os/Build/imx31d/emacs-23.3/src'
make: *** [src] Error 2






^ permalink raw reply	[flat|nested] 19+ messages in thread
* bug#13479: Cross Compiling for ARM
@ 2013-01-17 19:36 Ross Biro
  2013-01-18 14:26 ` Stefan Monnier
  2024-01-10 11:11 ` Stefan Kangas
  0 siblings, 2 replies; 19+ messages in thread
From: Ross Biro @ 2013-01-17 19:36 UTC (permalink / raw)
  To: 13479

[-- Attachment #1: Type: text/plain, Size: 1769 bytes --]

I just more or less successfully compiled emacs-24.2 for a Samsung
Chromebook.  I did it by using the chrooted build environment for
chromiumos.  In the process I learned a couple of things.

I used the configuration:

../emacs-24.2/configure  --build=x86_64-pc-linux-gnu
--host=arm-none-linux-gnueabi --target=arm-none-linux-gnueabi
--with-x-toolkit=no --with-xpm=no --with-jpeg=no --with-png=no
--with-gif=no --with-tiff=no  --without-xml2 --without-gnutls --without-x
--without-dbus --with-crt-dir=/build/arm-generic/usr/lib/

Obviously, I also had to CANNOT_DUMP=yes as well.

1) It doesn't look like emacs has a concept of a BUILDCC.  I like to set CC
to the cross compiler since that seems to be what most things need.
However make-docfile and test-distrib need to be built with the local
compiler.  Usually the path to the local compiler is stored in BUILDCC.  I
just changed the $(CC) to $(BUILDCC) in the makefile for those two file and
everything compiled ok.

2) The lisp and leim directories really want a local copy of emacs to
compile.  Since I didn't have one available in the chrooted environment, I
just used /bin/true.  Suboptimal, but it let the compile complete.  I
didn't see an obvious way to set the path to an external emacs, I just
edited the makefile.

3) Now, a real bug.  With an undumpped emacs,
window__resize_root_window_vertically is called before it's defined.  Even
putting if (initialzed) before the call didn't help.  I had to put  if (!EQ
(XSYMBOL (Qwindow_resize_root_window_vertically)->function, Qunbound))
before the two calls to  call2 (Qwindow_resize_root_window_vertically,  in
window.c.

Now, I'm going to try to and some more libraries and do some additional
testing.  If anyone has questions, email me directly.

    Ross

[-- Attachment #2: Type: text/html, Size: 1984 bytes --]

^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2024-01-10 13:10 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-07-28 18:53 bug#9192: Cross-compile for ARM Toon Claes
2011-07-28 21:13 ` Andreas Schwab
2011-07-29 16:44   ` Toon Claes
2011-08-02 16:21     ` Stefan Monnier
2011-08-30  3:38       ` Dan Nicolaescu
2024-01-10 11:11 ` bug#13479: Cross Compiling " Stefan Kangas
2024-01-10 11:44   ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-01-10 11:56     ` Stefan Kangas
2024-01-10 13:10       ` Toon Claes via Bug reports for GNU Emacs, the Swiss army knife of text editors
  -- strict thread matches above, loose matches on Subject: below --
2013-01-17 19:36 Ross Biro
2013-01-18 14:26 ` Stefan Monnier
2013-01-18 17:55   ` martin rudalics
2013-01-18 22:09     ` Ross Biro
2013-01-19 10:11       ` martin rudalics
2013-01-23  3:49         ` Ross Biro
2013-01-23  7:31           ` martin rudalics
2013-01-19  1:18     ` Stefan Monnier
2013-01-24  4:42   ` Jason Rumney
2024-01-10 11:11 ` Stefan Kangas

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).