1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

shibby tomato compile error, undefined reference to EVP_AES_128_CBC

Discussion in 'Tomato Firmware' started by muziling, Oct 28, 2012.

  1. muziling

    muziling Serious Server Member

    #make n60g (my router is E3200)

    making all in apps...
    make[1]: Entering directory `/home/muziling/tomato/tomato-shibby-RT-N/release/src/router/openssl/apps'
    rm -f openssl
    shlib_target=; if [ -n "libcrypto.so.1.0.0 libssl.so.1.0.0" ]; then \
    shlib_target="linux-shared"; \
    elif [ -n "" ]; then \
    FIPSLD_CC="mipsel-uclibc-gcc"; CC=/usr/local/ssl/fips-2.0/bin/fipsld; export CC FIPSLD_CC; \
    fi; \
    LIBRARIES="-L/home/muziling/tomato/tomato-shibby-RT-N/release/src-rt/router/openssl -lssl -L/home/muziling/tomato/tomato-shibby-RT-N/release/src-rt/router/openssl -lcrypto" ; \
    # LIBRARIES="-L/home/muziling/tomato/tomato-shibby-RT-N/release/src-rt/router/openssl -lcrypto" ; \
    make -f ../Makefile.shared -e \
    APPNAME=openssl OBJECTS="openssl.o verify.o asn1pars.o req.o dgst.o dh.o dhparam.o enc.o passwd.o gendh.o errstr.o ca.o pkcs7.o crl2p7.o crl.o rsa.o rsautl.o dsa.o dsaparam.o ec.o ecparam.o x509.o genrsa.o gendsa.o genpkey.o s_server.o s_client.o speed.o s_time.o apps.o s_cb.o s_socket.o app_rand.o version.o sess_id.o ciphers.o nseq.o pkcs12.o pkcs8.o pkey.o pkeyparam.o pkeyutl.o spkac.o smime.o cms.o rand.o engine.o ocsp.o prime.o ts.o srp.o" \
    LIBDEPS=" $LIBRARIES -Wl,--gc-sections -ldl" \
    link_app.${shlib_target}
    make[2]: Entering directory `/home/muziling/tomato/tomato-shibby-RT-N/release/src/router/openssl/apps'
    /home/muziling/tomato/tomato-shibby-RT-N/release/src-rt/router/openssl/libssl.so: undefined reference to `EVP_aes_128_cbc'
    collect2: ld returned 1 exit status
    make[2]: *** [link_app.gnu] Error 1
     
  2. koitsu

    koitsu Network Guru Member

    You're going to need to disclose exactly what Shibby release/source file you're using -- or if you pulled it down using git, you're going to need to disclose the exact branch you're using. If you're using HEAD, then this may be something Shibby needs to look into.

    The error in question, by the way, indicates some source code uses the function EVP_aes_128_cbc() yet that function cannot be found within any of the linked objects or related libraries (dl, etc.).

    Note for Shibby -- I hope this isn't related to this thread where you said this. If so, I recommend backing out the patch ASAP.
     
  3. muziling

    muziling Serious Server Member

    I pull source code using git, git pull to newest yesterday.
    Branch is tomato-shibby-RT-N
    #cd release/src-rt
    #make n60g
     
  4. koitsu

    koitsu Network Guru Member

    See if you can figure out which commit rev caused the problem then (and I'm assuming you've been able to build the firmware with previous source revisions):

    http://repo.or.cz/w/tomato.git/shortlog/refs/heads/tomato-shibby-RT-N

    As stated, the issue shown pertains to OpenSSL. The issue could also be with your build environment but I have no idea -- Shibby will need to help there.
     
  5. lancethepants

    lancethepants Network Guru Member

    Just tried to compile shibby's latest on a box I had previously compiled on before. Debian 7. Tried with Shibby's new and old toolchain, so something else apparently. I've noticed with other stuff I've cross-compiled sometimes there are issues with certain packages installed that have to be removed because of clashes. Prolly just have to figure this one out, but just curious if anyone else ran into this and found a resolution.
     
  6. koitsu

    koitsu Network Guru Member

    Have you rebuilt the toolchain yourself? There was a recent thread discussing that fact, although I believe that was an x86 vs. x64 thing, but rebuilding the toolchain would be a good start.
     
  7. lancethepants

    lancethepants Network Guru Member

    Forgot to mention that I did. I tried the new one in git, and also compiled with the script in the toolchain folder. Both end up with the openssl error. x64 since I forgot to mention that earlier too.
     
  8. shibby20

    shibby20 Network Guru Member

    i`ll check it and let you know.
     
  9. shibby20

    shibby20 Network Guru Member

    it`s working for me. Fresh downloaded sources from git and compiled with make n60g. Result:
    You have something broken in sources. I removed libssl from libraries (it`s no needen no more). Only libcrypto should be compiled. Please re-download sources and remember to make distclean before each compilation.
     
  10. lancethepants

    lancethepants Network Guru Member

    It's something with my environment, a fresh installation of Debian 7 works better. One other question. Transmission is looking specifically for aclocal-1.13. Debian doesn't have the specific automake-1.13 version. Are you just compiling it, or just creating some symlink to get that to work?
     
  11. lancethepants

    lancethepants Network Guru Member

    I just dl'ed automake 1.13, compiled and installed it. Compilation successful.
     

Share This Page