coreutils-8.0 on Solaris 10: -lgen needed for eaccess

View: New views
3 Messages — Rating Filter:   Alert me  

coreutils-8.0 on Solaris 10: -lgen needed for eaccess

by Voelker, Bernhard-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,
 
building coreutils-8.0 fails on Solaris 10:
  Undefined                       first referenced
   symbol                             in file
  eaccess                             ../lib/libcoreutils.a(euidaccess.o)

The symbol is needed for these utils (aren't this almost all?):
uname, hostid, chroot, nice, who, users. pinky, uptime, stty, df, chcon, chgrp, chown. chmod, dd,
dircolors, du, link, ln, dir, vdir, ls, mkdir, mkfifo, mknod, mktemp, nohup, readlink, rmdir, shred,
stat, sync, touch, unlink, cat, cksum, comm, csplit, cut, expand, fmt, fold, head, join, groups,
md5sum, nl, od, paste, pr, ptx, sha1sum, sha224sum, sha256sum, sha384sum, sha512sum,
shuf, sort, split, sum, tac, tsort, tr, tail, unexpand, uniq, basename, date, dirname, wc, echo,
env, factor, false, id, kill, expr, logname, printf, printenv, pwd, runcon, seq, sleep, tee, timeout,
true, truncate, tty, yes, base84, setuidgid, whoami, getlimits, su.

eaccess is also used by some gnulib-test programs ...

The configure log of that part was:

configure:19154: checking for library containing eaccess
configure:19185: cc -o conftest -g  -D_REENTRANT  conftest.c  >&5
"conftest.c", line 274: warning: statement not reached
Undefined                       first referenced
 symbol                             in file
eaccess                             conftest.o
ld: fatal: Symbol referencing errors. No output written to conftest
configure:19185: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "GNU coreutils"
| #define PACKAGE_TARNAME "coreutils"
| #define PACKAGE_VERSION "8.0"

...<snipped/>...

| #define DIR_FD_MEMBER_NAME dd_fd
| #define REPLACE_DUP2 0
| /* end confdefs.h.  */
|
| /* Override any GCC internal prototype to avoid an error.
|    Use char because int might match the return type of a GCC
|    builtin and then its argument prototype would still apply.  */
| #ifdef __cplusplus
| extern "C"
| #endif
| char eaccess ();
| int
| main ()
| {
| return eaccess ();
|   ;
|   return 0;
| }
configure:19185: cc -o conftest -g  -D_REENTRANT  conftest.c -lgen   >&5
"conftest.c", line 274: warning: statement not reached
configure:19185: $? = 0
configure:19202: result: -lgen
configure:19214: checking for eaccess
configure:19214: cc -o conftest -g  -D_REENTRANT  conftest.c -lgen  >&5
"conftest.c", line 297: warning: statement not reached
configure:19214: $? = 0
configure:19214: result: yes


Wasn't there a change for Solaris 9 the last month?

Have a nice day,
Bernhard Voelker


Re: coreutils-8.0 on Solaris 10: -lgen needed for eaccess

by Jim Meyering :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Voelker, Bernhard wrote:

> building coreutils-8.0 fails on Solaris 10:
>   Undefined                       first referenced
>    symbol                             in file
>   eaccess                             ../lib/libcoreutils.a(euidaccess.o)
>
> The symbol is needed for these utils (aren't this almost all?):
> uname, hostid, chroot, nice, who, users. pinky, uptime, stty, df, chcon, chgrp, chown. chmod, dd,
> dircolors, du, link, ln, dir, vdir, ls, mkdir, mkfifo, mknod, mktemp, nohup, readlink, rmdir, shred,
> stat, sync, touch, unlink, cat, cksum, comm, csplit, cut, expand, fmt, fold, head, join, groups,
> md5sum, nl, od, paste, pr, ptx, sha1sum, sha224sum, sha256sum, sha384sum, sha512sum,
> shuf, sort, split, sum, tac, tsort, tr, tail, unexpand, uniq, basename, date, dirname, wc, echo,
> env, factor, false, id, kill, expr, logname, printf, printenv, pwd, runcon, seq, sleep, tee, timeout,
> true, truncate, tty, yes, base84, setuidgid, whoami, getlimits, su.
>
> eaccess is also used by some gnulib-test programs ...

Thanks.  Is there some reason you can't build with gcc and GNU ld?
I've confirmed that coreutils-8.0 builds fine on Solaris 10.



RE: coreutils-8.0 on Solaris 10: -lgen needed for eaccess

by Voelker, Bernhard-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Jim Meyering wrote:

> Voelker, Bernhard wrote:
> > building coreutils-8.0 fails on Solaris 10:
> >   Undefined                       first referenced
> >    symbol                             in file
> >   eaccess                             ../lib/libcoreutils.a(euidaccess.o)
> >
> > The symbol is needed for these utils (aren't this almost all?):
> > uname, hostid, chroot, nice, who, users. pinky, uptime, stty, df, chcon, chgrp, chown. chmod, dd,
> > dircolors, du, link, ln, dir, vdir, ls, mkdir, mkfifo, mknod, mktemp, nohup, readlink, rmdir, shred,
> > stat, sync, touch, unlink, cat, cksum, comm, csplit, cut, expand, fmt, fold, head, join, groups,
> > md5sum, nl, od, paste, pr, ptx, sha1sum, sha224sum, sha256sum, sha384sum, sha512sum,
> > shuf, sort, split, sum, tac, tsort, tr, tail, unexpand, uniq, basename, date, dirname, wc, echo,
> > env, factor, false, id, kill, expr, logname, printf, printenv, pwd, runcon, seq, sleep, tee, timeout,
> > true, truncate, tty, yes, base84, setuidgid, whoami, getlimits, su.
> >
> > eaccess is also used by some gnulib-test programs ...
>
> Thanks.  Is there some reason you can't build with gcc and GNU ld?
> I've confirmed that coreutils-8.0 builds fine on Solaris 10.

well, there is no GCC on these machines [yet]. I think I've never tried to
build GCC, but I think it can become a delicate work regarding that there's
also problems with building coreutils using the Forte compiler collection.
It may be a chicken and egg dilemma. But I'll give it a try (unless there are
too many dependancies ...).

Nevertheless: the coreutils' build system should at least issue
a *strong* warning about using non-GCC compilers ... but IMHO it's
better to support many compilers for a piece of software because they
all give different warnings about dubious code - but yes, workarounds
for buggy compilers should not take too much time ...

Thanks & have a nice day,
Berny