From: Dominick L. <dom...@gm...> - 2009-04-29 20:40:04
|
I'm attempting to cross-compile FUSE for an embedded platform, and encountering a couple of minor issues. 1. mount.fuse installed in /sbin, ignoring sbindir option. After running configure with "--prefix=/opt --sbindir=/opt/sbin" flags, the util/Makefile still tries to install mount.fuse in /sbin. Similarly, the init_script is installed into /etc/init.d, ignoring the --sysconfdir= configure flag (and --prefix, --exec-prefix). It seems to me that if --prefix=/opt, then mount.fuse should end up in /opt/sbin, and the init/udev stuff should end up in /opt/etc, and the module should be installed in /opt/lib/modules/... Or is this a "feature-not-bug"? :-) At any rate, the Makefile doesn't do what is described by "configure --help", so that output should be changed to reflect the actual behavior. 2. "make install-strip" doesn't work. By default, it uses the regular, native version of strip, rather than the cross-compile version. The native strip obviously complains about the format of the cross-compiled binaries. So I override the native binary by setting the STRIPPROG environment variable: STRIPPROG=/path/to/cross-compile/strip make -C $(BUILD_DIR) install-strip But the make then bombs out with an error when it attempts to strip util/init_script (which is obviously a shell-script, not a binary). As far as I can see, "make install-strip" would never work, because the native version of strip also fails when presented with a shell script. Any suggestions? Thanks, -- Dom |