dragonfly icon indicating copy to clipboard operation
dragonfly copied to clipboard

install dragonfly-0.9.1 by source code, happend problems (glibc install and dragonfly startup)

Open tiandong19860806 opened this issue 3 years ago • 5 comments

Discussed in https://github.com/dragonflydb/dragonfly/discussions/441

Originally posted by tiandong19860806 October 27, 2022 Hi all,

Do you have some problem about install the dragonfly-0.9.1 by source code building?

Below content, it's my installation of dragonfly-0.9.1.

I take many time, the last step (glibc-2.29 build install) is failed and difficulty.

Part I : enviroment as below: (1.0) OS OS : CentOS 7.9 x64 uname -a: Linux CNT7XDFLY01 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

(1.1) reference software: automake automake = 1.16.1
m4 = 1.4.18
autoconf = 2.69
gcc = 4.8.5-44.el7 gcc-c++ = 4.8.5-44.el7

(1.2) reference software: make make = 4.2.1 libtool = 2.4.2-22.el7_3 gettext-devel = 0.19.8.1-3.el7

(1.3) reference software: gcc gcc = 12.2.0 m4 = 1.4.18 gmp = 6.2.1 mpfr = 4.1.0 mpc = 1.2.1 isl = 0.24

(1.4) reference software: glibc glibc = 2.29 ( ** install failed , many times always is failed ** ) cpp = 4.8.5-44.el7 binutils = 2.27-44.base.el7_9.1 python3 = 3.6.8-18.el7 bison = 3.0.4-2.el7

(1.5) Startup dragonfly or execute --help: DragonFly : 0.9.1

Part II : installation happened problem. (2.1) glibc-2.29 execute command 'make', happened error as below: step 4 install glibc

[root@CNT7XDFLY01 build]# pwd /home/soft/glibc/glibc-2.29/build [root@CNT7XDFLY01 build]# [root@CNT7XDFLY01 build]# ../configure --prefix=/usr/local/glibc --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin checking build system type... x86_64-pc-linux-gnu checking host system type... x86_64-pc-linux-gnu checking for gcc... gcc checking for suffix of object files... configure: error: in /home/soft/glibc/glibc-2.29/build': configure: error: cannot compute suffix of object files: cannot compile See config.log' for more details [root@CNT7XDFLY01 build]#

