Errors when compiling..

Help
Andrew R
2003-06-14
2003-09-11
  • Andrew R
    Andrew R
    2003-06-14

    When I try to compile the version of 6/4 from www.hacktivismo.com, I get some errors, which I will paste at the bottom of this message.
    I'm running RedHat 9, with kernel 2.4.20 on an i686.
    If you need to know the versions of any programs I have installed just ask.

    Here is the complete text from the second make:
    (It's the same as the first, except the stuff before the errors is not redone.)

    cd LinkLayer ; LINKLAYER=SSL BUILDOS=LINUX DEBUGGING=OFF MAKE=make make
    make[1]: Entering directory `/home/andrew/.ht/sixfour/LinkLayer'
    ln -sf Link_SSL.h Link.h
    g++ -Wall -DOS=LINUX -O2 -DUSES_SSL_LINKLAYER -c Link_SSL.cpp
    In file included from /usr/include/openssl/ssl.h:179,
                     from ssl_ctx.h:35,
                     from ssl.h:34,
                     from Link.h:39,
                     from Link_SSL.cpp:19:
    /usr/include/openssl/kssl.h:72:18: krb5.h: No such file or directory
    In file included from /usr/include/openssl/ssl.h:179,
                     from ssl_ctx.h:35,
                     from ssl.h:34,
                     from Link.h:39,
                     from Link_SSL.cpp:19:
    /usr/include/openssl/kssl.h:132: 'krb5_enctype' is used as a type, but is not
       defined as a type.
    /usr/include/openssl/kssl.h:134: parse error before `*' token
    /usr/include/openssl/kssl.h:147: parse error before `*' token
    /usr/include/openssl/kssl.h:151: parse error before `*' token
    /usr/include/openssl/kssl.h:153: parse error before `*' token
    /usr/include/openssl/kssl.h:155: parse error before `*' token
    /usr/include/openssl/kssl.h:157: parse error before `*' token
    /usr/include/openssl/kssl.h:159: `krb5_context' was not declared in this scope
    /usr/include/openssl/kssl.h:159: parse error before `,' token
    /usr/include/openssl/kssl.h:160: `krb5_context' was not declared in this scope
    /usr/include/openssl/kssl.h:160: parse error before `,' token
    /usr/include/openssl/kssl.h:163: `krb5_timestamp' was not declared in this
       scope
    /usr/include/openssl/kssl.h:163: parse error before `,' token
    /usr/include/openssl/kssl.h:165: parse error before `*' token
    /usr/include/openssl/kssl.h:167: `krb5_enctype' was not declared in this scope
    /usr/include/openssl/kssl.h:167: parse error before `,' token
    make[1]: *** [LinkLayer_SSL.o] Error 1
    make[1]: Leaving directory `/home/andrew/.ht/sixfour/LinkLayer'
    make: *** [all] Error 2

     
    • Here's mine whie we're at it (SuSE 8.0):

      make[1]: Leaving directory `/home/mrfett/Documents/Downloads/sixfour/ApplicationLayer/64socks'
      cd GenTPKey ; LINKLAYER=SSL BUILDOS=LINUX DEBUGGING=ON MAKE=make make
      make[1]: Entering directory `/home/mrfett/Documents/Downloads/sixfour/GenTPKey'
      gcc -Wall -o GenTP mktpkeys.c -lcrypto -s -static
      /usr/lib/libcrypto.a(dso_dlfcn.o): In function `dlfcn_load':
      dso_dlfcn.o(.text+0xa5): undefined reference to `dlopen'
      dso_dlfcn.o(.text+0xb7): undefined reference to `dlopen'
      dso_dlfcn.o(.text+0x11b): undefined reference to `dlclose'
      /usr/lib/libcrypto.a(dso_dlfcn.o): In function `dlfcn_bind_var':
      dso_dlfcn.o(.text+0x1da): undefined reference to `dlsym'
      /usr/lib/libcrypto.a(dso_dlfcn.o): In function `dlfcn_bind_func':
      dso_dlfcn.o(.text+0x2aa): undefined reference to `dlsym'
      /usr/lib/libcrypto.a(dso_dlfcn.o): In function `dlfcn_unload':
      dso_dlfcn.o(.text+0x397): undefined reference to `dlclose'
      collect2: ld returned 1 exit status
      make[1]: *** [all] Error 1
      make[1]: Leaving directory `/home/mrfett/Documents/Downloads/sixfour/GenTPKey'
      make: *** [all] Error 2

       
    • Bob Bostwick
      Bob Bostwick
      2003-07-18

      Pilot1, I am getting the exact same error.  I have tried RedHat 7.3, 8.0, & 9.0, SuSE 8.0, and OpenBSD 3.1, and 3.2.  All of which have given me the same results.  In fact I have not talked to anyone that actually got it up and running.  I have read about it, but it seems almost myth like...

       
    • the answer to my problem was fairly straightforward:

      the Makefile in the GenTPKey directory needs to be edited. I added "-ldl" after linking against "-lcrypto" and it compiled fine. Hope this helps someone.

       
    • Mark
      Mark
      2003-09-02

      I can't seem to get past this error when I compile:

      $ make
      cd LinkLayer ; LINKLAYER=SSL BUILDOS=WIN32 DEBUGGING=OFF MAKE=make make
      make[1]: Entering directory `/cygdrive/c/sixfour/LinkLayer'
      ./SSLkey.sh ../CONFIG/node2node.pem
      Generating a 2048 bit RSA private key
      .....................+++
      ..........................................................+++
      writing new private key to '../CONFIG/node2node.pem'
      -----
      2+0 records in
      2+0 records out
      1024 semi-random bytes loaded
      Generating DH parameters, 512 bit long safe prime, generator 2
      This is going to take a long time
      .....+........+................+..............+.................................
      ................................................+....+..+.......................
      ........+.................+..+..+.......+................+..........++*++*++*++*
      ++*++*
      ln -sf Link_SSL.h Link.h
      g++ -Wall -DOS=WIN32 -O2 -DUSES_SSL_LINKLAYER -c Link_SSL.cpp
      g++ -Wall -DOS=WIN32 -O2 -DUSES_SSL_LINKLAYER -c LinkLayer_SSL.cpp
      g++ -Wall -DOS=WIN32 -O2 -DUSES_SSL_LINKLAYER -c ssl.cpp
      g++ -Wall -DOS=WIN32 -O2 -DUSES_SSL_LINKLAYER -c ssl_ctx.cpp
      g++ -Wall -DOS=WIN32 -O2 -DUSES_SSL_LINKLAYER -c compat.cpp
      compat.cpp: In function `int timed_connect(int, sockaddr*, int)':
      compat.cpp:112: `siginterrupt' undeclared (first use this function)
      compat.cpp:112: (Each undeclared identifier is reported only once for each
         function it appears in.)
      make[1]: *** [LinkLayer_SSL.o] Error 1
      make[1]: Leaving directory `/cygdrive/c/sixfour/LinkLayer'
      make: *** [all] Error 2

      I'm running Cygwin on a WindowsXP box.  Any help would be greatly appreciated.

       
    • Andrew R
      Andrew R
      2003-09-11

      I never was able to get 6/4 to work, but I did get it to compile.
      Basically you need to find which libraries need to be added to the Makefile, and just add /path/to/lib/file.a to the Makefile
      You can check which libs contain a given ref with 'nm <lib> | grep <ref>'.  E.g., valid_cksumtype is in libkrb5. Just use that to find out which libs you need to add to the Makefile.