On Thu, Jan 24, 2013 at 11:14 PM, Glenn Fowler <[email protected]> wrote: > On Thu, 24 Jan 2013 22:51:22 +0100 Roland Mainz wrote: >> On Sat, Aug 25, 2012 at 3:39 AM, Roland Mainz <[email protected]> >> wrote: >> > On Sat, Aug 25, 2012 at 3:31 AM, Roland Mainz <[email protected]> >> > wrote: >> >> On Sat, Aug 25, 2012 at 12:05 AM, Glenn Fowler <[email protected]> >> >> wrote: >> >>> >> >>> 2012-08-24 alphas posted to >> >>> www.research.att.com/sw/download/alpha/ >> >>> this is still a work in progress >> >> >> >> "ed" does not build on SuSE 12.1/Linux/AMD64: >> >> -- snip -- >> >> + cc -DSHOPT_CMDLIB_BLTIN=0 '-DSH_CMDLIB_DIR="/usr/ast/bin"' >> >> '-DSHOPT_CMDLIB_HDR="/home/test001/work/ast_ksh_20120824/build_i386_64bit_opt_extrabuiltins/tmp_gnulinux_builtin_heade >> >> r.h"' -DSHOPT_SYSRC -D_map_libc=1 -O2 -fstrict-aliasing >> >> -Wstrict-aliasing -Wsequence-point -Wno-parentheses -Wno-unused >> >> -Wno-trigraphs -Wclobbered -Waddress -I- -I../../../include >> >> /ast -D_PACKAGE_ast '-DUSAGE_LICENSE="[-author?Glenn Fowler >> >> <[email protected]>][-copyright?Copyright (c) 1995-2012 AT&T >> >> Intellectual Property][-license?http://www.eclipse.org/ >> >> org/documents/epl-v10.html][--catalog?re]"' -c >> >> /home/test001/work/ast_ksh_20120824/build_i386_64bit_opt_extrabuiltins/src/cmd/re/ed.c >> >> + cc -DSHOPT_CMDLIB_BLTIN=0 '-DSH_CMDLIB_DIR="/usr/ast/bin"' >> >> '-DSHOPT_CMDLIB_HDR="/home/test001/work/ast_ksh_20120824/build_i386_64bit_opt_extrabuiltins/tmp_gnulinux_builtin_heade >> >> r.h"' -DSHOPT_SYSRC -D_map_libc=1 -O2 -fstrict-aliasing >> >> -Wstrict-aliasing -Wsequence-point -Wno-parentheses -Wno-unused >> >> -Wno-trigraphs -Wclobbered -Waddress -I- -I../../../include >> >> /ast -D_PACKAGE_ast '-DUSAGE_LICENSE="[-author?Glenn Fowler >> >> <[email protected]>][-author?Doug McIlroy >> >> <[email protected]>][-copyright?Copyright (c) 1995-2012 AT&T >> >> Int >> >> ellectual >> >> Property][-license?http://www.eclipse.org/org/documents/epl-v10.html][--catalog?re]"' >> >> -c >> >> /home/test001/work/ast_ksh_20120824/build_i386_64bit_opt_extrabuiltins/src/cmd/r >> >> e/grep.c >> >> cc1: note: obsolete option -I- used, please use -iquote instead >> >> cc1: note: obsolete option -I- used, please use -iquote instead >> >> /home/test001/work/ast_ksh_20120824/build_i386_64bit_opt_extrabuiltins/src/cmd/re/ed.c:305:1: >> >> error: conflicting types for 'splice' >> >> /usr/include/bits/fcntl.h:294:16: note: previous declaration of >> >> 'splice' was here >> >> make [cmd/re]: *** exit code 1 making ed.o >> >> -- snip -- >> > >> > This namespace (libc vs. ast) collision comes from Olga having added | >> > _GNU_SOURCE| to our build flags. But IMO it might be wise to rename >> > the ast src/cmd/re/ed.c |splice()| to something else to avoid hitting >> > this in the future... >> > >> > Glenn: Offtopic: is Linux splice(2) somehow useable within libast or >> > AST tee(1) ? >> > -- snip -- >> > SPLICE(2) Linux Programmer's Manual SPLICE(2) >> > >> > >> > >> > NAME >> > splice - splice data to/from a pipe >> > >> > SYNOPSIS >> > #define _GNU_SOURCE >> > #include <fcntl.h> >> > >> > ssize_t splice(int fd_in, loff_t *off_in, int fd_out, >> > loff_t *off_out, size_t len, unsigned int flags); >> > >> > DESCRIPTION >> > splice() moves data between two file descriptors without >> > copying between kernel address space and user address >> > space. It transfers up to len bytes of data from the file >> > descriptor fd_in to the file descriptor fd_out, where one >> > of the descriptors must refer to a pipe. >> > -- snip -- > >> Erm... ping! ... the build failure still happens with >> ast-open.2012-11-21 (the simple "fix" would be to rename "ed"'s >> |splice()| to |ed_splice()| or something like that to avoid the >> namespace collision...) ... > > I added a #define to avoid the collision
Erm... how should a #define work in this case ? |splice()| is a libc _symbol_... ... and there is still the open question in the original email above... basically "... can libast sfio+AST tee(1) benefit from Linux's |splice()| ..." (I'm not sure since there are usage limitations similar to Solaris |sendfile()|, e.g. " ... one of the descriptors must refer to a pipe ...") ? ---- Bye, Roland -- __ . . __ (o.\ \/ /.o) [email protected] \__\/\/__/ MPEG specialist, C&&JAVA&&Sun&&Unix programmer /O /==\ O\ TEL +49 641 3992797 (;O/ \/ \O;) _______________________________________________ ast-developers mailing list [email protected] http://lists.research.att.com/mailman/listinfo/ast-developers
