Bug #1436
closed
gtar fails to build due to incomplete list of *at() functions
Added by corecode over 15 years ago.
Updated over 15 years ago.
Description
root@chlamydia.fs.ei.tum.de wrote:
depbase=`echo getcwd.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`; cc -std=gnu99 -DHAVE_CONFIG_H -I. -I..
-I/usr/pkg/include -I/usr/include -O2 -I/usr/pkg/include -I/usr/include -MT getcwd.o -MD -MP -M
F $depbase.Tpo -c -o getcwd.o getcwd.c && mv -f $depbase.Tpo $depbase.Po
getcwd.c: In function 'rpl_getcwd':
getcwd.c:242: warning: implicit declaration of function 'fdopendir'
getcwd.c:242: warning: assignment makes pointer from integer without a cast
getcwd.c:298: warning: implicit declaration of function 'fstatat'
getcwd.c:298: error: 'AT_SYMLINK_NOFOLLOW' undeclared (first use in this function)
getcwd.c:298: error: (Each undeclared identifier is reported only once
getcwd.c:298: error: for each function it appears in.)
Stop.
bmake: stopped in /usr/pkgobj/archivers/gtar-base/work/tar-1.20/lib
--
<3 the future ++ RENT this banner advert ++ ASCII Ribbon /"\
rock the past ++ space for low CHF NOW!1 ++ Campaign \ /
Party Enjoy Relax | http://dragonflybsd.org Against HTML \
Dude 2c 2 the max ! http://golden-apple.biz Mail + News / \
2009/7/26 Simon 'corecode' Schubert <corecode@fs.ei.tum.de>:
getcwd.c: In function 'rpl_getcwd':
getcwd.c:242: warning: implicit declaration of function 'fdopendir'
getcwd.c:242: warning: assignment makes pointer from integer without a
cast
getcwd.c:298: warning: implicit declaration of function 'fstatat'
getcwd.c:298: error: 'AT_SYMLINK_NOFOLLOW' undeclared (first use in this
function)
getcwd.c:298: error: (Each undeclared identifier is reported only once
getcwd.c:298: error: for each function it appears in.)
It's caused by my openat() commit. If HAVE_OPEN_OPENAT is defined
then gtar assumes AT_SYMLINK_NOFOLLOW and fdopendir() (and possibly
others) are present too.
If fdopendir() can be implemented quickly, I'll do so. Otherwise, I
guess gtar should use sth along the line for HAVE_FDOPENDIR.
Sorry for the disagreement.
Cheers,
Nicolas
Nicolas Thery wrote:
2009/7/26 Simon 'corecode' Schubert <corecode@fs.ei.tum.de>:
getcwd.c: In function 'rpl_getcwd':
getcwd.c:242: warning: implicit declaration of function 'fdopendir'
getcwd.c:242: warning: assignment makes pointer from integer without a
cast
getcwd.c:298: warning: implicit declaration of function 'fstatat'
getcwd.c:298: error: 'AT_SYMLINK_NOFOLLOW' undeclared (first use in this
function)
getcwd.c:298: error: (Each undeclared identifier is reported only once
getcwd.c:298: error: for each function it appears in.)
It's caused by my openat() commit. If HAVE_OPEN_OPENAT is defined
then gtar assumes AT_SYMLINK_NOFOLLOW and fdopendir() (and possibly
others) are present too.
If fdopendir() can be implemented quickly, I'll do so. Otherwise, I
guess gtar should use sth along the line for HAVE_FDOPENDIR.
The problem is that changing pkgsrc is a quite slow process. Until
either base or pkgsrc are fixed, snapshot builds are broken.
cheers
simon
2009/7/26 Simon 'corecode' Schubert <corecode@fs.ei.tum.de>:
If fdopendir() can be implemented quickly, I'll do so. Otherwise, I
guess gtar should use sth along the line for HAVE_FDOPENDIR.
The problem is that changing pkgsrc is a quite slow process. Until either
base or pkgsrc are fixed, snapshot builds are broken.
I've got no other choice but to implement the missing stuff then ;-).
I've committed a basic fdopendir() implementation that should satisfy
gtar and I'm working on fstatat() and AT_SYMLINK_NOFOLLOW.
Cheers,
Nicolas
Just to follow up, tonight's release build failed with this:
getcwd.c: In function 'rpl_getcwd':
getcwd.c:298: warning: implicit declaration of function 'fstatat'
getcwd.c:298: error: 'AT_SYMLINK_NOFOLLOW' undeclared (first use in this function)
getcwd.c:298: error: (Each undeclared identifier is reported only once
getcwd.c:298: error: for each function it appears in.)
Stop.
bmake: stopped in /usr/pkgobj/archivers/gtar-base/work/tar-1.20/lib
Maybe we should take out the *at() changes until all of the functions are
implemented? Of course if you're already done, then that would be even better.
2009/7/28 Simon 'corecode' Schubert (via DragonFly issue tracker)
<bugs@crater.dragonflybsd.org>:
Simon 'corecode' Schubert <corecode@fs.ei.tum.de> added the comment:
Just to follow up, tonight's release build failed with this:
getcwd.c: In function 'rpl_getcwd':
getcwd.c:298: warning: implicit declaration of function 'fstatat'
getcwd.c:298: error: 'AT_SYMLINK_NOFOLLOW' undeclared (first use in this function)
getcwd.c:298: error: (Each undeclared identifier is reported only once
getcwd.c:298: error: for each function it appears in.)
Stop.
bmake: stopped in /usr/pkgobj/archivers/gtar-base/work/tar-1.20/lib
Maybe we should take out the *at() changes until all of the functions are
implemented? Of course if you're already done, then that would be even better.
Thanks for the feedback and sorry for the inconvenience.
I implemented fstatat() on Sunday and gtar now builds fine at my end.
I haven't delivered it yet because Matt isn't pleased with the change
I proposed to struct nlookupdata:
http://leaf.dragonflybsd.org/mailarchive/kernel/2009-07/msg00056.html
I'll refactor to the 2nd option I proposed in the thread above and
commit it tonight when I get home.
This bulk pkgsrc build is quite useful. Thanks for setting that up.
Out of curiosity how often do you build it?
Cheers
Nicolas Thery (via DragonFly issue tracker) wrote:
I implemented fstatat() on Sunday and gtar now builds fine at my end.
Thanks!
This bulk pkgsrc build is quite useful. Thanks for setting that up.
Out of curiosity how often do you build it?
This is the nrelease snapshot builds. As a part of that some pkgsrc
packages get built.
Justin has been working on automating the package build, so we will have
that running continuously as well.
cheers
simon
2009/7/28 Simon 'corecode' Schubert (via DragonFly issue tracker)
<bugs@crater.dragonflybsd.org>:
Simon 'corecode' Schubert <corecode@fs.ei.tum.de> added the comment:
Nicolas Thery (via DragonFly issue tracker) wrote:
I implemented fstatat() on Sunday and gtar now builds fine at my end.
Thanks!
Committed as 1db695af2833642e19524b6e4a3ecc73a931ee7c and
e101a3f427be0008bdb02ef35c6e820dc25056d7.
Also available in: Atom
PDF