On 30 Apr 2018, at 19:22, Hilmar Preuße <hill...@web.de> wrote: > On 30.04.2018 13:17, James Clarke wrote: >> On 29 Apr 2018, at 22:06, Hilmar Preuße <hill...@web.de> wrote: >>> On 29.04.2018 14:01, Hilmar Preuße wrote: > > Hi James, > >>> I just noticed that our package fails to build on kfreebsd: >>> >>> https://buildd.debian.org/status/fetch.php?pkg=proftpd-dfsg&arch=kfreebsd-amd64&ver=1.3.6-2&stamp=1524996945&raw=0 >>> >>> Could you help us here? proftp seems to build on FreeBSD in general so >>> there seems to be something specific to this port. >>> >>> Thanks! >>> >>>> * What led up to the situation? >>>> >>>> Since we uploaded proftp 1.3.6 to unstable the package fails to build on >>>> kfreebsd, on i386 and kfreebsd-amd64. The last lines of the log are: >>>> >>>> src/fsio.o: In function `sys_fsetxattr': >>>> ./fsio.c:1018: undefined reference to `extattr_set_fd' >>>> src/fsio.o: In function `unix_flistxattr': >>>> ./fsio.c:640: undefined reference to `extattr_list_fd' >>>> ./fsio.c:640: undefined reference to `extattr_list_fd' >>>> src/fsio.o: In function `unix_llistxattr': >>>> ./fsio.c:621: undefined reference to `extattr_list_file' >>>> ./fsio.c:621: undefined reference to `extattr_list_file' >>>> src/fsio.o: In function `unix_listxattr': >>>> ./fsio.c:602: undefined reference to `extattr_list_file' >>>> ./fsio.c:602: undefined reference to `extattr_list_file' >>>> src/fsio.o: In function `sys_fremovexattr': >>>> ./fsio.c:885: undefined reference to `extattr_delete_fd' >>>> src/fsio.o: In function `sys_fgetxattr': >>>> ./fsio.c:529: undefined reference to `extattr_get_fd' >>>> collect2: error: ld returned 1 exit status >>>> libtool: link: rm -f ".libs/proftpdS.o" >>>> >>>> I guess some libs, needed for linking are not specified. I file that bug as >>>> important as FreeBSD is not a release arch. >>>> >> >> The problem here is that kfreebsd-kernel-headers provides sys/extattr.h with >> these prototypes and so proftpd's configure defines HAVE_SYS_EXTATTR_H, but >> glibc doesn't implement them, and the Linux equivalents are currently just >> stubs that return -1 with errno=ENOSYS. Thus for now I suggest you build >> proftpd with --disable-xattr. >> > Huhh. My impression was, that these are rather old system calls, which > do exist for long time now [1] and there is just another -l$lib > statement missing. If the kfreebsd port exposes some functions in the > header files, but finally does not implement it in any library I'd call > that a bug. Would it make sense to file a bug against the kfreebsd port?
Yeah, please file it against kfreebsd-10 and glibc; either the prototype should disappear from the headers or it should be implemented. Thanks, James