Diskless /libexec/ld-elf.so.1: Cannot execute objects on /
Mike Andrews
mandrews at bit0.com
Fri Dec 16 11:25:38 PST 2005
On Fri, 16 Dec 2005, Paulo Fragoso wrote:
> After upgrade from FreeBSD 5.3 to FREEBSD_5_4 (cvs), our diskless
> machines didn't work correctly, many applications using dynamic
> libraries didn't start, this error was showed:
>
> /libexec/ld-elf.so.1: Cannot execute objects on /
>
> We found on all diskless machines had MNT_NOEXEC flags set on (fstatfs).
> After that we have changed rtld.c changed:
>
> --- rtld.c.orig Thu Dec 15 17:26:41 2005
> +++ rtld.c Thu Dec 15 17:38:15 2005
> @@ -1267,7 +1267,7 @@
> close(fd);
> return NULL;
> }
> - if (fs.f_flags & MNT_NOEXEC) {
> + if (fs.f_flags & MNT_NOEXEC && strcmp(fs.f_mntonname,"/") ) {
> _rtld_error("Cannot execute objects on %s\n",
> fs.f_mntonname);
> close(fd);
> return NULL;
>
> Now, all diskless stations works fine.
>
> Is there another solution for this case?
We had the same problem with our netboot cluster, and going from
RELENG_5_4 (5.4-RELEASE) up to RELENG_5 (5-STABLE) fixed it.
Mike Andrews * mandrews at bit0.com * http://www.bit0.com
It's not news, it's Fark.com. Carpe cavy!
More information about the freebsd-stable
mailing list