
On 4/10/16 1:03 PM, Tomas Carnecky wrote:
crosstools-ng can be configured so that the compiler always produces a static build (run ct-ng menuconfig, and look through the options. The UI should be familiar if you've ever used the Linux kernel menuconfig facility).
I decided to try your approach, but I'm running into a few problems. First, where in the UI is the option to make the compiler produce a static build? Under "Toolchain Options", there is an option to link the toolchain itself statically, but that's not the same thing. I've gone through all the menus, and can't find anything else about static linking. Second, what libraries did you have to build for the target before you could get ghc to compile? I've been trying to build the ghc cross-compiler, but ghc seems to insist on having ncurses on the target. So now I've gone down the rabbit hole of building ncurses for the target. Currently the build of ncurses is failing with: x86_64-unknown-linux-musl-gcc -DHAVE_CONFIG_H -I. -I../include -DNDEBUG -O2 --param max-inline-insns-single=1200 -c ../ncurses/lib_gen.c -o ../objects/lib_gen.o In file included from ./curses.priv.h:325:0, from ../ncurses/lib_gen.c:19: _20591.c:843:15: error: expected ')' before 'int' ../include/curses.h:1631:56: note: in definition of macro 'mouse_trafo' #define mouse_trafo(y,x,to_screen) wmouse_trafo(stdscr,y,x,to_screen) ^ make[1]: *** [../objects/lib_gen.o] Error 1 make[1]: Leaving directory `/home/ppelletier/src/ncurses-6.0/ncurses' make: *** [all] Error 2 I'm sure I can figure it out, but I'm worried about how many more libraries might be needed in addition to ncurses. Did you just have to slog through all of this, or am I doing something wrong? Thanks, --Patrick