Fw: Building openssl outside of the source tree" doesn't work well

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Fw: Building openssl outside of the source tree" doesn't work well

dengwenbin_0301
Dear,

Please help check this. I attached the config dump in previous email.

Thanks,
Wenbin
--------- Forwarded Message ---------
Date: 05/27/2019 14:24
Subject: Re:Re: Fw:Re:Re: Building openssl outside of the source tree" doesn't work well
Sorry, the previously attached dump might too large to send out successfully. I copied it directly here.

Command line (with current working directory = .):

    /usr/bin/perl ../Configure linux-x86_64

Perl information:

    /usr/bin/perl
    5.22.1 for x86_64-linux-gnu-thread-multi

Enabled features:

    afalgeng
    aria
    asm
    async
    autoalginit
    autoerrinit
    autoload-config
    bf
    blake2
    camellia
    capieng
    cast
    chacha
    cmac
    cms
    comp
    crmf
    ct
    deprecated
    des
    dgram
    dh
    dsa
    dtls
    dynamic-engine
    ec
    ec2m
    ecdh
    ecdsa
    engine
    err
    filenames
    fips
    gost
    idea
    legacy
    makedepend
    md4
    mdc2
    module
    multiblock
    nextprotoneg
    pinshared
    ocb
    ocsp
    padlockeng
    pic
    poly1305
    posix-io
    psk
    rc2
    rc4
    rdrand
    rfc3779
    rmd160
    scrypt
    seed
    shared
    siphash
    siv
    sm2
    sm3
    sm4
    sock
    srp
    srtp
    sse2
    ssl
    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:

    ktls                    [default] OPENSSL_NO_KTLS
    asan                    [default] OPENSSL_NO_ASAN
    buildtest-c++           [default]
    crypto-mdebug           [default] OPENSSL_NO_CRYPTO_MDEBUG
    crypto-mdebug-backtrace [default] OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE
    devcryptoeng            [default] OPENSSL_NO_DEVCRYPTOENG
    ec_nistp_64_gcc_128     [default] OPENSSL_NO_EC_NISTP_64_GCC_128
    egd                     [default] OPENSSL_NO_EGD
    external-tests          [default] OPENSSL_NO_EXTERNAL_TESTS
    fuzz-libfuzzer          [default] OPENSSL_NO_FUZZ_LIBFUZZER
    fuzz-afl                [default] OPENSSL_NO_FUZZ_AFL
    md2                     [default] OPENSSL_NO_MD2 (skip crypto/md2)
    msan                    [default] OPENSSL_NO_MSAN
    rc5                     [default] OPENSSL_NO_RC5 (skip crypto/rc5)
    sctp                    [default] OPENSSL_NO_SCTP
    ssl-trace               [default] OPENSSL_NO_SSL_TRACE
    trace                   [default] OPENSSL_NO_TRACE
    ubsan                   [default] OPENSSL_NO_UBSAN
    unit-test               [default] OPENSSL_NO_UNIT_TEST
    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 => "r",
    CC => "gcc",
    CFLAGS => "-Wall -O3",
    CXX => "g++",
    CXXFLAGS => "-Wall -O3",
    HASHBANGPERL => "/usr/bin/env perl",
    RANLIB => "ranlib",
    RC => "windres",
    aes_asm_src => "aes-x86_64.s vpaes-x86_64.s bsaes-x86_64.s aesni-x86_64.s aesni-sha1-x86_64.s aesni-sha256-x86_64.s aesni-mb-x86_64.s",
    aes_obj => "aes-x86_64.o vpaes-x86_64.o bsaes-x86_64.o aesni-x86_64.o aesni-sha1-x86_64.o aesni-sha256-x86_64.o aesni-mb-x86_64.o",
    apps_aux_src => "",
    apps_init_src => "",
    apps_obj => "",
    bf_asm_src => "bf_enc.c",
    bf_obj => "bf_enc.o",
    bn_asm_src => "asm/x86_64-gcc.c x86_64-mont.s x86_64-mont5.s x86_64-gf2m.s rsaz_exp.c rsaz-x86_64.s rsaz-avx2.s",
    bn_obj => "asm/x86_64-gcc.o x86_64-mont.o x86_64-mont5.o x86_64-gf2m.o rsaz_exp.o rsaz-x86_64.o rsaz-avx2.o",
    bn_ops => "SIXTY_FOUR_BIT_LONG",
    build_file => "Makefile",
    build_scheme => [ "unified", "unix" ],
    cast_asm_src => "c_enc.c",
    cast_obj => "c_enc.o",
    cflags => "-pthread -m64",
    chacha_asm_src => "chacha-x86_64.s",
    chacha_obj => "chacha-x86_64.o",
    cmll_asm_src => "cmll-x86_64.s cmll_misc.c",
    cmll_obj => "cmll-x86_64.o cmll_misc.o",
    cppflags => "",
    cpuid_asm_src => "x86_64cpuid.s",
    cpuid_obj => "x86_64cpuid.o",
    cxxflags => "-std=c++11 -pthread -m64",
    defines => [  ],
    des_asm_src => "des_enc.c fcrypt_b.c",
    des_obj => "des_enc.o fcrypt_b.o",
    disable => [  ],
    dso_ldflags => "-z defs",
    dso_scheme => "dlfcn",
    ec_asm_src => "ecp_nistz256.c ecp_nistz256-x86_64.s x25519-x86_64.s",
    ec_obj => "ecp_nistz256.o ecp_nistz256-x86_64.o x25519-x86_64.o",
    enable => [ "afalgeng" ],
    ex_libs => "-ldl -pthread",
    includes => [  ],
    keccak1600_asm_src => "keccak1600-x86_64.s",
    keccak1600_obj => "keccak1600-x86_64.o",
    lflags => "",
    lib_cflags => "",
    lib_cppflags => "-DOPENSSL_USE_NODELETE -DL_ENDIAN",
    lib_defines => [  ],
    md5_asm_src => "md5-x86_64.s",
    md5_obj => "md5-x86_64.o",
    modes_asm_src => "ghash-x86_64.s aesni-gcm-x86_64.s",
    modes_obj => "ghash-x86_64.o aesni-gcm-x86_64.o",
    module_cflags => "-fPIC",
    module_cxxflags => "",
    module_ldflags => "-Wl,-znodelete -shared -Wl,-Bsymbolic",
    multilib => "64",
    padlock_asm_src => "e_padlock-x86_64.s",
    padlock_obj => "e_padlock-x86_64.o",
    perl_platform => "Unix",
    perlasm_scheme => "elf",
    poly1305_asm_src => "poly1305-x86_64.s",
    poly1305_obj => "poly1305-x86_64.o",
    rc4_asm_src => "rc4-x86_64.s rc4-md5-x86_64.s",
    rc4_obj => "rc4-x86_64.o rc4-md5-x86_64.o",
    rc5_asm_src => "rc5_enc.c",
    rc5_obj => "rc5_enc.o",
    rmd160_asm_src => "",
    rmd160_obj => "",
    sha1_asm_src => "sha1-x86_64.s sha256-x86_64.s sha512-x86_64.s sha1-mb-x86_64.s sha256-mb-x86_64.s",
    sha1_obj => "sha1-x86_64.o sha256-x86_64.o sha512-x86_64.o sha1-mb-x86_64.o sha256-mb-x86_64.o",
    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>",
    uplink_aux_src => "",
    uplink_obj => "",
    wp_asm_src => "wp-x86_64.s",
    wp_obj => "wp-x86_64.o",

