memtier_benchmark icon indicating copy to clipboard operation
memtier_benchmark copied to clipboard

when install the memtier, I got the error "./configure: line 5167: syntax error near unexpected token `LIBEVENT_OPENSSL,'"

Open gxkevin opened this issue 4 years ago • 10 comments

when install the memtier, I got the error

  ./configure: line 5167: syntax error near unexpected token `LIBEVENT_OPENSSL,'
  ./configure: line 5167: `       PKG_CHECK_MODULES(LIBEVENT_OPENSSL,'

OS : Centos libevent-2.0.22-stable has been installed

My install step is:

 1: install libevent, 
         wget https://github.com/libevent/libevent/releases/download/release-2.0.22-stable/libevent-2.0.22-stable.tar.gz
         tar xvzf libevent-2.0.22-stable.tar.gz
         cd libevent-2.0.22-stable
        ./configure
         make && make install

  2: config the libevent
           echo "export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:\${PKG_CONFIG_PATH}" >> /etc/profile
           source /etc/profile
            ldconfig /usr/local/lib

 3: install memtier_benchmark-1.3.0
         autoreconf -ivf
        ./configure --prefix=/usr/local/memtier       
   now , got the error above

gxkevin avatar Apr 25 '21 08:04 gxkevin

@gxkevin Looks like an autoconf issue, make sure you have pkg-config installed before running autoreconf.

yossigo avatar Apr 25 '21 09:04 yossigo

@gxkevin Looks like an autoconf issue, make sure you have pkg-config installed before running autoreconf.

yes,I have already install the pkg-config @yossigo

 []# which pkg-config
      /usr/bin/pkg-config
    pkg-config -version
        1.4.2

gxkevin avatar Apr 25 '21 10:04 gxkevin

@gxkevin But also please confirm that you've executed autoreconf after the package was installed. Otherwise the generated configure script would not work.

yossigo avatar Apr 25 '21 11:04 yossigo

I am having same problem. what would be right way to fix if package was installed after executing autoreconf ?

tgupta-adc avatar Apr 25 '22 15:04 tgupta-adc

@tgupta-adc autoreconf -ivf should be able to set up the build tree properly. If that's not working, please provide information about your OS / Linux Distro / Version.

yossigo avatar Apr 25 '22 16:04 yossigo

@yossigo Probably I have different issue. I am seeing this error . I am using CentOS Linux release 7.8.2003 shard_connection.cpp:198:79: error: ‘bufferevent_openssl_socket_new’ was not declared in this scope sockfd, ctx, BUFFEREVENT_SSL_CONNECTING, BEV_OPT_CLOSE_ON_FREE); ^ shard_connection.cpp: In member function ‘void shard_connection::handle_event(short int)’: shard_connection.cpp:518:61: error: ‘bufferevent_get_openssl_error’ was not declared in this scope while ((sslerr = bufferevent_get_openssl_error(m_bev))) { ^ make[1]: *** [memtier_benchmark-shard_connection.o] Error 1

tgupta-adc avatar Apr 25 '22 16:04 tgupta-adc

@tgupta-adc Did you run ./configure successfully before attempting to build?

yossigo avatar Apr 25 '22 17:04 yossigo

yes. Adding last couple of lines of output checking pthread.h usability... yes checking pthread.h presence... yes checking for pthread.h... yes checking pcre.h usability... yes checking pcre.h presence... yes checking for pcre.h... yes checking zlib.h usability... yes checking zlib.h presence... yes checking for zlib.h... yes checking event2/event.h usability... yes checking event2/event.h presence... yes checking for event2/event.h... yes checking whether stat file-mode macros are broken... no checking for size_t... yes checking for stdlib.h... (cached) yes checking for GNU libc compatible malloc... yes checking for working memcmp... yes checking for gettimeofday... yes checking for memchr... yes checking for memset... yes checking for socket... yes checking for strerror... yes checking for random_r... yes checking for drand48... yes checking for pkg-config... /bin/pkg-config checking pkg-config is at least version 0.9.0... yes checking for LIBEVENT_OPENSSL... yes checking for LIBSSL... yes checking for LIBCRYPTO... yes checking for library containing clock_gettime... none required checking for pcre_compile in -lpcre... yes checking for deflateInit_ in -lz... yes checking for pthread_create in -lpthread... yes checking for gai_strerror in -lsocket... no checking for LIBEVENT... yes checking for BASH_COMPLETION... no checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating config.h config.status: config.h is unchanged config.status: executing depfiles commands config.status: executing libtool commands

tgupta-adc avatar Apr 25 '22 17:04 tgupta-adc

I was able to get is working on Ubuntu20.04 VM, Centos is still a problem, but not a blocker for me

tgupta-adc avatar Apr 25 '22 18:04 tgupta-adc

@tgupta-adc Strange, because the configure script should confirm libevent_openssl is available before enabling it. I also don't see this reproducing on a vanilla CentOS environment, so it might be something special in your setup.

yossigo avatar Apr 26 '22 14:04 yossigo

@yossigo Hello! I'm totally follow the steps on the README.md, but also meet this problem . ./configure: line 5665: syntax error near unexpected token LIBEVENT_OPENSSL, ./configure: line 5665: PKG_CHECK_MODULES(LIBEVENT_OPENSSL,

My OS information as follows: Operating System: CentOS Linux 7 (Core) Kernel: Linux 3.10.0-1127.el7.x86_64

And my libevent version is libevent-2.0.22-stable.

But I execute ./configure successfully on another machine with Ubuntu 22.04.3 LTS and 5.15.0-88-generic kernel.

Jude-Lu avatar Nov 17 '23 07:11 Jude-Lu

@Jude-Lu Make sure you have pkgconfig installed, and run autoreconf -ivf prior to executing ./configure to refresh the script.

yossigo avatar Nov 20 '23 15:11 yossigo

@yossigo I have fixed the bug using four steps :)

  1. upgraded the pkg-config from 0.27 version to 0.29. But it still reports an error: cannot find libssl;
  2. located the direction of libssl using 'ldconfig -p | grep libssl';
  3. found the libssl.pc using find /lib64/ -name libssl.pc 2>/dev/null. The /lib64 is the output of step 2 on my machine;
  4. exportd the output of step 3, /lib64/pkgconfig/, to the enviroment variable PKG_CONFIG_PATH.

@yossigo Hello! I'm totally follow the steps on the README.md, but also meet this problem . ./configure: line 5665: syntax error near unexpected token LIBEVENT_OPENSSL, ./configure: line 5665: PKG_CHECK_MODULES(LIBEVENT_OPENSSL,

My OS information as follows: Operating System: CentOS Linux 7 (Core) Kernel: Linux 3.10.0-1127.el7.x86_64

And my libevent version is libevent-2.0.22-stable.

But I execute ./configure successfully on another machine with Ubuntu 22.04.3 LTS and 5.15.0-88-generic kernel.

Jude-Lu avatar Nov 21 '23 11:11 Jude-Lu