Project

General

Profile

Actions

Bug #1436

closed

gtar fails to build due to incomplete list of *at() functions

Added by corecode over 12 years ago. Updated over 12 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
Start date:
Due date:
% Done:

0%

Estimated time:

Description

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.)
  • Error code 1
Stop.
bmake: stopped in /usr/pkgobj/archivers/gtar-base/work/tar-1.20/lib
  • Error code 1

--
<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 / \

Actions #1

Updated by nthery over 12 years ago

2009/7/26 Simon 'corecode' Schubert <>:

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

Actions #2

Updated by corecode over 12 years ago

Nicolas Thery wrote:

2009/7/26 Simon 'corecode' Schubert <>:

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

Actions #3

Updated by nthery over 12 years ago

2009/7/26 Simon 'corecode' Schubert <>:

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

Actions #4

Updated by corecode over 12 years ago

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.)
  • Error code 1
Stop.
bmake: stopped in /usr/pkgobj/archivers/gtar-base/work/tar-1.20/lib
  • Error code 1

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.

Actions #5

Updated by nthery over 12 years ago

2009/7/28 Simon 'corecode' Schubert (via DragonFly issue tracker)
<>:

Simon 'corecode' Schubert <> 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.)
  • Error code 1
Stop.
bmake: stopped in /usr/pkgobj/archivers/gtar-base/work/tar-1.20/lib
  • Error code 1

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

Actions #6

Updated by corecode over 12 years ago

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

Actions #7

Updated by nthery over 12 years ago

2009/7/28 Simon 'corecode' Schubert (via DragonFly issue tracker)
<>:

Simon 'corecode' Schubert <> 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.

Actions

Also available in: Atom PDF