Recorded environment:

    AR =
    ARFLAGS =
    AS =
    ASFLAGS =
    BUILDFILE =
    CC =
    CFLAGS =
    CPP =
    CPPDEFINES =
    CPPFLAGS =
    CPPINCLUDES =
    CROSS_COMPILE =
    CXX =
    CXXFLAGS =
    HASHBANGPERL =
    LD =
    LDFLAGS =
    LDLIBS =
    MT =
    MTFLAGS =
    OPENSSL_LOCAL_CONFIG_DIR =
    PERL =
    RANLIB =
    RC =
    RCFLAGS =
    RM =
    WINDRES =
    __CNF_CFLAGS =
    __CNF_CPPDEFINES =
    __CNF_CPPFLAGS =
    __CNF_CPPINCLUDES =
    __CNF_CXXFLAGS =
    __CNF_LDFLAGS =
    __CNF_LDLIBS =

Makevars:

    AR              = ar
    ARFLAGS         = r
    CC              = gcc
    CFLAGS          = -Wall -O3
    CPPDEFINES      =
    CPPFLAGS        =
    CPPINCLUDES     =
    CXX             = g++
    CXXFLAGS        = -Wall -O3
    HASHBANGPERL    = /usr/bin/env perl
    LDFLAGS         =
    LDLIBS          =
    PERL            = /usr/bin/perl
    RANLIB          = 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
    ../Configurations/common.tmpl


Thanks,
Wenbin

