baffled on old Red Hat Enterprise Linux 6 with OpenSSL 3.0.3

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




* baffled *


After many many various incantations and a few coffee I can not get past
this strange nested pile of ifdef's to allow usleep() to exist :

make depend && make _build_sw
make[1]: Entering directory `/opt/bw/build/openssl-3.0.3_rhel6_amd64.004'
make[1]: Leaving directory `/opt/bw/build/openssl-3.0.3_rhel6_amd64.004'
make[1]: Entering directory `/opt/bw/build/openssl-3.0.3_rhel6_amd64.004'
/opt/bw/gcc12/bin/gcc -I. -Iinclude -Iapps/include -fPIC -pthread -g -O0 -fno-builtin -m64 -march=k8 -mtune=k8 -malign-double -mpc80 -mno-mmx -Wl,-rpath=/opt/bw/lib,--enable-new-dtags -std=iso9899:1999 -pedantic -pedantic-errors -g -O0 -fno-builtin -m64 -march=k8 -mtune=k8 -malign-double -mpc80 -mno-mmx -Wl,-rpath=/opt/bw/lib,--enable-new-dtags -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSLDIR="\"/opt/bw/ssl\"" -DENGINESDIR="\"/opt/bw/lib64/engines-3\"" -DMODULESDIR="\"/opt/bw/lib64/ossl-modules\"" -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -DPEDANTIC -DOPENSSL_SYS_UNIX -I/opt/bw/include -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE -D__EXTENSIONS__ -D_EXTENSIONS_ -MMD -MF apps/lib/libapps-lib-app_libctx.d.tmp -MT apps/lib/libapps-lib-app_libctx.o -c -o apps/lib/libapps-lib-app_libctx.o apps/lib/app_libctx.c
In file included from include/openssl/types.h:20,
                 from apps/include/app_libctx.h:13,
                 from apps/lib/app_libctx.c:9:
include/openssl/e_os2.h:31: error: "OPENSSL_SYS_UNIX" redefined
   31 | # define OPENSSL_SYS_UNIX
      |
<command-line>: note: this is the location of the previous definition
In file included from apps/include/apps.h:13,
                 from apps/lib/app_libctx.c:10:
./e_os.h: In function 'ossl_sleep':
./e_os.h:312:5: error: implicit declaration of function 'usleep'; did you mean 'sleep'? [-Wimplicit-function-declaration]
  312 |     usleep(millis * 1000);
      |     ^~~~~~
      |     sleep
make[1]: *** [apps/lib/libapps-lib-app_libctx.o] Error 1
make[1]: Leaving directory `/opt/bw/build/openssl-3.0.3_rhel6_amd64.004'
make: *** [build_sw] Error 2


I am not sure what the environment wants or needs to get past this and I
would prefer to not go hacking at a header to force the function
ossl_sleep into existence. Also I can not seem to figure out what C standards the new OpenSSL 3 wants. Could be C90 per the old OpenSSL 1.x
or maybe we need C99. Regardless the whole show stops fast on RHEL6 and
yes I do have gcc 12.1.0 bootstrapped and tested as well as new binutils and a pile of other newish stuff. I have tried :

/opt/bw/bin/perl ./Configure linux-x86_64 no-asm --prefix=/opt/bw shared
 no-engine -DPEDANTIC -DOPENSSL_SYS_UNIX

However that won't work. So I have been tossing darts at the wall to see
what sticks but thus far everything fails.

    * * *  any helpful hints are accepted * * *


Here is the configdata.pm dump thingy :

Command line (with current working directory = .):

/opt/bw/bin/perl ./Configure linux-x86_64 no-asm --prefix=/opt/bw shared no-engine -DPEDANTIC -DOPENSSL_SYS_UNIX

Perl information:

    /opt/bw/bin/perl
    5.36.0 for x86_64-linux-ld

