Report 1632 Actions
Problem Report Number |
1632 |
Submitter's Classification |
Specification problem |
State |
Resolved |
Resolution |
Permanent Interpretation (PIN) |
Problem Resolution ID |
PIN.X.0189 |
Raised |
1998-04-09 08:00 |
Updated |
2003-03-13 08:00 |
Published |
1998-05-07 08:00 |
Product Standard |
Internationalised System Calls and Libraries Extended V2 (UNIX 98) |
Certification Program |
The Open Brand certification program |
Test Suite |
VSU version 5.0.2 |
Test Identification |
CAPI.os/files/ftruncate 18 |
Specification |
System Interfaces and Headers Issue 5 |
Location in Spec |
See Problem Text |
Problem Summary |
PIN4U.00055 The test suite requires all applicable libraries to be specified by getconf for a programming environment, the request contends only libc must be specified. |
Problem Text |
These tests fail to build on our implementation because there is a test expectation that a call to getconf XBS5_ILP32_OFF32_LIBS, XBS5_ILP32_OFFBIG_LIBS, XBS5_LP64_OFF64_LIBS, or XBS5_LPBIG_OFFBIG_LIBS will return a string containing all the libraries supported on the an XSH5 implementation that are not provided by default. In these tests, the expectation is that this string will specifically include the math library which is needed for the math function pow(). This results in the failure of the following tests to build due to the undefined symbol error for the pow() function:
CAPIbase/ftruncate 18 CAPIbase/lockf 42, 43, 44 CAPIbase/lstat 33 CAPIbase/mmap 41 CAPIbase/readv 70, 71, 72 CAPIbase/writev 75, 76, 77
Referencing the XCU5 c89 specification, we believe that the intent of the specification writers was not to mandate that execution of getconf XBS5_ILP32_OFF32_LIBS, XBS5_ILP32_OFFBIG_LIBS, XBS5_LP64_OFF64_LIBS, or XBS5_LPBIG_OFFBIG_LIB would result in a string that if passed to c89 would result in the linking with the possible non-default libraries -- lex, pthread, math, realtime, or yacc. For example, the description for -l c states the following:
-l c This operand makes visible all library functions referenced in the XSH specification with the possible exception of those functions listed as residing in <aio.h>, <math.h>, ... This operand is not required to be present to cause a search this library.
This last sentence requires that an implementation provide this library by default. This is further clarified in the following statement:
In the absence of options that inhibit invocation of the link editor, such as -c or -E, the c89 utility will cause the equivalent of a -l c operand to be passed to the link editor as the last -l operand, causing it to be searched after all other object files and libraries are loaded.
In contrast, for those functions referenced in <math.h>, access is provided by:
-l m This operand makes visible all functions reference in <math.h>. An implementation may search this library in the absence of this operand.
Though an implementation may make these functions visible by default, it is not required to do so. This statement with respect to the implementation is present for the lex, pthread, math, realtime, and yacc -l operands, meaning that linking with any of these is not required default behavior. A portable application must specifically provide the appropriate library operand for those functions outside of libc.
To further our argument, under the Programming Environments description for the c89 command, the first statement made is:
All implementations will support one of the following programming environments as a default.
Again, the default environment in terms of libraries only requires the visibility of those functions defined in libc. Even in our default environment, the tests expect getconf XBS5_ILP32_OFF32_LIBS to return a string that will result in linking with our math library.
The Programming Enviroments description goes on to state:
Implementations provide configuration strings for C compiler flags, linker/loader flags and libraries for each supported environment... If the desired programming environment is supported, the application must then invoke c89 with the appropriate C compiler flags as the first options for the compile, the appropriate linker/loader flags after any other options but before any operands, and the appropriate libraries at the end of the operands.
It is very clearly stated that the application must still provide the appropriate operands. Note that the description of Operands includes only a pathname form of file.c, file.a, or file.o or -l library. There is even an example of this under Examples, whereby foo.c and -l pthread would be the appropriate operands:
c89 $(getconf XBS5_ILP32_OFFBIG_CFLAGS) -D_XOPEN_SOURCE=500 \ $(getconf XBS5_ILP32_OFFBIG_LDFLAGS) foo.c -o foo \ -l pthread $(getconf XBS5_ILP32_OFFBIG_LIBS) By "configuration strings", we believe this allows an implementation to cause the search of a different library path for example under the various programming environments, not that an application using getconf would always be forced link with libraries not required by the application.
Confusion in the specification by the test suite writers may also be the result of the <unistd.h> descriptions in XSH5. The requirements made for each of the associated symbolic constants (reference the <unistd.h> symbolic constants defined for confstr()) simply states that "the value is the set of libraries to be given to the cc and c89 utilities to build an application using a programming model with" applicable sized ints, longs, pointers, and off_t. In combination with the c89 description, we read this to say that in addition to allowing implementations to specify applicable search paths, this also allows implementations to specify additional special libraries specific to the programming environment if required. Others have apparently read this to mean literally that all supported libraries are returned.
A support request stating a bug in the test was submitted and promptly rejected with an additional reference to rejected interpretation request PG4U.00132. The arguments for the support request rejection with our rebuttals follows:
We believe these makefiles are correct as written and the getconf calls must supply the appropriate libm. The c89 spec states that the XBS5_*_LIBS getconf arguments are supposed to provide "libraries for each supported environment"
The statement in the specification is that "Implementations provide *configuration strings* [emphasis ours] for ... libraries for each supported environment".
and the application is to invoke c89 with these libraries at the end of the operands.
The specific statement is that the "application must invoke c89 with ... the appropriate libraries at the end of the operands", which simply means that whatever is returned by getconf XBBS5_*_LIBS is last on the command line so to speak. Again, as described in the c89 Operands description, operands include file.c, file.a, file.o and -l library.
Further, having these makefiles specify -l m would violate the specification requirement that "Portable applications must not attempt to link together object files compiled for difference [sic] programming models".
We don't understand this argument. If an application uses one model to produce an object and then uses another model to produce an object and then attempts to link those objects, then one could anticipate this being a problem and hence this requirement makes perfect sense. But we believe more is being read into this statement. Our understanding of the XBS5_*_{CFLAGS,LDFLAGS,LIBS} getconf names is that by passing these to c89, the specification of the defined and allowed operands will then result in the correct behavior for each of the programming environments. The requirements for which functions become available by default should not change based on the programming environment.
Because a support request has already been rejected by the test suite developers, we ask that this interpretation request be sent directly to the Base Working group for review and comment. We request that a TSD be granted if the reviewers feel the specification is clear and the test suite is in error. Otherwise, if the reviewers consider this to be an area in the specification that is incorrect, misleading, or needs further clarification, we request a PIN be granted and appropriate corrigenda added to the XCU5 and XSH5 specifications.
|
Test Output |
110|0 /tset/CAPIbase/fftruncate/fftruncate18 16:01:29|Build Start, scenario ref 3-1 100|0|Undefined first referenced 100|0| symbol in file 100|0|pow t18lrgoff.o 100|0|ld: fatal: Symbol referencing errors. No output written to t18lrgoff2 100|0|*** Error code 1 100|0|The following command caused the error: 100|0|if [ "98" ] ;\ 100|0|then \ 100|0| if [ "98" != 95 ] ;\ 100|0| then \ 100|0| if [ "0" ] ;\ 100|0| then \ 100|0| if [ "0" = 1 ] ;\ 100|0| then \ 100|0| c89 `getconf LFS_CFLAGS` -D VSU_UNIX=98 -D _XOPE N_SOURCE=500 -I /export/suites/vsu/inc/posix_c -I /export/suites/vsu/CAPI/SRC/I NC `getconf LFS_LDFLAGS` -o t18lrgoff0 t18lrgoff.c `getconf LFS_LIBS` ;\ 100|0| setperm +s privusr privgrp t18lrgoff0;\ 100|0| else \ 100|0| if \ 100|0| getconf _XBS5_ILP32_OFFBIG >/dev/null 2> &1 ;\ 100|0| then \ 100|0| if [ "`getconf _XBS5_ILP32_OFFBIG`" != " -1" ] && [ "`getconf _XBS5_ILP32_OFFBIG`" != "unsupported" ] ;\ 100|0| then \ 100|0| c89 `getconf XBS5_ILP32_OFFBIG_C FLAGS` -D VSU_UNIX=98 -D _XOPEN_SOURCE=500 -I /export/suites/vsu/inc/posix_c -I /export/suites/vsu/CAPI/SRC/INC `getconf XBS5_ILP32_OFFBIG_LDFLAGS` -o t18lrgo ff2 t18lrgoff.c `getconf XBS5_ILP32_OFFBIG_LIBS` ;\ 100|0| setperm +s privusr privgrp t18lr goff2;\ 100|0| fi \ 100|0| fi ;\ 100|0| if \ 100|0| getconf _XBS5_LP64_OFF64 >/dev/null 2>&1 ;\ 100|0| then \ 100|0| if [ "`getconf _XBS5_LP64_OFF64`" != "-1 " ] && [ "`getconf _XBS5_LP64_OFF64`" != "unsupported" ] ;\ 100|0| then \ 100|0| found64env=1 ;\ 100|0| c89 `getconf XBS5_LP64_OFF64_CFL AGS` -D VSU_UNIX=98 -D _XOPEN_SOURCE=500 -I /export/suites/vsu/inc/posix_c -I / export/suites/vsu/CAPI/SRC/INC `getconf XBS5_LP64_OFF64_LDFLAGS` -o t18lrgoff3 t18lrgoff.c `getconf XBS5_LP64_OFF64_LIBS` ;\ 100|0| setperm +s privusr privgrp t18lr goff3;\ 100|0| fi \ 100|0| fi ;\ 100|0| if \ 100|0| getconf _XBS5_LPBIG_OFFBIG >/dev/null 2> &1 ;\ 100|0| then \ 100|0| if [ "`getconf _XBS5_LPBIG_OFFBIG`" != " -1" ] && [ "`getconf _XBS5_LPBIG_OFFBIG`" != "unsupported" ] ;\ 100|0| then \ 100|0| found64env=1 ;\ 100|0| c89 `getconf XBS5_LPBIG_OFFBIG_C FLAGS` -D VSU_UNIX=98 -D _XOPEN_SOURCE=500 -I /export/suites/vsu/inc/posix_c -I /export/suites/vsu/CAPI/SRC/INC `getconf XBS5_LPBIG_OFFBIG_LDFLAGS` -o t18lrgo ff4 t18lrgoff.c `getconf XBS5_LPBIG_OFFBIG_LIBS` ;\ 100|0| setperm +s privusr privgrp t18lr goff4;\ 100|0| fi \ 100|0| fi \ 100|0| fi ;\ 100|0| else \ 100|0| echo "Error: VSU_LFS_OLD_STYLE not set in tetbuild.cfg" ;\ 100|0| exit 1;\ 100|0| fi \ 100|0| fi \ 100|0|else \ 100|0| echo "Error: VSU_UNIX not set in tetbuild.cfg" ;\ 100|0| exit 1 ;\ 100|0|fi 100|0|make: Fatal error: Command failed for target `t18lrgoff' 130|0 1 16:01:53|Build End
110|0 /tset/CAPIbase/flockf/flockf42 16:01:57|Build Start, scenario ref 3-1 100|0|Undefined first referenced 100|0| symbol in file 100|0|pow t42lrgoff.o 100|0|ld: fatal: Symbol referencing errors. No output written to t42lrgoff2 100|0|*** Error code 1 100|0|The following command caused the error: 100|0|if [ "98" ] ;\ 100|0|then \ 100|0| if [ "98" != 95 ] ;\ 100|0| then \ 100|0| if [ "0" ] ;\ 100|0| then \ 100|0| if [ "0" = 1 ] ;\ 100|0| then \ 100|0| c89 `getconf LFS_CFLAGS` -D VSU_UNIX=98 -D _XOPE N_SOURCE=500 -I /export/suites/vsu/inc/posix_c -I /export/suites/vsu/CAPI/SRC/I NC `getconf LFS_LDFLAGS` -o t42lrgoff0 t42lrgoff.c `getconf LFS_LIBS` ;\ 100|0| setperm +s privusr privgrp t42lrgoff0;\ 100|0| else \ 100|0| if \ 100|0| getconf _XBS5_ILP32_OFFBIG >/dev/null 2> &1 ;\ 100|0| then \ 100|0| if [ "`getconf _XBS5_ILP32_OFFBIG`" != " -1" ] && [ "`getconf _XBS5_ILP32_OFFBIG`" != "unsupported" ] ;\ 100|0| then \ 100|0| c89 `getconf XBS5_ILP32_OFFBIG_C FLAGS` -D VSU_UNIX=98 -D _XOPEN_SOURCE=500 -I /export/suites/vsu/inc/posix_c -I /export/suites/vsu/CAPI/SRC/INC `getconf XBS5_ILP32_OFFBIG_LDFLAGS` -o t42lrgo ff2 t42lrgoff.c `getconf XBS5_ILP32_OFFBIG_LIBS` ;\ 100|0| setperm +s privusr privgrp t42lr goff2;\ 100|0| fi \ 100|0| fi ;\ 100|0| if \ 100|0| getconf _XBS5_LP64_OFF64 >/dev/null 2>&1 ;\ 100|0| then \ 100|0| if [ "`getconf _XBS5_LP64_OFF64`" != "-1 " ] && [ "`getconf _XBS5_LP64_OFF64`" != "unsupported" ] ;\ 100|0| then \ 100|0| found64env=1 ;\ 100|0| c89 `getconf XBS5_LP64_OFF64_CFL AGS` -D VSU_UNIX=98 -D _XOPEN_SOURCE=500 -I /export/suites/vsu/inc/posix_c -I / export/suites/vsu/CAPI/SRC/INC `getconf XBS5_LP64_OFF64_LDFLAGS` -o t42lrgoff3 t42lrgoff.c `getconf XBS5_LP64_OFF64_LIBS` ;\ 100|0| setperm +s privusr privgrp t42lr goff3;\ 100|0| fi \ 100|0| fi ;\ 100|0| if \ 100|0| getconf _XBS5_LPBIG_OFFBIG >/dev/null 2> &1 ;\ 100|0| then \ 100|0| if [ "`getconf _XBS5_LPBIG_OFFBIG`" != " -1" ] && [ "`getconf _XBS5_LPBIG_OFFBIG`" != "unsupported" ] ;\ 100|0| then \ 100|0| found64env=1 ;\ 100|0| c89 `getconf XBS5_LPBIG_OFFBIG_C FLAGS` -D VSU_UNIX=98 -D _XOPEN_SOURCE=500 -I /export/suites/vsu/inc/posix_c -I /export/suites/vsu/CAPI/SRC/INC `getconf XBS5_LPBIG_OFFBIG_LDFLAGS` -o t42lrgo ff4 t42lrgoff.c `getconf XBS5_LPBIG_OFFBIG_LIBS` ;\ 100|0| setperm +s privusr privgrp t42lr goff4;\ 100|0| fi \ 100|0| fi \ 100|0| fi ;\ 100|0| else \ 100|0| echo "Error: VSU_LFS_OLD_STYLE not set in tetbuild.cfg" ;\ 100|0| exit 1;\ 100|0| fi \ 100|0| fi \ 100|0|else \ 100|0| echo "Error: VSU_UNIX not set in tetbuild.cfg" ;\ 100|0| exit 1 ;\ 100|0|fi 100|0|make: Fatal error: Command failed for target `t42lrgoff' 130|0 1 16:02:15|Build End
110|0 /tset/CAPIbase/flockf/flockf43 16:02:18|Build Start, scenario ref 3-1 100|0|Undefined first referenced 100|0| symbol in file 100|0|pow t43smloff.o 100|0|ld: fatal: Symbol referencing errors. No output written to t43smloff1 100|0|*** Error code 1 100|0|The following command caused the error: 100|0|if [ "98" ] ;\ 100|0|then \ 100|0| if [ "98" != 95 ] ;\ 100|0| then \ 100|0| if [ "0" ] ;\ 100|0| then \ 100|0| if [ "0" = 1 ] ;\ 100|0| then \ 100|0| c89 -D_LARGEFILE_SOURCE -D VSU_UNIX=98 -D _XOPEN _SOURCE=500 -I /export/suites/vsu/inc/posix_c -I /export/suites/vsu/CAPI/SRC/IN C -o t43smloff1 t43smloff.c ;\ 100|0| setperm +s privusr privgrp t43smloff1;\ 100|0| else \ 100|0| if \ 100|0| getconf _XBS5_ILP32_OFF32 >/dev/null 2>& 1 ;\ 100|0| then \ 100|0| if [ "`getconf _XBS5_ILP32_OFF32`" != "- 1" ] && [ "`getconf _XBS5_ILP32_OFF32`" != "unsupported" ] ;\ 100|0| then \ 100|0| c89 `getconf XBS5_ILP32_OFF32_CF LAGS` -D VSU_UNIX=98 -D _XOPEN_SOURCE=500 -I /export/suites/vsu/inc/posix_c -I /export/suites/vsu/CAPI/SRC/INC `getconf XBS5_ILP32_OFF32_LDFLAGS` -o t43smloff 1 t43smloff.c `getconf XBS5_ILP32_OFF32_LIBS` ;\ 100|0| setperm +s privusr privgrp t43sm loff1 ;\ 100|0| fi \ 100|0| else \ 100|0| echo "Error: The command (getconf _XBS5_ ILP32_OFF32) did not succeed" ;\ 100|0| exit 1;\ 100|0| fi ;\ 100|0| if \ 100|0| getconf _XBS5_ILP32_OFFBIG >/dev/null 2> &1 ;\ 100|0| then \ 100|0| if [ "`getconf _XBS5_ILP32_OFFBIG`" != " -1" ] && [ "`getconf _XBS5_ILP32_OFFBIG`" != "unsupported" ] ;\ 100|0| then \ 100|0| c89 `getconf XBS5_ILP32_OFFBIG_C FLAGS` -D VSU_UNIX=98 -D _XOPEN_SOURCE=500 -I /export/suites/vsu/inc/posix_c -I /export/suites/vsu/CAPI/SRC/INC `getconf XBS5_ILP32_OFFBIG_LDFLAGS` -o t43smlo ff2 t43smloff.c `getconf XBS5_ILP32_OFFBIG_LIBS` ;\ 100|0| setperm +s privusr privgrp t43sm loff2 ;\ 100|0| fi \ 100|0| else \ 100|0| echo "Error: The command (getconf _XBS5_ ILP32_OFF32) did not succeed" ;\ 100|0| exit 1;\ 100|0| fi ;\ 100|0| if \ 100|0| getconf _XBS5_LP64_OFF64 >/dev/null 2>&1 ;\ 100|0| then \ 100|0| if [ "`getconf _XBS5_LP64_OFF64`" != "-1 " ] && [ "`getconf _XBS5_LP64_OFF64`" != "unsupported" ] ;\ 100|0| then \ 100|0| c89 `getconf XBS5_LP64_OFF64_CFL AGS` -D VSU_UNIX=98 -D _XOPEN_SOURCE=500 -I /export/suites/vsu/inc/posix_c -I / export/suites/vsu/CAPI/SRC/INC `getconf XBS5_LP64_OFF64_LDFLAGS` -o t43smloff3 t43smloff.c `getconf XBS5_LP64_OFF64_LIBS` ;\ 100|0| setperm +s privusr privgrp t43sm loff3 ;\ 100|0| fi \ 100|0| else \ 100|0| echo "Error: The command (getconf _XBS5_ LP64_OFF64) did not succeed" ;\ 100|0| exit 1;\ 100|0| fi ;\ 100|0| if \ 100|0| getconf _XBS5_LPBIG_OFFBIG >/dev/null 2> &1 ;\ 100|0| then \ 100|0| if [ "`getconf _XBS5_LPBIG_OFFBIG`" != " -1" ] && [ "`getconf _XBS5_LPBIG_OFFBIG`" != "unsupported" ] ;\ 100|0| then \ 100|0| c89 `getconf XBS5_LPBIG_OFFBIG_C FLAGS` -D VSU_UNIX=98 -D _XOPEN_SOURCE=500 -I /export/suites/vsu/inc/posix_c -I /export/suites/vsu/CAPI/SRC/INC `getconf XBS5_LPBIG_OFFBIG_LDFLAGS` -o t43smlo ff4 t43smloff.c `getconf XBS5_LPBIG_OFFBIG_LIBS` ;\ 100|0| setperm +s privusr privgrp t43sm loff4 ;\ 100|0| fi \ 100|0| else \ 100|0| echo "Error: The command (getconf _XBS5_ LPBIG_OFFBIG) did not succeed" ;\ 100|0| exit 1;\ 100|0| fi ;\ 100|0| fi \ 100|0| else \ 100|0| echo "Error: VSU_LFS_OLD_STYLE not set in tetbuild.cfg" ;\ 100|0| exit 1;\ 100|0| fi \ 100|0| fi \ 100|0|else \ 100|0| echo "Error: VSU_UNIX not set in tetbuild.cfg" ;\ 100|0| echo "Is; 98" ;\ 100|0| exit 1;\ 100|0|fi 100|0|make: Fatal error: Command failed for target `t43smloff' 130|0 1 16:02:24|Build End
110|0 /tset/CAPIbase/flockf/flockf44 16:02:27|Build Start, scenario ref 3-1 100|0|Undefined first referenced 100|0| symbol in file 100|0|pow t44smloff.o 100|0|ld: fatal: Symbol referencing errors. No output written to t44smloff1 100|0|*** Error code 1 100|0|The following command caused the error: 100|0|if [ "98" ] ;\ 100|0|then \ 100|0| if [ "98" != 95 ] ;\ 100|0| then \ 100|0| if [ "0" ] ;\ 100|0| then \ 100|0| if [ "0" = 1 ] ;\ 100|0| then \ 100|0| c89 -D_LARGEFILE_SOURCE -D VSU_UNIX=98 -D _XOPEN _SOURCE=500 -I /export/suites/vsu/inc/posix_c -I /export/suites/vsu/CAPI/SRC/IN C -o t44smloff0 t44smloff.c ;\ 100|0| setperm +s privusr privgrp t44smloff0;\ 100|0| else \ 100|0| if \ 100|0| getconf _XBS5_ILP32_OFF32 >/dev/null 2>& 1 ;\ 100|0| then \ 100|0| if [ "`getconf _XBS5_ILP32_OFF32`" != "- 1" ] && [ "`getconf _XBS5_ILP32_OFF32`" != "unsupported" ] ;\ 100|0| then \ 100|0| c89 `getconf XBS5_ILP32_OFF32_CF LAGS` -D VSU_UNIX=98 -D _XOPEN_SOURCE=500 -I /export/suites/vsu/inc/posix_c -I /export/suites/vsu/CAPI/SRC/INC `getconf XBS5_ILP32_OFF32_LDFLAGS` -o t44smloff 1 t44smloff.c `getconf XBS5_ILP32_OFF32_LIBS` ;\ 100|0| setperm +s privusr privgrp t44sm loff1 ;\ 100|0| fi \ 100|0| else \ 100|0| echo "Error: The command (getconf _XBS5_ ILP32_OFF32) did not succeed" ;\ 100|0| exit 1;\ 100|0| fi ;\ 100|0| if \ 100|0| getconf _XBS5_ILP32_OFFBIG >/dev/null 2> &1 ;\ 100|0| then \ 100|0| if [ "`getconf _XBS5_ILP32_OFFBIG`" != " -1" ] && [ "`getconf _XBS5_ILP32_OFFBIG`" != "unsupported" ] ;\ 100|0| then \ 100|0| c89 `getconf XBS5_ILP32_OFFBIG_C FLAGS` -D VSU_UNIX=98 -D _XOPEN_SOURCE=500 -I /export/suites/vsu/inc/posix_c -I /export/suites/vsu/CAPI/SRC/INC `getconf XBS5_ILP32_OFFBIG_LDFLAGS` -o t44smlo ff2 t44smloff.c `getconf XBS5_ILP32_OFFBIG_LIBS` ;\ 100|0| setperm +s privusr privgrp t44sm loff2 ;\ 100|0| fi \ 100|0| else \ 100|0| echo "Error: The command (getconf _XBS5_ ILP32_OFF32) did not succeed" ;\ 100|0| exit 1;\ 100|0| fi ;\ 100|0| if \ 100|0| getconf _XBS5_LP64_OFF64 >/dev/null 2>&1 ;\ 100|0| then \ 100|0| if [ "`getconf _XBS5_LP64_OFF64`" != "-1 " ] && [ "`getconf _XBS5_LP64_OFF64`" != "unsupported" ] ;\ 100|0| then \ 100|0| c89 `getconf XBS5_LP64_OFF64_CFL AGS` -D VSU_UNIX=98 -D _XOPEN_SOURCE=500 -I /export/suites/vsu/inc/posix_c -I / export/suites/vsu/CAPI/SRC/INC `getconf XBS5_LP64_OFF64_LDFLAGS` -o t44smloff3 t44smloff.c `getconf XBS5_LP64_OFF64_LIBS` ;\ 100|0| setperm +s privusr privgrp t44sm loff3 ;\ 100|0| fi \ 100|0| else \ 100|0| echo "Error: The command (getconf _XBS5_ LP64_OFF64) did not succeed" ;\ 100|0| exit 1;\ 100|0| fi ;\ 100|0| if \ 100|0| getconf _XBS5_LPBIG_OFFBIG >/dev/null 2> &1 ;\ 100|0| then \ 100|0| if [ "`getconf _XBS5_LPBIG_OFFBIG`" != " -1" ] && [ "`getconf _XBS5_LPBIG_OFFBIG`" != "unsupported" ] ;\ 100|0| then \ 100|0| c89 `getconf XBS5_LPBIG_OFFBIG_C FLAGS` -D VSU_UNIX=98 -D _XOPEN_SOURCE=500 -I /export/suites/vsu/inc/posix_c -I /export/suites/vsu/CAPI/SRC/INC `getconf XBS5_LPBIG_OFFBIG_LDFLAGS` -o t44smlo ff4 t44smloff.c `getconf XBS5_LPBIG_OFFBIG_LIBS` ;\ 100|0| setperm +s privusr privgrp t44sm loff4 ;\ 100|0| fi \ 100|0| else \ 100|0| echo "Error: The command (getconf _XBS5_ LPBIG_OFFBIG) did not succeed" ;\ 100|0| exit 1;\ 100|0| fi ;\ 100|0| fi \ 100|0| else \ 100|0| echo "Error: VSU_LFS_OLD_STYLE not set in tetbuild.cfg" ;\ 100|0| exit 1;\ 100|0| fi \ 100|0| fi \ 100|0|else \ 100|0| echo "Error: VSU_UNIX not set in tetbuild.cfg" ;\ 100|0| echo "Is; 98" ;\ 100|0| exit 1;\ 100|0|fi 100|0|make: Fatal error: Command failed for target `t44smloff' 130|0 1 16:02:33|Build End
110|0 /tset/CAPIbase/flstat/flstat33 16:02:37|Build Start, scenario ref 3-1 100|0|Undefined first referenced 100|0| symbol in file 100|0|pow t33lrgoff.o 100|0|ld: fatal: Symbol referencing errors. No output written to t33lrgoff2 100|0|*** Error code 1 100|0|The following command caused the error: 100|0|if [ "98" ] ;\ 100|0|then \ 100|0| if [ "98" != 95 ] ;\ 100|0| then \ 100|0| if [ "0" ] ;\ 100|0| then \ 100|0| if [ "0" = 1 ] ;\ 100|0| then \ 100|0| c89 `getconf LFS_CFLAGS` -D VSU_UNIX=98 -D _XOPE N_SOURCE=500 -I /export/suites/vsu/inc/posix_c -I /export/suites/vsu/CAPI/SRC/I NC `getconf LFS_LDFLAGS` -o t33lrgoff0 t33lrgoff.c `getconf LFS_LIBS` ;\ 100|0| setperm +s privusr privgrp t33lrgoff0;\ 100|0| else \ 100|0| if \ 100|0| getconf _XBS5_ILP32_OFFBIG >/dev/null 2> &1 ;\ 100|0| then \ 100|0| if [ "`getconf _XBS5_ILP32_OFFBIG`" != " -1" ] && [ "`getconf _XBS5_ILP32_OFFBIG`" != "unsupported" ] ;\ 100|0| then \ 100|0| c89 `getconf XBS5_ILP32_OFFBIG_C FLAGS` -D VSU_UNIX=98 -D _XOPEN_SOURCE=500 -I /export/suites/vsu/inc/posix_c -I /export/suites/vsu/CAPI/SRC/INC `getconf XBS5_ILP32_OFFBIG_LDFLAGS` -o t33lrgo ff2 t33lrgoff.c `getconf XBS5_ILP32_OFFBIG_LIBS` ;\ 100|0| setperm +s privusr privgrp t33lr goff2;\ 100|0| fi \ 100|0| fi ;\ 100|0| if \ 100|0| getconf _XBS5_LP64_OFF64 >/dev/null 2>&1 ;\ 100|0| then \ 100|0| if [ "`getconf _XBS5_LP64_OFF64`" != "-1 " ] && [ "`getconf _XBS5_LP64_OFF64`" != "unsupported" ] ;\ 100|0| then \ 100|0| found64env=1 ;\ 100|0| c89 `getconf XBS5_LP64_OFF64_CFL AGS` -D VSU_UNIX=98 -D _XOPEN_SOURCE=500 -I /export/suites/vsu/inc/posix_c -I / export/suites/vsu/CAPI/SRC/INC `getconf XBS5_LP64_OFF64_LDFLAGS` -o t33lrgoff3 t33lrgoff.c `getconf XBS5_LP64_OFF64_LIBS` ;\ 100|0| setperm +s privusr privgrp t33lr goff3;\ 100|0| fi \ 100|0| fi ;\ 100|0| if \ 100|0| getconf _XBS5_LPBIG_OFFBIG >/dev/null 2> &1 ;\ 100|0| then \ 100|0| if [ "`getconf _XBS5_LPBIG_OFFBIG`" != " -1" ] && [ "`getconf _XBS5_LPBIG_OFFBIG`" != "unsupported" ] ;\ 100|0| then \ 100|0| found64env=1 ;\ 100|0| c89 `getconf XBS5_LPBIG_OFFBIG_C FLAGS` -D VSU_UNIX=98 -D _XOPEN_SOURCE=500 -I /export/suites/vsu/inc/posix_c -I /export/suites/vsu/CAPI/SRC/INC `getconf XBS5_LPBIG_OFFBIG_LDFLAGS` -o t33lrgo ff4 t33lrgoff.c `getconf XBS5_LPBIG_OFFBIG_LIBS` ;\ 100|0| setperm +s privusr privgrp t33lr goff4;\ 100|0| fi \ 100|0| fi \ 100|0| fi ;\ 100|0| else \ 100|0| echo "Error: VSU_LFS_OLD_STYLE not set in tetbuild.cfg" ;\ 100|0| exit 1;\ 100|0| fi \ 100|0| fi \ 100|0|else \ 100|0| echo "Error: VSU_UNIX not set in tetbuild.cfg" ;\ 100|0| exit 1 ;\ 100|0|fi 100|0|make: Fatal error: Command failed for target `t33lrgoff' 130|0 1 16:02:55|Build End
110|0 /tset/CAPIbase/fmmap/fmmap41 16:02:59|Build Start, scenario ref 3-1 100|0|Undefined first referenced 100|0| symbol in file 100|0|pow t41lrgoff.o 100|0|ld: fatal: Symbol referencing errors. No output written to t41lrgoff2 100|0|*** Error code 1 100|0|The following command caused the error: 100|0|if [ "98" ] ;\ 100|0|then \ 100|0| if [ "98" != 95 ] ;\ 100|0| then \ 100|0| if [ "0" ] ;\ 100|0| then \ 100|0| if [ "0" = 1 ] ;\ 100|0| then \ 100|0| c89 `getconf LFS_CFLAGS` -D VSU_UNIX=98 -D _XOPE N_SOURCE=500 -I /export/suites/vsu/inc/posix_c -I /export/suites/vsu/CAPI/SRC/I NC `getconf LFS_LDFLAGS` -o t41lrgoff0 t41lrgoff.c `getconf LFS_LIBS` ;\ 100|0| setperm +s privusr privgrp t41lrgoff0;\ 100|0| else \ 100|0| if \ 100|0| getconf _XBS5_ILP32_OFFBIG >/dev/null 2> &1 ;\ 100|0| then \ 100|0| if [ "`getconf _XBS5_ILP32_OFFBIG`" != " -1" ] && [ "`getconf _XBS5_ILP32_OFFBIG`" != "unsupported" ] ;\ 100|0| then \ 100|0| c89 `getconf XBS5_ILP32_OFFBIG_C FLAGS` -D VSU_UNIX=98 -D _XOPEN_SOURCE=500 -I /export/suites/vsu/inc/posix_c -I /export/suites/vsu/CAPI/SRC/INC `getconf XBS5_ILP32_OFFBIG_LDFLAGS` -o t41lrgo ff2 t41lrgoff.c `getconf XBS5_ILP32_OFFBIG_LIBS` ;\ 100|0| setperm +s privusr privgrp t41lr goff2;\ 100|0| fi \ 100|0| fi ;\ 100|0| if \ 100|0| getconf _XBS5_LP64_OFF64 >/dev/null 2>&1 ;\ 100|0| then \ 100|0| if [ "`getconf _XBS5_LP64_OFF64`" != "-1 " ] && [ "`getconf _XBS5_LP64_OFF64`" != "unsupported" ] ;\ 100|0| then \ 100|0| found64env=1 ;\ 100|0| c89 `getconf XBS5_LP64_OFF64_CFL AGS` -D VSU_UNIX=98 -D _XOPEN_SOURCE=500 -I /export/suites/vsu/inc/posix_c -I / export/suites/vsu/CAPI/SRC/INC `getconf XBS5_LP64_OFF64_LDFLAGS` -o t41lrgoff3 t41lrgoff.c `getconf XBS5_LP64_OFF64_LIBS` ;\ 100|0| setperm +s privusr privgrp t41lr goff3;\ 100|0| fi \ 100|0| fi ;\ 100|0| if \ 100|0| getconf _XBS5_LPBIG_OFFBIG >/dev/null 2> &1 ;\ 100|0| then \ 100|0| if [ "`getconf _XBS5_LPBIG_OFFBIG`" != " -1" ] && [ "`getconf _XBS5_LPBIG_OFFBIG`" != "unsupported" ] ;\ 100|0| then \ 100|0| found64env=1 ;\ 100|0| c89 `getconf XBS5_LPBIG_OFFBIG_C FLAGS` -D VSU_UNIX=98 -D _XOPEN_SOURCE=500 -I /export/suites/vsu/inc/posix_c -I /export/suites/vsu/CAPI/SRC/INC `getconf XBS5_LPBIG_OFFBIG_LDFLAGS` -o t41lrgo ff4 t41lrgoff.c `getconf XBS5_LPBIG_OFFBIG_LIBS` ;\ 100|0| setperm +s privusr privgrp t41lr goff4;\ 100|0| fi \ 100|0| fi \ 100|0| fi ;\ 100|0| else \ 100|0| echo "Error: VSU_LFS_OLD_STYLE not set in tetbuild.cfg" ;\ 100|0| exit 1;\ 100|0| fi \ 100|0| fi \ 100|0|else \ 100|0| echo "Error: VSU_UNIX not set in tetbuild.cfg" ;\ 100|0| exit 1 ;\ 100|0|fi 100|0|make: Fatal error: Command failed for target `t41lrgoff' 130|0 1 16:03:18|Build End
110|0 /tset/CAPIbase/freadv/freadv70 16:03:23|Build Start, scenario ref 3-1 100|0|Undefined first referenced 100|0| symbol in file 100|0|pow t70lrgoff.o 100|0|ld: fatal: Symbol referencing errors. No output written to t70lrgoff2 100|0|*** Error code 1 100|0|The following command caused the error: 100|0|if [ "98" ] ;\ 100|0|then \ 100|0| if [ "98" != 95 ] ;\ 100|0| then \ 100|0| if [ "0" ] ;\ 100|0| then \ 100|0| if [ "0" = 1 ] ;\ 100|0| then \ 100|0| c89 `getconf LFS_CFLAGS` -D VSU_UNIX=98 -D _XOPE N_SOURCE=500 -I /export/suites/vsu/inc/posix_c -I /export/suites/vsu/CAPI/SRC/I NC `getconf LFS_LDFLAGS` -o t70lrgoff0 t70lrgoff.c `getconf LFS_LIBS` ;\ 100|0| setperm +s privusr privgrp t70lrgoff0;\ 100|0| else \ 100|0| if \ 100|0| getconf _XBS5_ILP32_OFFBIG >/dev/null 2> &1 ;\ 100|0| then \ 100|0| if [ "`getconf _XBS5_ILP32_OFFBIG`" != " -1" ] && [ "`getconf _XBS5_ILP32_OFFBIG`" != "unsupported" ] ;\ 100|0| then \ 100|0| c89 `getconf XBS5_ILP32_OFFBIG_C FLAGS` -D VSU_UNIX=98 -D _XOPEN_SOURCE=500 -I /export/suites/vsu/inc/posix_c -I /export/suites/vsu/CAPI/SRC/INC `getconf XBS5_ILP32_OFFBIG_LDFLAGS` -o t70lrgo ff2 t70lrgoff.c `getconf XBS5_ILP32_OFFBIG_LIBS` ;\ 100|0| setperm +s privusr privgrp t70lr goff2;\ 100|0| fi \ 100|0| fi ;\ 100|0| if \ 100|0| getconf _XBS5_LP64_OFF64 >/dev/null 2>&1 ;\ 100|0| then \ 100|0| if [ "`getconf _XBS5_LP64_OFF64`" != "-1 " ] && [ "`getconf _XBS5_LP64_OFF64`" != "unsupported" ] ;\ 100|0| then \ 100|0| found64env=1 ;\ 100|0| c89 `getconf XBS5_LP64_OFF64_CFL AGS` -D VSU_UNIX=98 -D _XOPEN_SOURCE=500 -I /export/suites/vsu/inc/posix_c -I / export/suites/vsu/CAPI/SRC/INC `getconf XBS5_LP64_OFF64_LDFLAGS` -o t70lrgoff3 t70lrgoff.c `getconf XBS5_LP64_OFF64_LIBS` ;\ 100|0| setperm +s privusr privgrp t70lr goff3;\ 100|0| fi \ 100|0| fi ;\ 100|0| if \ 100|0| getconf _XBS5_LPBIG_OFFBIG >/dev/null 2> &1 ;\ 100|0| then \ 100|0| if [ "`getconf _XBS5_LPBIG_OFFBIG`" != " -1" ] && [ "`getconf _XBS5_LPBIG_OFFBIG`" != "unsupported" ] ;\ 100|0| then \ 100|0| found64env=1 ;\ 100|0| c89 `getconf XBS5_LPBIG_OFFBIG_C FLAGS` -D VSU_UNIX=98 -D _XOPEN_SOURCE=500 -I /export/suites/vsu/inc/posix_c -I /export/suites/vsu/CAPI/SRC/INC `getconf XBS5_LPBIG_OFFBIG_LDFLAGS` -o t70lrgo ff4 t70lrgoff.c `getconf XBS5_LPBIG_OFFBIG_LIBS` ;\ 100|0| setperm +s privusr privgrp t70lr goff4;\ 100|0| fi \ 100|0| fi \ 100|0| fi ;\ 100|0| else \ 100|0| echo "Error: VSU_LFS_OLD_STYLE not set in tetbuild.cfg" ;\ 100|0| exit 1;\ 100|0| fi \ 100|0| fi \ 100|0|else \ 100|0| echo "Error: VSU_UNIX not set in tetbuild.cfg" ;\ 100|0| exit 1 ;\ 100|0|fi 100|0|make: Fatal error: Command failed for target `t70lrgoff' 130|0 1 16:03:43|Build End
110|0 /tset/CAPIbase/freadv/freadv71 16:03:47|Build Start, scenario ref 3-1 100|0|Undefined first referenced 100|0| symbol in file 100|0|pow t71lrgoff.o 100|0|ld: fatal: Symbol referencing errors. No output written to t71lrgoff2 100|0|*** Error code 1 100|0|The following command caused the error: 100|0|if [ "98" ] ;\ 100|0|then \ 100|0| if [ "98" != 95 ] ;\ 100|0| then \ 100|0| if [ "0" ] ;\ 100|0| then \ 100|0| if [ "0" = 1 ] ;\ 100|0| then \ 100|0| c89 `getconf LFS_CFLAGS` -D VSU_UNIX=98 -D _XOPE N_SOURCE=500 -I /export/suites/vsu/inc/posix_c -I /export/suites/vsu/CAPI/SRC/I NC `getconf LFS_LDFLAGS` -o t71lrgoff0 t71lrgoff.c `getconf LFS_LIBS` ;\ 100|0| setperm +s privusr privgrp t71lrgoff0;\ 100|0| else \ 100|0| if \ 100|0| getconf _XBS5_ILP32_OFFBIG >/dev/null 2> &1 ;\ 100|0| then \ 100|0| if [ "`getconf _XBS5_ILP32_OFFBIG`" != " -1" ] && [ "`getconf _XBS5_ILP32_OFFBIG`" != "unsupported" ] ;\ 100|0| then \ 100|0| c89 `getconf XBS5_ILP32_OFFBIG_C FLAGS` -D VSU_UNIX=98 -D _XOPEN_SOURCE=500 -I /export/suites/vsu/inc/posix_c -I /export/suites/vsu/CAPI/SRC/INC `getconf XBS5_ILP32_OFFBIG_LDFLAGS` -o t71lrgo ff2 t71lrgoff.c `getconf XBS5_ILP32_OFFBIG_LIBS` ;\ 100|0| setperm +s privusr privgrp t71lr goff2;\ 100|0| fi \ 100|0| fi ;\ 100|0| if \ 100|0| getconf _XBS5_LP64_OFF64 >/dev/null 2>&1 ;\ 100|0| then \ 100|0| if [ "`getconf _XBS5_LP64_OFF64`" != "-1 " ] && [ "`getconf _XBS5_LP64_OFF64`" != "unsupported" ] ;\ 100|0| then \ 100|0| found64env=1 ;\ 100|0| c89 `getconf XBS5_LP64_OFF64_CFL AGS` -D VSU_UNIX=98 -D _XOPEN_SOURCE=500 -I /export/suites/vsu/inc/posix_c -I / export/suites/vsu/CAPI/SRC/INC `getconf XBS5_LP64_OFF64_LDFLAGS` -o t71lrgoff3 t71lrgoff.c `getconf XBS5_LP64_OFF64_LIBS` ;\ 100|0| setperm +s privusr privgrp t71lr goff3;\ 100|0| fi \ 100|0| fi ;\ 100|0| if \ 100|0| getconf _XBS5_LPBIG_OFFBIG >/dev/null 2> &1 ;\ 100|0| then \ 100|0| if [ "`getconf _XBS5_LPBIG_OFFBIG`" != " -1" ] && [ "`getconf _XBS5_LPBIG_OFFBIG`" != "unsupported" ] ;\ 100|0| then \ 100|0| found64env=1 ;\ 100|0| c89 `getconf XBS5_LPBIG_OFFBIG_C FLAGS` -D VSU_UNIX=98 -D _XOPEN_SOURCE=500 -I /export/suites/vsu/inc/posix_c -I /export/suites/vsu/CAPI/SRC/INC `getconf XBS5_LPBIG_OFFBIG_LDFLAGS` -o t71lrgo ff4 t71lrgoff.c `getconf XBS5_LPBIG_OFFBIG_LIBS` ;\ 100|0| setperm +s privusr privgrp t71lr goff4;\ 100|0| fi \ 100|0| fi \ 100|0| fi ;\ 100|0| else \ 100|0| echo "Error: VSU_LFS_OLD_STYLE not set in tetbuild.cfg" ;\ 100|0| exit 1;\ 100|0| fi \ 100|0| fi \ 100|0|else \ 100|0| echo "Error: VSU_UNIX not set in tetbuild.cfg" ;\ 100|0| exit 1 ;\ 100|0|fi 100|0|make: Fatal error: Command failed for target `t71lrgoff' 130|0 1 16:04:07|Build End
110|0 /tset/CAPIbase/freadv/freadv72 16:04:11|Build Start, scenario ref 3-1 100|0|Undefined first referenced 100|0| symbol in file 100|0|pow t72lrgoff.o 100|0|ld: fatal: Symbol referencing errors. No output written to t72lrgoff2 100|0|*** Error code 1 100|0|The following command caused the error: 100|0|if [ "98" ] ;\ 100|0|then \ 100|0| if [ "98" != 95 ] ;\ 100|0| then \ 100|0| if [ "0" ] ;\ 100|0| then \ 100|0| if [ "0" = 1 ] ;\ 100|0| then \ 100|0| c89 `getconf LFS_CFLAGS` -D VSU_UNIX=98 -D _XOPE N_SOURCE=500 -I /export/suites/vsu/inc/posix_c -I /export/suites/vsu/CAPI/SRC/I NC `getconf LFS_LDFLAGS` -o t72lrgoff0 t72lrgoff.c `getconf LFS_LIBS` ;\ 100|0| setperm +s privusr privgrp t72lrgoff0;\ 100|0| else \ 100|0| if \ 100|0| getconf _XBS5_ILP32_OFFBIG >/dev/null 2> &1 ;\ 100|0| then \ 100|0| if [ "`getconf _XBS5_ILP32_OFFBIG`" != " -1" ] && [ "`getconf _XBS5_ILP32_OFFBIG`" != "unsupported" ] ;\ 100|0| then \ 100|0| c89 `getconf XBS5_ILP32_OFFBIG_C FLAGS` -D VSU_UNIX=98 -D _XOPEN_SOURCE=500 -I /export/suites/vsu/inc/posix_c -I /export/suites/vsu/CAPI/SRC/INC `getconf XBS5_ILP32_OFFBIG_LDFLAGS` -o t72lrgo ff2 t72lrgoff.c `getconf XBS5_ILP32_OFFBIG_LIBS` ;\ 100|0| setperm +s privusr privgrp t72lr goff2;\ 100|0| fi \ 100|0| fi ;\ 100|0| if \ 100|0| getconf _XBS5_LP64_OFF64 >/dev/null 2>&1 ;\ 100|0| then \ 100|0| if [ "`getconf _XBS5_LP64_OFF64`" != "-1 " ] && [ "`getconf _XBS5_LP64_OFF64`" != "unsupported" ] ;\ 100|0| then \ 100|0| found64env=1 ;\ 100|0| c89 `getconf XBS5_LP64_OFF64_CFL AGS` -D VSU_UNIX=98 -D _XOPEN_SOURCE=500 -I /export/suites/vsu/inc/posix_c -I / export/suites/vsu/CAPI/SRC/INC `getconf XBS5_LP64_OFF64_LDFLAGS` -o t72lrgoff3 t72lrgoff.c `getconf XBS5_LP64_OFF64_LIBS` ;\ 100|0| setperm +s privusr privgrp t72lr goff3;\ 100|0| fi \ 100|0| fi ;\ 100|0| if \ 100|0| getconf _XBS5_LPBIG_OFFBIG >/dev/null 2> &1 ;\ 100|0| then \ 100|0| if [ "`getconf _XBS5_LPBIG_OFFBIG`" != " -1" ] && [ "`getconf _XBS5_LPBIG_OFFBIG`" != "unsupported" ] ;\ 100|0| then \ 100|0| found64env=1 ;\ 100|0| c89 `getconf XBS5_LPBIG_OFFBIG_C FLAGS` -D VSU_UNIX=98 -D _XOPEN_SOURCE=500 -I /export/suites/vsu/inc/posix_c -I /export/suites/vsu/CAPI/SRC/INC `getconf XBS5_LPBIG_OFFBIG_LDFLAGS` -o t72lrgo ff4 t72lrgoff.c `getconf XBS5_LPBIG_OFFBIG_LIBS` ;\ 100|0| setperm +s privusr privgrp t72lr goff4;\ 100|0| fi \ 100|0| fi \ 100|0| fi ;\ 100|0| else \ 100|0| echo "Error: VSU_LFS_OLD_STYLE not set in tetbuild.cfg" ;\ 100|0| exit 1;\ 100|0| fi \ 100|0| fi \ 100|0|else \ 100|0| echo "Error: VSU_UNIX not set in tetbuild.cfg" ;\ 100|0| exit 1 ;\ 100|0|fi 100|0|make: Fatal error: Command failed for target `t72lrgoff' 130|0 1 16:04:32|Build End
110|0 /tset/CAPIbase/fwritev/fwritev75 16:04:37|Build Start, scenario ref 3-1 100|0|Undefined first referenced 100|0| symbol in file 100|0|pow t75lrgoff.o 100|0|ld: fatal: Symbol referencing errors. No output written to t75lrgoff2 100|0|*** Error code 1 100|0|The following command caused the error: 100|0|if [ "98" ] ;\ 100|0|then \ 100|0| if [ "98" != 95 ] ;\ 100|0| then \ 100|0| if [ "0" ] ;\ 100|0| then \ 100|0| if [ "0" = 1 ] ;\ 100|0| then \ 100|0| c89 `getconf LFS_CFLAGS` -D VSU_UNIX=98 -D _XOPE N_SOURCE=500 -I /export/suites/vsu/inc/posix_c -I /export/suites/vsu/CAPI/SRC/I NC `getconf LFS_LDFLAGS` -o t75lrgoff0 t75lrgoff.c `getconf LFS_LIBS` ;\ 100|0| setperm +s privusr privgrp t75lrgoff0;\ 100|0| else \ 100|0| if \ 100|0| getconf _XBS5_ILP32_OFFBIG >/dev/null 2> &1 ;\ 100|0| then \ 100|0| if [ "`getconf _XBS5_ILP32_OFFBIG`" != " -1" ] && [ "`getconf _XBS5_ILP32_OFFBIG`" != "unsupported" ] ;\ 100|0| then \ 100|0| c89 `getconf XBS5_ILP32_OFFBIG_C FLAGS` -D VSU_UNIX=98 -D _XOPEN_SOURCE=500 -I /export/suites/vsu/inc/posix_c -I /export/suites/vsu/CAPI/SRC/INC `getconf XBS5_ILP32_OFFBIG_LDFLAGS` -o t75lrgo ff2 t75lrgoff.c `getconf XBS5_ILP32_OFFBIG_LIBS` ;\ 100|0| setperm +s privusr privgrp t75lr goff2;\ 100|0| fi \ 100|0| fi ;\ 100|0| if \ 100|0| getconf _XBS5_LP64_OFF64 >/dev/null 2>&1 ;\ 100|0| then \ 100|0| if [ "`getconf _XBS5_LP64_OFF64`" != "-1 " ] && [ "`getconf _XBS5_LP64_OFF64`" != "unsupported" ] ;\ 100|0| then \ 100|0| found64env=1 ;\ 100|0| c89 `getconf XBS5_LP64_OFF64_CFL AGS` -D VSU_UNIX=98 -D _XOPEN_SOURCE=500 -I /export/suites/vsu/inc/posix_c -I / export/suites/vsu/CAPI/SRC/INC `getconf XBS5_LP64_OFF64_LDFLAGS` -o t75lrgoff3 t75lrgoff.c `getconf XBS5_LP64_OFF64_LIBS` ;\ 100|0| setperm +s privusr privgrp t75lr goff3;\ 100|0| fi \ 100|0| fi ;\ 100|0| if \ 100|0| getconf _XBS5_LPBIG_OFFBIG >/dev/null 2> &1 ;\ 100|0| then \ 100|0| if [ "`getconf _XBS5_LPBIG_OFFBIG`" != " -1" ] && [ "`getconf _XBS5_LPBIG_OFFBIG`" != "unsupported" ] ;\ 100|0| then \ 100|0| found64env=1 ;\ 100|0| c89 `getconf XBS5_LPBIG_OFFBIG_C FLAGS` -D VSU_UNIX=98 -D _XOPEN_SOURCE=500 -I /export/suites/vsu/inc/posix_c -I /export/suites/vsu/CAPI/SRC/INC `getconf XBS5_LPBIG_OFFBIG_LDFLAGS` -o t75lrgo ff4 t75lrgoff.c `getconf XBS5_LPBIG_OFFBIG_LIBS` ;\ 100|0| setperm +s privusr privgrp t75lr goff4;\ 100|0| fi \ 100|0| fi \ 100|0| fi ;\ 100|0| else \ 100|0| echo "Error: VSU_LFS_OLD_STYLE not set in tetbuild.cfg" ;\ 100|0| exit 1;\ 100|0| fi \ 100|0| fi \ 100|0|else \ 100|0| echo "Error: VSU_UNIX not set in tetbuild.cfg" ;\ 100|0| exit 1 ;\ 100|0|fi 100|0|make: Fatal error: Command failed for target `t75lrgoff' 130|0 1 16:04:56|Build End
110|0 /tset/CAPIbase/fwritev/fwritev76 16:05:01|Build Start, scenario ref 3-1 100|0|Undefined first referenced 100|0| symbol in file 100|0|pow t76lrgoff.o 100|0|ld: fatal: Symbol referencing errors. No output written to t76lrgoff2 100|0|*** Error code 1 100|0|The following command caused the error: 100|0|if [ "98" ] ;\ 100|0|then \ 100|0| if [ "98" != 95 ] ;\ 100|0| then \ 100|0| if [ "0" ] ;\ 100|0| then \ 100|0| if [ "0" = 1 ] ;\ 100|0| then \ 100|0| c89 `getconf LFS_CFLAGS` -D VSU_UNIX=98 -D _XOPE N_SOURCE=500 -I /export/suites/vsu/inc/posix_c -I /export/suites/vsu/CAPI/SRC/I NC `getconf LFS_LDFLAGS` -o t76lrgoff0 t76lrgoff.c `getconf LFS_LIBS` ;\ 100|0| setperm +s privusr privgrp t76lrgoff0;\ 100|0| else \ 100|0| if \ 100|0| getconf _XBS5_ILP32_OFFBIG >/dev/null 2> &1 ;\ 100|0| then \ 100|0| if [ "`getconf _XBS5_ILP32_OFFBIG`" != " -1" ] && [ "`getconf _XBS5_ILP32_OFFBIG`" != "unsupported" ] ;\ 100|0| then \ 100|0| c89 `getconf XBS5_ILP32_OFFBIG_C FLAGS` -D VSU_UNIX=98 -D _XOPEN_SOURCE=500 -I /export/suites/vsu/inc/posix_c -I /export/suites/vsu/CAPI/SRC/INC `getconf XBS5_ILP32_OFFBIG_LDFLAGS` -o t76lrgo ff2 t76lrgoff.c `getconf XBS5_ILP32_OFFBIG_LIBS` ;\ 100|0| setperm +s privusr privgrp t76lr goff2;\ 100|0| fi \ 100|0| fi ;\ 100|0| if \ 100|0| getconf _XBS5_LP64_OFF64 >/dev/null 2>&1 ;\ 100|0| then \ 100|0| if [ "`getconf _XBS5_LP64_OFF64`" != "-1 " ] && [ "`getconf _XBS5_LP64_OFF64`" != "unsupported" ] ;\ 100|0| then \ 100|0| found64env=1 ;\ 100|0| c89 `getconf XBS5_LP64_OFF64_CFL AGS` -D VSU_UNIX=98 -D _XOPEN_SOURCE=500 -I /export/suites/vsu/inc/posix_c -I / export/suites/vsu/CAPI/SRC/INC `getconf XBS5_LP64_OFF64_LDFLAGS` -o t76lrgoff3 t76lrgoff.c `getconf XBS5_LP64_OFF64_LIBS` ;\ 100|0| setperm +s privusr privgrp t76lr goff3;\ 100|0| fi \ 100|0| fi ;\ 100|0| if \ 100|0| getconf _XBS5_LPBIG_OFFBIG >/dev/null 2> &1 ;\ 100|0| then \ 100|0| if [ "`getconf _XBS5_LPBIG_OFFBIG`" != " -1" ] && [ "`getconf _XBS5_LPBIG_OFFBIG`" != "unsupported" ] ;\ 100|0| then \ 100|0| found64env=1 ;\ 100|0| c89 `getconf XBS5_LPBIG_OFFBIG_C FLAGS` -D VSU_UNIX=98 -D _XOPEN_SOURCE=500 -I /export/suites/vsu/inc/posix_c -I /export/suites/vsu/CAPI/SRC/INC `getconf XBS5_LPBIG_OFFBIG_LDFLAGS` -o t76lrgo ff4 t76lrgoff.c `getconf XBS5_LPBIG_OFFBIG_LIBS` ;\ 100|0| setperm +s privusr privgrp t76lr goff4;\ 100|0| fi \ 100|0| fi \ 100|0| fi ;\ 100|0| else \ 100|0| echo "Error: VSU_LFS_OLD_STYLE not set in tetbuild.cfg" ;\ 100|0| exit 1;\ 100|0| fi \ 100|0| fi \ 100|0|else \ 100|0| echo "Error: VSU_UNIX not set in tetbuild.cfg" ;\ 100|0| exit 1 ;\ 100|0|fi 100|0|make: Fatal error: Command failed for target `t76lrgoff' 130|0 1 16:05:21|Build End
110|0 /tset/CAPIbase/fwritev/fwritev77 16:05:25|Build Start, scenario ref 3-1 100|0|Undefined first referenced 100|0| symbol in file 100|0|pow t77lrgoff.o 100|0|ld: fatal: Symbol referencing errors. No output written to t77lrgoff2 100|0|*** Error code 1 100|0|The following command caused the error: 100|0|if [ "98" ] ;\ 100|0|then \ 100|0| if [ "98" != 95 ] ;\ 100|0| then \ 100|0| if [ "0" ] ;\ 100|0| then \ 100|0| if [ "0" = 1 ] ;\ 100|0| then \ 100|0| c89 `getconf LFS_CFLAGS` -D VSU_UNIX=98 -D _XOPE N_SOURCE=500 -I /export/suites/vsu/inc/posix_c -I /export/suites/vsu/CAPI/SRC/I NC `getconf LFS_LDFLAGS` -o t77lrgoff0 t77lrgoff.c `getconf LFS_LIBS` ;\ 100|0| setperm +s privusr privgrp t77lrgoff0;\ 100|0| else \ 100|0| if \ 100|0| getconf _XBS5_ILP32_OFFBIG >/dev/null 2> &1 ;\ 100|0| then \ 100|0| if [ "`getconf _XBS5_ILP32_OFFBIG`" != " -1" ] && [ "`getconf _XBS5_ILP32_OFFBIG`" != "unsupported" ] ;\ 100|0| then \ 100|0| c89 `getconf XBS5_ILP32_OFFBIG_C FLAGS` -D VSU_UNIX=98 -D _XOPEN_SOURCE=500 -I /export/suites/vsu/inc/posix_c -I /export/suites/vsu/CAPI/SRC/INC `getconf XBS5_ILP32_OFFBIG_LDFLAGS` -o t77lrgo ff2 t77lrgoff.c `getconf XBS5_ILP32_OFFBIG_LIBS` ;\ 100|0| setperm +s privusr privgrp t77lr goff2;\ 100|0| fi \ 100|0| fi ;\ 100|0| if \ 100|0| getconf _XBS5_LP64_OFF64 >/dev/null 2>&1 ;\ 100|0| then \ 100|0| if [ "`getconf _XBS5_LP64_OFF64`" != "-1 " ] && [ "`getconf _XBS5_LP64_OFF64`" != "unsupported" ] ;\ 100|0| then \ 100|0| found64env=1 ;\ 100|0| c89 `getconf XBS5_LP64_OFF64_CFL AGS` -D VSU_UNIX=98 -D _XOPEN_SOURCE=500 -I /export/suites/vsu/inc/posix_c -I / export/suites/vsu/CAPI/SRC/INC `getconf XBS5_LP64_OFF64_LDFLAGS` -o t77lrgoff3 t77lrgoff.c `getconf XBS5_LP64_OFF64_LIBS` ;\ 100|0| setperm +s privusr privgrp t77lr goff3;\ 100|0| fi \ 100|0| fi ;\ 100|0| if \ 100|0| getconf _XBS5_LPBIG_OFFBIG >/dev/null 2> &1 ;\ 100|0| then \ 100|0| if [ "`getconf _XBS5_LPBIG_OFFBIG`" != " -1" ] && [ "`getconf _XBS5_LPBIG_OFFBIG`" != "unsupported" ] ;\ 100|0| then \ 100|0| found64env=1 ;\ 100|0| c89 `getconf XBS5_LPBIG_OFFBIG_C FLAGS` -D VSU_UNIX=98 -D _XOPEN_SOURCE=500 -I /export/suites/vsu/inc/posix_c -I /export/suites/vsu/CAPI/SRC/INC `getconf XBS5_LPBIG_OFFBIG_LDFLAGS` -o t77lrgo ff4 t77lrgoff.c `getconf XBS5_LPBIG_OFFBIG_LIBS` ;\ 100|0| setperm +s privusr privgrp t77lr goff4;\ 100|0| fi \ 100|0| fi \ 100|0| fi ;\ 100|0| else \ 100|0| echo "Error: VSU_LFS_OLD_STYLE not set in tetbuild.cfg" ;\ 100|0| exit 1;\ 100|0| fi \ 100|0| fi \ 100|0|else \ 100|0| echo "Error: VSU_UNIX not set in tetbuild.cfg" ;\ 100|0| exit 1 ;\ 100|0|fi 100|0|make: Fatal error: Command failed for target `t77lrgoff' 130|0 1 16:05:45|Build End
|
Review Information
Review Type |
TSMA Review |
Start Date |
null |
Completed |
null |
Status |
Complete |
Review Recommendation |
No Resolution Given |
Review Response |
The submitter has requested this IR be sent for review. We recommend the request by refused by the review group.
To summarize what we believe is the issue, the submitter is interpreting the spec as saying it only requires getconf for XBS5_*_LIBS to provide the c89 options to use to get an appropriate libc for a programming environment, while the test suite is expecting the options for all the appropriate libraries.
Per the c89 pages what the XBS5_*_LIBS arguments are supposed to yield is variously "Libraries", "configuration strings for ... libraries for each supported environment", and "the appropriate libraries". In all cases this is plural, not "a library" or "the library", and certainly not "libc".
Further, the spec is clear in saying the model here is that the application gets the c89 arguments to use from getconf and then invokes c89 with them in order to operate in a given environment. This an alternate application mechanism to the -l c, -l m, . . . operands which are provided for use in the default environment and requiring an application to mix them together breaks this and overly constrains the options available to a system implementor.
A key requirement of the spec is that applications shall not mix together object files built in different programming environments. This seems to clearly preclude a conforming application from using -l operands in concert with multi-environment getconfs.
In addition to these requirements of the specification that seem to rebut the submitter's interpretation, there is a practical concern.
In our mind there are two types of system implementation that conform to the spec:
1) XBS5_*_LDFLAGS getconfs cause a string containing a -L operand to be returned which specifies a directory to resolve -l operands which XBS5_*_LIBS getconfs return.
2) XBS5_*_LIBS specify the paths of the libraries appropriate to an environment without recourse to the -L/-l operands.
What we think the submitter is suggesting is a third type (similar to type 1 but with the application providing some of the -l's). This is fine in theory but is a problem in practice as it is mutually exclusive with the other two models since it causes applications to have to be written in a manner which makes then not portable to at least some implementations of both types.
- As in the submitter's model the application is providing -l operands in its c89 invocation prior to those provided by what getconf with XBS5_*_LIBS returns, type 1 implementations are constrained to call their libaries for each environment libc, libm, etc. On implementations that don't the application will either fail to link or will end up mixing libraries from different models.
- Similarly on type 2 systems if the application supplies -l operands the linker is going to look at the system libraries for the default environment before those getconf with XBS5_*_LIBS returns, and thus mix objects from different environment together.
Thus unlike the traditional rationale for PINs in which an additional implementation approach is added to those considered valid, what is being suggested here is making existing approaches invalid and replacing them with a new incompatible approach.
We also note that TOG has already issued PG4U.00132 which denied a request identical to the submitter's and thus established that implementations need to follow one of the two models above. While the spec could originally have been written to specify the model the submitter advocates (though we don't think it does), at this point TOG has already said that model is non-conforming and we would not want to recommend TOG change direction and render all other implementations non-conforming at this point.
We do by the way agree with the submitter that the example using -l pthread in the c89 is anamolous. Though it is in the Application Usage section and thus not normative for the spec or this IR we do recommend it be corrected by corrigenda.
|
Review Type |
SA Review |
Start Date |
null |
Completed |
null |
Status |
Complete |
Review Resolution |
No Resolution Given |
Review Conclusion |
This request should go for a 14 day review.
|
Review Type |
Expert Group Review |
Start Date |
null |
Completed |
null |
Status |
Complete |
Review Resolution |
No Resolution Given |
Review Conclusion |
Interpretation Subgroup response:
A waiver should be granted.
The intent was that getconf XBS5_*_LIBS specify (if needed) a way to get at alternative libraries corresponding to the programming environment. This could be provided by a -L option specifying an alternative library directory for that environment on implementations that permit intermixed -L options with -l operands. For implementations that use linker/loader or compiler flags to set this up instead of a -L operand, the flags could be supplied by $(getconf XBS5_*_LIBS), $(getconf XBS5_*_CFLAGS), or $(getconf XBS5_*_LDFLAGS).
If the $(getconf XBS5_*) values tell the compiler what environment is being used, the application still needs to specify the libraries it will use in that environment.
This request has also highlighted an error in the example on XCU5, P167 (c89 EXAMPLES section) describing how an application using threads interfaces can test for support of and use a programming envrionment supporting 32-bit int, long and pointer types and an off_t type using at least 64 bits: if [ $(getconf XBS5_ILP32_OFFBIG) != "-1" ] then c89 $(getconf XBS5_ILP32_OFFBIG_CFLAGS) -D_XOPEN_SOURCE=500 \ $(getconf XBS5_ILP32_OFFBIG_LDFLAGS) foo.c -o foo \ -l pthread $(getconf XBS5_ILP32_OFFBIG_LIBS) else echo ILP32_OFFBIG programming environment not supported fi
Note that -l pthread is explicitly listed to get access to the threads interfaces. Unfortunately, the last line in the c89 invocation should have been $(getconf XBS5_ILP32_OFFBIG_LIBS) -l pthread instead of -l pthread $(getconf XBS5_ILP32_OFFBIG_LIBS)
This will be considered for future corrigenda.
|
Review Type |
SA Review |
Start Date |
null |
Completed |
null |
Status |
Complete |
Review Resolution |
Permanent Interpretation (PIN) |
Review Conclusion |
A Permanent Interpretation is granted.
|
Problem Reporting System Options:
|