hello, I tried to build using cross compiler (arm32 on amd64). sorry for screenshot. Willy, do you mean errors like that ?
[image: Screenshot from 2020-01-23 13-03-49.png] ср, 6 нояб. 2019 г. в 12:26, Willy Tarreau <w...@1wt.eu>: > Hi Ilya, > > On Tue, Nov 05, 2019 at 07:20:43PM +0500, ???? ??????? wrote: > > only arm64 are available. > > we can try arm using cross build, for example. > > Then don't bother with this, it's likely then that they will not > have all the environment available. Maybe even their hardware does > not support arm32 at all. It was just a suggestion to try to optimize > the solution but even arm64 is already nice to have. > > > is it common way to use cross build for building haproxy ? > > Yes it is. Actually I don't think I've built it natively for a very > long time now, as even on my laptop I'm used to stick to the cross- > compilers which are distributed on the distcc build farm running on > the lab load generators :-) > > In practice just pass "CC=/path/to/gcc" and let it do its job. It will > automatically use LD=$(CC) if you don't override it. You may have to > pass PCRE_INC/PCRE_LIB, SSL_INC/SSL_LIB, LUA_INC/LUA_LIB but that's > about all. > > Just for reference here's the command line I'm using when building > (and a variant with -O0 which builds in 3.5 seconds). It may look > large because I force all debugging options but it's in a script so > I don't have to type it :-) > > PATH=/f/tc/x86_64-gcc47_glibc218-linux-gnu/bin:$PATH make -j 120 > TMPDIR=/dev/shm DISTCC_FALLBACK=0 DISTCC_SKIP_LOCAL_RETRY=0 > DISTCC_BACKOFF_PERIOD=0 DISTCC_PAUSE_TIME_MSEC=50 > DISTCC_HOSTS="--localslots_cpp=120 10.0.0.235/120,lzo" > CC=/g/public/linux/master/x86_64-gcc47_glibc218-linux-gnu-gcc > TARGET=linux-glibc DEP= USE_PCRE=1 PCREDIR= > DEFINE="-DDEBUG_DONT_SHARE_POOLS -DDEBUG_MEMORY_POOLS -DDEBUG_UAF > -DDEBUG_EXPR -DDEBUG_STRICT -DDEBUG_DEV" USE_OPENSSL=1 USE_ZLIB=1 USE_LUA=1 > LUA_LIB_NAME=lua EXTRA= USE_SLZ=1 SLZ_INC=/g/public/slz/src > SLZ_LIB=/g/public/slz USE_ZLIB= USE_DEVICEATLAS=1 > DEVICEATLAS_SRC=contrib/deviceatlas USE_51DEGREES=1 > 51DEGREES_SRC=contrib/51d/src/trie USE_WURFL=1 WURFL_INC=contrib/wurfl > WURFL_LIB=contrib/wurfl CPU_CFLAGS="-O2" "$@" > > When testing with various local openssl branches I do have another variant > of this which uses the local, native pre-processor and linkers, and remote > compilers. It's a bit ugly since they're not on the same version but in > practice it works fine. > > Cheers, > Willy >