Enabled features:

    aria
    async
    autoalginit
    autoerrinit
    autoload-config
    bf
    blake2
    bulk
    cached-fetch
    camellia
    cast
    chacha
    cmac
    cmp
    cms
    comp
    ct
    deprecated
    des
    dgram
    dh
    dsa
    dso
    dtls
    ec
    ec2m
    ecdh
    ecdsa
    err
    filenames
    gost
    idea
    legacy
    makedepend
    md4
    mdc2
    module
    multiblock
    nextprotoneg
    ocb
    ocsp
    pic
    pinshared
    poly1305
    posix-io
    psk
    rc2
    rc4
    rdrand
    rfc3779
    rmd160
    scrypt
    secure-memory
    seed
    shared
    siphash
    siv
    sm2
    sm3
    sm4
    sock
    srp
    srtp
    sse2
    ssl
    ssl-trace
    static-engine
    stdio
    tests
    threads
    tls
    ts
    ui-console
    whirlpool
    tls1
    tls1-method
    tls1_1
    tls1_1-method
    tls1_2
    tls1_2-method
    tls1_3
    dtls1
    dtls1-method
    dtls1_2
    dtls1_2-method

Disabled features:

    acvp-tests          [cascade]        OPENSSL_NO_ACVP_TESTS
    afalgeng            [cascade]        OPENSSL_NO_AFALGENG
    asan                [default]        OPENSSL_NO_ASAN
    asm                 [option]         OPENSSL_NO_ASM
    buildtest-c++       [default]
    capieng             [cascade]        OPENSSL_NO_CAPIENG
    crypto-mdebug       [default]        OPENSSL_NO_CRYPTO_MDEBUG
    devcryptoeng        [default]        OPENSSL_NO_DEVCRYPTOENG
    dynamic-engine      [cascade]
    ec_nistp_64_gcc_128 [default]        OPENSSL_NO_EC_NISTP_64_GCC_128
    egd                 [default]        OPENSSL_NO_EGD
engine [option] OPENSSL_NO_ENGINE (skip engines, crypto/engine)
    external-tests      [default]        OPENSSL_NO_EXTERNAL_TESTS
    fips                [default]
    fips-securitychecks [cascade]        OPENSSL_NO_FIPS_SECURITYCHECKS
    fuzz-afl            [default]        OPENSSL_NO_FUZZ_AFL
    fuzz-libfuzzer      [default]        OPENSSL_NO_FUZZ_LIBFUZZER
    ktls                [default]        OPENSSL_NO_KTLS
    loadereng           [cascade]        OPENSSL_NO_LOADERENG
    md2                 [default]        OPENSSL_NO_MD2 (skip crypto/md2)
    msan                [default]        OPENSSL_NO_MSAN
    padlockeng          [cascade]        OPENSSL_NO_PADLOCKENG
    rc5                 [default]        OPENSSL_NO_RC5 (skip crypto/rc5)
    sctp                [default]        OPENSSL_NO_SCTP
    trace               [default]        OPENSSL_NO_TRACE
    ubsan               [default]        OPENSSL_NO_UBSAN
    unit-test           [default]        OPENSSL_NO_UNIT_TEST
    uplink              [no uplink_arch] OPENSSL_NO_UPLINK
    weak-ssl-ciphers    [default]        OPENSSL_NO_WEAK_SSL_CIPHERS
    zlib                [default]
    zlib-dynamic        [default]
    ssl3                [default]        OPENSSL_NO_SSL3
    ssl3-method         [default]        OPENSSL_NO_SSL3_METHOD

Config target attributes:

    AR => "ar",
    ARFLAGS => "qc",
    CC => "gcc",
    CFLAGS => "-Wall -O0 -g",
    CXX => "g++",
    CXXFLAGS => "-Wall -O0 -g",
    HASHBANGPERL => "/usr/bin/env perl",
    RANLIB => "ranlib",
    RC => "windres",
    asm_arch => "x86_64",
    bn_ops => "SIXTY_FOUR_BIT_LONG",
    build_file => "Makefile",
    build_scheme => [ "unified", "unix" ],
cflags => "-pthread -g -O0 -fno-builtin -m64 -march=k8 -mtune=k8 -malign-double -mpc80 -mno-mmx -Wl,-rpath=/opt/bw/lib,--enable-new-dtags",
    cppflags => "",
