Why this linking fail?

Unga unga888 at yahoo.com
Thu Jul 17 05:37:44 UTC 2008


--- On Thu, 7/17/08, Unga <unga888 at yahoo.com> wrote:

> Sorry guys, I have found an issue. In the libc compile log
> shows following error:
> lex  -P_nsyy -o/dev/stdout /usr/src/lib/libc/net/nslexer.l
> |  sed -e '/YY_BUF_SIZE/s/16384/1024/'
> >nslexer.c
> lex: fatal internal error, exec failed
> 
> Let me check why the lex failed.
> 

Ok, I managed to narrow down the problem.

I'm  in a chroot jail.

lex  -P_nsyy -o/dev/stdout /usr/src/lib/libc/net/nslexer.l >nslexer.c
lex: could not create /dev/stdout

ls -l /dev/stdout
lrwxr-xr-x  1 root  wheel  4 Jul 17 12:24 /dev/stdout -> fd/1

ls -l /dev/fd/
crw-rw-rw-  1 root  wheel    0,  17 Jul 17 10:30 0
crw-rw-rw-  1 root  wheel    0,  19 Jul 17 10:30 1
crw-rw-rw-  1 root  wheel    0,  21 Jul 17 10:30 2

echo xxx > /dev/stdout
xxx

Note, writing /dev/stdout works, it prints back the xxx.

Before I enter into chroot jail, this is how mount devfs:
mount -v -o rw -t devfs dev /somepath/dev

But this statement works well outside of jail:
lex  -P_nsyy -o/dev/stdout /usr/src/lib/libc/net/nslexer.l >nslexer.c

Is my devfs mount correct? I did not do any devfs configuration. Does it require any devfs configuration on the new /somepath/dev mount?

Appreciate very much your reply on this.

Unga



      


More information about the freebsd-questions mailing list