From 9cd06121e2552505e13b2b56452e2d02252a1da4 Mon Sep 17 00:00:00 2001 From: Harvey Fong Date: Mon, 5 Jan 2026 00:58:36 +0000 Subject: [PATCH] 2026cleanup pass for Ubuntu build instructions, build from source, even libsodium, need better symlink copy of libzmq --- LICENSE | 2 +- makefile => Makefile | 4 +- README.md | 95 ++++++++++++++++++++------------------------ 3 files changed, 47 insertions(+), 54 deletions(-) rename makefile => Makefile (97%) diff --git a/LICENSE b/LICENSE index eaa5acd..0d1053b 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ bellatui -Copyright (c) 2025 Harvey Fong +Copyright (c) 2026 Harvey Fong Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/makefile b/Makefile similarity index 97% rename from makefile rename to Makefile index 028a57a..aac8059 100644 --- a/makefile +++ b/Makefile @@ -55,7 +55,7 @@ else ARCH_FLAGS = -m64 -D_FILE_OFFSET_BITS=64 # Linking flags - LINKER_FLAGS = $(ARCH_FLAGS) -fvisibility=hidden -O3 -Wl,-rpath,'$$ORIGIN' -Wl,-rpath,'$$ORIGIN/lib' -weak_library $(LIBDIR)/libvulkan.dylib + LINKER_FLAGS = $(ARCH_FLAGS) -fvisibility=hidden -O3 -Wl,-rpath,'$$ORIGIN' -Wl,-rpath,'$$ORIGIN/lib' # Platform-specific libraries #PLIST_LIB = -lplist @@ -134,4 +134,4 @@ cleanall: rmdir obj/* 2>/dev/null || true rmdir bin/* 2>/dev/null || true rmdir obj 2>/dev/null || true - rmdir bin 2>/dev/null || true \ No newline at end of file + rmdir bin 2>/dev/null || true diff --git a/README.md b/README.md index 0f41d6d..e9dbc0f 100644 --- a/README.md +++ b/README.md @@ -52,6 +52,7 @@ apt install -y libsodium-dev ``` workdir/ ├── bella_engine_sdk/ +├── libsodium/ ├── libzmq/ ├── cppzmq/ ├── efsw/ @@ -63,12 +64,6 @@ workdir/ ( additional MacOS package manager dependency ) └── homebrew/ ``` -Download SDK for your OS and drag bella_engine_sdk into your workdir. On Windows rename unzipped folder by removing version ie bella_engine_sdk-24.6.0 -> bella_engine_sdk - -- [bella_engine_sdk MacOS](https://downloads.bellarender.com/bella_engine_sdk-24.6.0.dmg) -- [bella_engine_sdk Linux](https://downloads.bellarender.com/bella_engine_sdk-24.6.0.tar.gz) -- [bella_engine_sdk Win](https://downloads.bellarender.com/bella_engine_sdk-24.6.0.zip) - ## MacOS Install Cmake to /Applications @@ -106,7 +101,7 @@ cd bellatui make all -j4 ``` -## Linux +## Ubuntu Linux x64 and arm64 ### bella_engine_sdk ``` @@ -125,55 +120,53 @@ apt install -y cmake apt install pkg-config ``` -#### redhat dependencies -``` -dnf groupinstall -y "Development Tools" -dnf install -y libX11-devel -dnf install -y mesa-libGL-devel -dnf install -y libtool -dnf install -y libsodium-devel -dnf install -y cmake -dnf install -y pkg-config -``` - -[todo] makefile needs this path for redhat -``` - SODDIR = /usr/lib64/ -``` - ### building libzmq cppzmq ``` -mkdir workdir -cd workdir -git clone https://github.com/zeromq/libzmq -cd libzmq -mkdir build -cd build -//cmake .. -DENABLE_CURVE=ON -DWITH_LIBSODIUM=/usr/include/sodium -cmake .. -DENABLE_DRAFTS=OFF -DWITH_TLS=OFF -DENABLE_CURVE=ON -DWITH_LIBSODIUM=/usr/include/sodium -make -j4 -cd ../.. -git clone https://github.com/zeromq/cppzmq -cd cppzmq -mkdir build -cd build -cmake .. -cd ../.. -git clone https://github.com/SpartanJ/efsw.git +mkdir workdir && cd workdir +mkdir libsodium libzmq cppzmq efsw bellatui -mkdir -p efsw/build -cd efsw/build -cmake .. -make -j4 +# Build libsodium +cd libsodium && git clone https://github.com/jedisct1/libsodium.git +wget https://download.libsodium.org/libsodium/releases/libsodium-1.0.20-stable.tar.gz +tar xvf libsodium-1.0.20-stable.tar.gz --strip-components=1 +./configure +make -j$(nproc) + +# Build libzmq +cd ../libzmq && git clone https://github.com/zeromq/libzmq . +cmake -B ./build -DENABLE_DRAFTS=OFF -DWITH_TLS=OFF -DENABLE_CURVE=ON -DWITH_LIBSODIUM=../libsodium/src/libsodium/include/sodium -DSODIUM_INCLUDE_DIRS=../libsodium/src/libsodium/include -DSODIUM_LIBRARIES=../libsodium/src/libsodium/.libs/libsodium.so +cmake --build ./build -j$(nproc) + +# Build cppzmq +cd ../cppzmq && git clone https://github.com/zeromq/cppzmq . +cmake -B ./build -DZeroMQ_LIBRARY=../libzmq/build/lib/libzmq.so -DZeroMQ_INCLUDE_DIR=../libzmq/include +cmake --build ./build -j$(nproc) + +# Build efsw +cd ../efsw && git clone https://github.com/SpartanJ/efsw.git . +cmake -B ./build +make -j$(nproc) + +# Get bella sdk +cd .. +wget https://downloads.bellarender.com/bella_engine_sdk-25.3.0-linux.tar.gz +tar -xvf bella_engine_sdk-25.3.0-linux.tar.gz + +# Get oom +cd .. +git clone https://git.indoodle.com/oomer/oom.git + + +# Build bellatui +cd ../bellatui +git clone https://github.com/oomer/bellatui.git . +make all -j$(nproc) ``` -### compiling bellatui -``` -cd ../.. -git clone https://github.com/oomer/bellatui.git -cd bellatui -make all -j4 -``` +[TODO] +Fix in Makefile +cp ../bella_engine_sdk/lib/libdl_usd_ms.so bin/Linux/release/ +cp ../libzmq/build/lib/libzmq.so.5 bin/Linux/release/ # Windows https://aka.ms/vs/17/release/vs_BuildTools.exe