cxxflags => "-std=c++11 -pthread -g -O0 -fno-builtin -m64 -march=k8 -mtune=k8 -malign-double -mpc80 -mno-mmx -Wl,-rpath=/opt/bw/lib,--enable-new-dtags",
    defines => [ "OPENSSL_BUILDING_OPENSSL" ],
    disable => [  ],
    dso_ldflags => "-Wl,-z,defs",
    dso_scheme => "dlfcn",
    enable => [ "afalgeng" ],
    ex_libs => "-ldl -pthread",
    includes => [  ],
    lflags => "",
    lib_cflags => "",
    lib_cppflags => "-DOPENSSL_USE_NODELETE -DL_ENDIAN",
    lib_defines => [  ],
    module_cflags => "-fPIC",
    module_cxxflags => undef,
    module_ldflags => "-Wl,-znodelete -shared -Wl,-Bsymbolic",
    multilib => "64",
    perl_platform => "Unix",
    perlasm_scheme => "elf",
    shared_cflag => "-fPIC",
    shared_defflag => "-Wl,--version-script=",
    shared_defines => [  ],
    shared_ldflag => "-Wl,-znodelete -shared -Wl,-Bsymbolic",
    shared_rcflag => "",
    shared_sonameflag => "-Wl,-soname=",
    shared_target => "linux-shared",
    thread_defines => [  ],
    thread_scheme => "pthreads",
    unistd => "<unistd.h>",

Recorded environment:

    AR = /usr/bin/ar
    BUILDFILE =
    CC = /opt/bw/gcc12/bin/gcc
CFLAGS = -std=iso9899:1999 -pedantic -pedantic-errors -g -O0 -fno-builtin -m64 -march=k8 -mtune=k8 -malign-double -mpc80 -mno-mmx -Wl,-rpath=/opt/bw/lib,--enable-new-dtags CPPFLAGS = -I/opt/bw/include -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE -D__EXTENSIONS__ -D_EXTENSIONS_
    CROSS_COMPILE =
    CXX = /opt/bw/gcc12/bin/g++
CXXFLAGS = -std=c++11 -pedantic -pedantic-errors -g -O0 -fno-builtin -m64 -march=k8 -mtune=k8 -malign-double -mpc80 -mno-mmx -Wl,-rpath=/opt/bw/lib,--enable-new-dtags
    HASHBANGPERL =
    LDFLAGS =
    LDLIBS =
    OPENSSL_LOCAL_CONFIG_DIR =
    PERL = /opt/bw/bin/perl
    RANLIB = /usr/bin/ranlib
    RC =
    RCFLAGS =
    WINDRES =
    __CNF_CFLAGS =
    __CNF_CPPDEFINES =
    __CNF_CPPFLAGS =
    __CNF_CPPINCLUDES =
    __CNF_CXXFLAGS =
    __CNF_LDFLAGS =
    __CNF_LDLIBS =

Makevars:

    AR              = /usr/bin/ar
    ARFLAGS         = qc
    CC              = /opt/bw/gcc12/bin/gcc
CFLAGS = -std=iso9899:1999 -pedantic -pedantic-errors -g -O0 -fno-builtin -m64 -march=k8 -mtune=k8 -malign-double -mpc80 -mno-mmx -Wl,-rpath=/opt/bw/lib,--enable-new-dtags
    CPPDEFINES      = PEDANTIC OPENSSL_SYS_UNIX
CPPFLAGS = -I/opt/bw/include -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE -D__EXTENSIONS__ -D_EXTENSIONS_
    CPPINCLUDES     =
    CXX             = /opt/bw/gcc12/bin/g++
CXXFLAGS = -std=c++11 -pedantic -pedantic-errors -g -O0 -fno-builtin -m64 -march=k8 -mtune=k8 -malign-double -mpc80 -mno-mmx -Wl,-rpath=/opt/bw/lib,--enable-new-dtags
    HASHBANGPERL    = /opt/bw/bin/perl
    LDFLAGS         =
    LDLIBS          =
    PERL            = /opt/bw/bin/perl
    RANLIB          = /usr/bin/ranlib
    RC              = windres
    RCFLAGS         =

NOTE: These variables only represent the configuration view.  The build file
template may have processed these variables further, please have a look at the
build file for more exact data:
    Makefile

build file:

    Makefile

build file templates:

    Configurations/common0.tmpl
    Configurations/unix-Makefile.tmpl


However the above is just whatever I have after a pile of guess and miss
and guess again and then miss again trials. It has almost become a game
with myself and a few friends watching this blow up over and over. At
the last guess I called out "what are the chances this works?" and the
reply from folks is "less than 10%". So far that has been correct.

So then ... what pray tell is the magic incantation whilst I face east
and bow to some silicon statue ?


--
Dennis Clarke
RISC-V/SPARC/PPC/ARM/CISC
UNIX and Linux spoken
GreyBeard and suspenders optional



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux