[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[MiNT] mintlib Makefile requires bash as shell



 Hi all!

While installing Vincent's new GCC 4.4 on my Ubuntu 9.04 Linux system, I
also cross compiled the mintlib for that system.
However, compilation did not work, I've encountered an error:

Making all in lib
make[1]: Entering directory `/home/thomas/src/mintlib-0.58.0/lib'
m68k-atari-mint-gcc -Wall -O2 -fomit-frame-pointer -O3
-fexpensive-optimizations -nostdinc -I../crypt -I.. -I../include
-I../mintlib -I../stdlib -I$(<../includepath) -DHAVE_CONFIG_H -D_LIBC
-D_REENTRANT -c ../crypt/crypt-entry.c -o crypt-entry.o In file
included from ../crypt/crypt-entry.c:32: ../include/string.h:17:20:
error: stddef.h: No such file or directory

After some investigation, I've found out that the problem is due
to /bin/sh not being the bash on Ubuntu (and Debian), but an
alternative shell called "dash".
When I compile the mintlib with "make SHELL=/bin/bash", everything
works fine.

The problem seems to be the -I$(<../includepath): When I type "echo
$(<../includepath)" in the bash, I get the paths. When I type it in
dash, I get no output at all.

When I replace the "<" by "cat " at the corresponding places in
buildrules and checkrules, it also compiles fine with the dash again.

Don't know if this should be fixed in mintlib or rather in dash, but I
though I'd let you know in case somebody else wants to cross-compile
the mintlib on Ubuntu or Debian.

 Thomas