usermod -a -G sudo xxxxx
usermod -a -G sudo xxxxx
CC =  arm-linux-gnueabihf-gcc#这里使用你板子编译的gcc最好指定有路径的更明确
LVGL_DIR ?= $(shell pwd)/..#创建lvgl的根目录
LVGL_DIR_NAME ?= lvgl
CFLAGS ?= -O3 -g0 -I$(LVGL_DIR)/
LDFLAGS ?= -lm -lpthread
BIN = bbu_base_func
MAINSRC = ../main.c ../tcp_server.c ../lx2160_fan.c ../lx2160_tmp.c ../lxspi_gd32.c ../clk_sync.c
include $(LVGL_DIR)/lvgl/lvgl.mk
include $(LVGL_DIR)/lv_drivers/lv_drivers.mk
OBJEXT ?= .o
AOBJS = $(ASRCS:.S=$(OBJEXT))
COBJS = $(CSRCS:.c=$(OBJEXT))
MAINOBJ = $(MAINSRC:.c=$(OBJEXT))
SRCS = $(ASRCS) $(CSRCS) $(MAINSRC)
OBJS = $(AOBJS) $(COBJS)
all: default
%.o: %.c
        @$(CC)  $(CFLAGS) -c $(INCLUDES) $< -o $@
        @echo "CC $<"
default: $(AOBJS) $(COBJS) $(MAINOBJ)
        $(CC) -static -o $(BIN) $(MAINOBJ) $(AOBJS) $(COBJS) $(LDFLAGS)
        cp $(BIN) ../
clean:
        rm -f $(BIN) $(AOBJS) $(COBJS) $(MAINOBJ)
1、查看磁盘使用大小:
df -h

2、查看目录占用大小

cat /proc/kallsyms  grep fib4 rule default
1、下载源文件
http://ftp.gnu.org/pub/gnu/ncurses/
Tags · mirror/ncurses (github.com)
Ncurses project files : Ncurses (launchpad.net)
2、加压并配置
./configure  --prefix=/usr/aarch64-linux-gnu --host=aarch64-linux  CC=aarch64-linux-gnu-gcc --without-cxx --without-cxx-binding --without-ada --without-manpages --enable-overwrite --without-debug --without-tests --with-shared --without-tests --without-progs
3、编译并安装
make&&make install
make cfg all tgt=rom ARCH=mips CROSS_COMPILE=mipsel-linux- DEBUG=-g
第一部分:ARCH=mips CROSS_COMPILE=mipsel-linux- DEBUG=-g
ARCH=mips 设置了平台是mips平台
CROSS_COMPILE=mipsel-linux-  设置交叉编译器前缀,在编译时会替换成mipsel-linux-,之所以设置环境变量,一个是方便在这儿不用输入绝对路径,当找不到交叉编译器的时候,需要输入交叉编译器的绝对路径
DEBUG=-g 设置调试信息
第二部分:make cfg all tgt=rom
make cfg 是配置
make all 
make tgt=rom 在Makefile.inc里可以看到,是生成的二进制文件
1、原因

2、解决方法
意思是新的glibc库已经不支持sys_siglist[],使用strsignal()。
重点方括号变成了圆括号,就是由数组变成了函数。
1、下载并解压
https://github.com/mongodb/mongo-c-driver/releases/download/1.23.4/mongo-c-driver-1.23.4.tar.gz
编译环境:Ubuntu 20.04
2、环境配置
 sudo apt-get install cmake libssl-dev libsasl2-dev
tar xzf mongo-c-driver-1.23.4.tar.gz
cd mongo-c-driver-1.23.4
mkdir cmake-build
cd cmake-build
cmake -DENABLE_AUTOMATIC_INIT_AND_CLEANUP=OFF -DCMAKE_C_COMPILER=/usr/bin/aarch64-linux-gnu-gcc -DCMAKE_CXX_COMPILER=/usr/bin/aarch64-linux-gnu-g++ -DOPENSSL_INCLUDE_DIR=/usr/aarch64-linux-gnu/include/openssl/ -DCMAKE_PREFIX_PATH=/usr/lib/aarch64-linux-gnu/ -DCMAKE_INSTALL_PREFIX:PATH=/usr/aarch64-linux-gnu ..
CMAKE_INSTALL_PREFIX:安装目录
OPENSSL_INCLUDE_DIR:openssl目录
CMAKE_PREFIX_PATH:指定查找目录
CMAKE_CXX_COMPILER:C++编译器目录
CMAKE_C_COMPILER:C编译器目录
3、编译安装
cmake --build .
sudo cmake --build . --target install
4、修改配置文件
vim ./src/libmongoc/CMakeLists.txt
target_link_libraries (${test}
         PRIVATE
            $<$<C_COMPILER_ID:MSVC>:DbgHelp.dll>
            $<$<PLATFORM_ID:Windows>:shlwapi>
            $<$<BOOL:${use_shared}>:mongoc_shared>
            $<$<NOT:$<BOOL:${use_shared}>>:mongoc_static>
            ${LIBRARIES}
            ${RESOLV_LIBRARIES} -lrt
      )
target_link_libraries (mongoc_shared PRIVATE ${LIBRARIES} PUBLIC ${BSON_LIBRARIES} -lrt)
1、下载解压源码
https://github.com/openssl/openssl/releases/download/openssl-3.1.0/openssl-3.1.0.tar.gz
2、编译配置
./Configure --prefix=/usr/lib/aarch64-linux-gnu/ --host=aarch64-linux  CC=aarch64-linux-gnu-gcc --openssldir=/usr/lib/aarch64-linux-gnu/ '-Wl,-rpath,$(LIBRPATH)'
./config no-asm shared no-async --prefix=$(pwd)/install --cross-compile-prefix=aarch64-linux-gnu-
3、编译安装
make
make install
4、arm平台错误
aarch64-linux-gnu-gcc: error: unrecognized command line option '-m64'
打开Makefile,去掉-m64
CNF_CFLAGS=-pthread -m64
CNF_CXXFLAGS=-std=c++11 -pthread -m64
编译平台:Ubuntu20.04 x86 amd64
目标平台:Ubuntu20.04 arm arrch64
1、软件库下载
wget https://github.com/sctp/lksctp-tools/archive/refs/tags/lksctp-tools-1.0.18.zip
解压进入目录
2、配置编译环境
sudo apt install automake
sudo apt install libtool
./bootstrap
./configure  --prefix=/usr/lib/aarch64-linux-gnu/ --host=aarch64-linux  CC=aarch64-linux-gnu-gcc
3、编译安装
make
make install