zAt 2019-05-24 20:23:58, "Richard Levitte" <[hidden email]> wrote:
>Well, those -I options are directly generated from 'INCLUDE'
>statements in build.info files.
>
>Would you mind giving me the output from this command?
>
>    perl configdata.pm --dump
>
>Cheers,
>Richard
>
>On Fri, 24 May 2019 04:45:11 +0200,
>dengwenbin_0301 wrote:
>> 
>> 
>> I tried on openssl-1.1.1a and openssl-1.1.1b and they all have the same issue. I think it has
>> something to do with my env. But i am not able to figure out what is the cause.
>> 
>> Thanks,
>> Wenbin
>> 
>> -------- Forwarding messages --------
>> From: "dengwenbin_0301" <[hidden email]>
>> Date: 2019-05-22 09:40:19
>> To: "Richard Levitte" <[hidden email]>
>> Subject: Re:Re: Building openssl outside of the source tree" doesn't work well
>> Thanks for your reply, Richard.
>> 
>> Yes,  the "-Iinclude -Iapps/include" is missing. I don't know why this happened. I attached the
>> the configdata.pm and its dump. Please help have a check.
>> 
>> wdeng@pek-dliu4-u1:~/wenbindfiles/openssl/openssl/obj [master]$ git log -n 1
>> commit d3136af3c3905a730bd8fb44158aab36a2549d9b
>> Author: Richard Levitte <[hidden email]>
>> Date:   Sat May 18 16:24:21 2019 -0700
>> 
>>     Configure: let platform->dsoext() default with platform->shlibextsimple()
>>    
>>     We still use '.so' as a last resort...
>>    
>>     Fixes #8950
>>    
>>     Reviewed-by: Tim Hudson <[hidden email]>
>>     (Merged from https://github.com/openssl/openssl/pull/8951)
>> 
>> At 2019-05-21 11:47:14, "Richard Levitte" <[hidden email]> wrote:
>> >On Tue, 21 May 2019 03:26:41 +0200,
>> >dengwenbin_0301 wrote:
>> >> 
>> >> wdeng@pek-dliu4-u1:~/wenbindfiles/openssl/openssl [master]$ cd obj/
>> >> 
>> >> wdeng@pek-dliu4-u1:~/wenbindfiles/openssl/openssl/obj [master]$ ../config
>> >> Operating system: x86_64-whatever-linux2
>> >> Configuring OpenSSL version 3.0.0-dev for target linux-x86_64
>> >> Using os-specific seed configuration
>> >> Creating configdata.pm
>> >> Creating Makefile
>> >> 
>> >> **********************************************************************
>> >> ***                                                                ***
>> >> ***   OpenSSL has been successfully configured                     ***
>> >> ***                                                                ***
>> >> ***   If you encounter a problem while building, please open an    ***
>> >> ***   issue on GitHub <https://github.com/openssl/openssl/issues> ; ***
>> >> ***   and include the output from the following command:           ***
>> >> ***                                                                ***
>> >> ***       perl configdata.pm --dump                                ***
>> >> ***                                                                ***
>> >> ***   (If you are new to OpenSSL, you might want to consult the    ***
>> >> ***   'Troubleshooting' section in the INSTALL file first)         ***
>> >> ***                                                                ***
>> >> **********************************************************************
>> >> wdeng:~/wenbindfiles/openssl/openssl/obj [master]$ make
>> >> make depend && make _all
>> >> make[1]: Entering directory '/folk/wdeng/wenbindfiles/openssl/openssl/obj'
>> >> make[1]: Leaving directory '/folk/wdeng/wenbindfiles/openssl/openssl/obj'
>> >> make[1]: Entering directory '/folk/wdeng/wenbindfiles/openssl/openssl/obj'
>> >> gcc   -fPIC -pthread -m64 -Wa,--noexecstack -Wall -O3 -DOPENSSL_USE_NODELETE -DL_ENDIAN
>> >> -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5
>> >> -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM
>> >> -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM
>> >> -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr
>> >> /local/lib/ossl-modules\"" -DNDEBUG  -MMD -MF apps/libapps-lib-app_rand.d.tmp -MT apps/
>> >> libapps-lib-app_rand.o -c -o apps/libapps-lib-app_rand.o ../apps/app_rand.c
>> >> ../apps/app_rand.c:10:18: fatal error: apps.h: No such file or directory
>> >> compilation terminated.
>> >> Makefile:826: recipe for target 'apps/libapps-lib-app_rand.o' failed
>> >> make[1]: *** [apps/libapps-lib-app_rand.o] Error 1
>> >> make[1]: Leaving directory '/folk/wdeng/wenbindfiles/openssl/openssl/obj'
>> >> Makefile:165: recipe for target 'all' failed
>> >> make: *** [all] Error 2
>> >
>> >I tried exactly that just now, exactly same 'obj' ubdirectory, and it
>> >works with no problem.
>> >
>> >Something I'm noticing from your command line is that all -I options
>> >that I expect to see there are gone.  This is what I expect (note that
>> >I go directly at the object file for demonstration purposes):
>> >
>> >    : ; make apps/libapps-lib-app_rand.o 
>> >    gcc  -I. -Iinclude -Iapps/include -I.. -I../include
>> >    -I../apps/include  -fPIC -pthread -m64 -Wa,--noexecstack -Wall -O3
>> >    -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC
>> >    -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT
>> >    -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM
>> >    -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM
>> >    -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM
>> >    -DX25519_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\""
>> >    -DENGINESDIR="\"/usr/local/lib/engines-3\""
>> >    -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -DNDEBUG  -MMD -MF
>> >    apps/libapps-lib-app_rand.d.tmp -MT apps/libapps-lib-app_rand.o -c
>> >    -o apps/libapps-lib-app_rand.o ../apps/app_rand.c
>> >
>> >So the question is what happened to '-I. -Iinclude -Iapps/include
>> >-I.. -I../include -I../apps/include' in your build.
>> >
>> >I cannot say right now, but it might help if you show the output from
>> >'./configdata.pm --dump'
>> >
>> >Cheers,
>> >Richard
>> >
>> >-- 
>> >Richard Levitte         [hidden email]
>> >OpenSSL Project         http://www.openssl.org/~levitte/
>> 
>> 
>> 
>> 
>-- 
>Richard Levitte         [hidden email]
>OpenSSL Project         http://www.openssl.org/~levitte/