(2.2) dragonfly startup or execute '--help' command, happened error as below: step 5 startup dragonfly ./dragonfly --help ( or ./dragonfly # other starup command )

[root@CNT7XDFLY01 ~]# export DRAGONFLY_HOME=/home/app/dragonfly/dragonfly-0.9.1 [root@CNT7XDFLY01 ~]# cd $DRAGONFLY_HOME/ [root@CNT7XDFLY01 dragonfly-0.9.1]# ./dragonfly --help ./dragonfly: /lib64/libm.so.6: version GLIBC_2.29' not found (required by ./dragonfly) ./dragonfly: /lib64/libstdc++.so.6: version GLIBCXX_3.4.20' not found (required by ./dragonfly) ./dragonfly: /lib64/libstdc++.so.6: version CXXABI_1.3.8' not found (required by ./dragonfly) ./dragonfly: /lib64/libstdc++.so.6: version GLIBCXX_3.4.22' not found (required by ./dragonfly) ./dragonfly: /lib64/libstdc++.so.6: version GLIBCXX_3.4.26' not found (required by ./dragonfly) ./dragonfly: /lib64/libstdc++.so.6: version GLIBCXX_3.4.21' not found (required by ./dragonfly) ./dragonfly: /lib64/libstdc++.so.6: version GLIBCXX_3.4.28' not found (required by ./dragonfly) ./dragonfly: /lib64/libc.so.6: version GLIBC_2.27' not found (required by ./dragonfly) ./dragonfly: /lib64/libc.so.6: version GLIBC_2.30' not found (required by ./dragonfly) ./dragonfly: /lib64/libc.so.6: version GLIBC_2.25' not found (required by ./dragonfly) [root@CNT7XDFLY01 dragonfly-0.9.1]#

tiandong19860806 avatar Oct 28 '22 05:10 tiandong19860806

I execute the installation step and command ,as below files:

step 1: 01-intall-automake.txt

step 2: 02-install-make.txt

step 3: 03-install-gcc.txt

step 4: 04-install-glibc.txt

step 5: 05-install-dragonfly.txt

tiandong19860806 avatar Oct 28 '22 05:10 tiandong19860806

@tiandong19860806 this linux it too old. Try running via docker - maybe it will work.

romange avatar Oct 28 '22 05:10 romange

Hi @romange ,

Thanks, I know deploy dragonfly by using docker is easy and success, Because I want deploy dragonfly by binary file in machine to use less hardware resources.

comment : such as database or queue, use docker to deploy, it maybe consumes more hard disk IO and memory

tiandong19860806 avatar Oct 28 '22 07:10 tiandong19860806

And I use high version CentOS-8.5 to deploy dragonfly, also happened prblem at the steps 'install gcc-12.2.0 / glibc-2.29'

tiandong19860806 avatar Oct 28 '22 07:10 tiandong19860806

After I modify step 4, add gcc libary path as below:

export LD_LIBRARY_PATH=/usr/local/mpc/lib:/usr/local/gmp/lib:/usr/local/mpfr/lib:/usr/local/isl/lib

then execute glibc build command 'make -j8', the new result happened problem as below:

MT /home/soft/glibc/glibc-2.29/build/csu/dso_handle.os libc-tls.c: In function ‘__libc_setup_tls’: libc-tls.c:209:30: error: array subscript 1 is outside the bounds of an interior zero-length array ‘struct dtv_slotinfo[0]’ [-Werror=zero-length-bounds] 209 | static_slotinfo.si.slotinfo[1].map = main_map; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ In file included from ../sysdeps/x86/ldsodefs.h:64, from ../sysdeps/gnu/ldsodefs.h:46, from ../sysdeps/unix/sysv/linux/ldsodefs.h:25, from libc-tls.c:21: ../sysdeps/generic/ldsodefs.h:411:7: note: while referencing ‘slotinfo’ 411 | } slotinfo[0]; | ^~~~~~~~ gcc ../sysdeps/gnu/unwind-resume.c -c -std=gnu11 -fgnu89-inline -g -O2 -Wall -Wwrite-strings -Wundef -Werror -fmerge-all-constants -frounding-math -fno-stack-protector -Wstrict-prototypes -Wold-style-definition -fmath-errno -fPIC -fno-stack-protector -DSTACK_PROTECTOR_LEVEL=0 -fexceptions -fasynchronous-unwind-tables -ftls-model=initial-exec -I../include -I/home/soft/glibc/glibc-2.29/build/csu -I/home/soft/glibc/glibc-2.29/build -I../sysdeps/unix/sysv/linux/x86_64/64 -I../sysdeps/unix/sysv/linux/x86_64 -I../sysdeps/unix/sysv/linux/x86/include -I../sysdeps/unix/sysv/linux/x86 -I../sysdeps/x86/nptl -I../sysdeps/unix/sysv/linux/wordsize-64 -I../sysdeps/x86_64/nptl -I../sysdeps/unix/sysv/linux/include -I../sysdeps/unix/sysv/linux -I../sysdeps/nptl -I../sysdeps/pthread -I../sysdeps/gnu -I../sysdeps/unix/inet -I../sysdeps/unix/sysv -I../sysdeps/unix/x86_64 -I../sysdeps/unix -I../sysdeps/posix -I../sysdeps/x86_64/64 -I../sysdeps/x86_64/fpu/multiarch -I../sysdeps/x86_64/fpu -I../sysdeps/x86/fpu/include -I../sysdeps/x86/fpu -I../sysdeps/x86_64/multiarch -I../sysdeps/x86_64 -I../sysdeps/x86 -I../sysdeps/ieee754/float128 -I../sysdeps/ieee754/ldbl-96/include -I../sysdeps/ieee754/ldbl-96 -I../sysdeps/ieee754/dbl-64/wordsize-64 -I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754/flt-32 -I../sysdeps/wordsize-64 -I../sysdeps/ieee754 -I../sysdeps/generic -I.. -I../libio -I. -D_LIBC_REENTRANT -include /home/soft/glibc/glibc-2.29/build/libc-modules.h -DMODULE_NAME=libc -include ../include/libc-symbols.h -DPIC -DSHARED -DTOP_NAMESPACE=glibc -o /home/soft/glibc/glibc-2.29/build/csu/unwind-resume.os -MD -MP -MF /home/soft/glibc/glibc-2.29/build/csu/unwind-resume.os.dt -MT /home/soft/glibc/glibc-2.29/build/csu/unwind-resume.os cc1: all warnings being treated as errors make[2]: *** [../o-iterator.mk:9: /home/soft/glibc/glibc-2.29/build/csu/libc-tls.o] Error 1 make[2]: *** Waiting for unfinished jobs.... make[2]: Leaving directory '/home/soft/glibc/glibc-2.29/csu' make[1]: *** [Makefile:258: csu/subdir_lib] Error 2 make[1]: Leaving directory '/home/soft/glibc/glibc-2.29' make: *** [Makefile:9: all] Error 2 [root@CNT7XDFLY01 build]#

image

tiandong19860806 avatar Oct 28 '22 08:10 tiandong19860806

compiling glibc is outside of core specialty of this project :)

romange avatar Oct 31 '22 13:10 romange

Hi @romange ,

Could you give us a suggest, the list of software name and version about source code installing dragonfly.

because we want install dragonfly in machine not docker at some scene.

Thanks.

tiandong19860806 avatar Nov 01 '22 02:11 tiandong19860806