HomeAbout Us A-Z IndexSearch * Contact Us Register LoginPress Shop

The Open Brand -- Problem Reporting and Interpretations System


Problem Report 1632 Details

Help Show help | Quick Search | Submit a Test Suite Support Request | Click here to view your privileges

This page provides all information on Problem Report 1632.


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:

     

    Back   


Contact the Certification Authority