in ubuntu22.04LTS system how to build the project?
@siradam7th I have tried many times and failed to build. Can you give me a complete build process?
alpha0x7f@0x7f:~/Documents/CyanOS/build$ make run
[ 1%] Building CXX object src/libraries/stdlib/CMakeFiles/stdlib.dir/argument_parser.cpp.obj
[ 2%] Building CXX object src/libraries/stdlib/CMakeFiles/stdlib.dir/bitmap.cpp.obj
[ 3%] Building CXX object src/libraries/stdlib/CMakeFiles/stdlib.dir/buffer.cpp.obj
[ 4%] Building CXX object src/libraries/stdlib/CMakeFiles/stdlib.dir/buffer_mutable_view.cpp.obj
[ 5%] Building CXX object src/libraries/stdlib/CMakeFiles/stdlib.dir/buffer_view.cpp.obj
[ 6%] Building CXX object src/libraries/stdlib/CMakeFiles/stdlib.dir/clib.cpp.obj
[ 6%] Building CXX object src/libraries/stdlib/CMakeFiles/stdlib.dir/elfparser.cpp.obj
[ 7%] Building CXX object src/libraries/stdlib/CMakeFiles/stdlib.dir/ipv4_address.cpp.obj
[ 8%] Building CXX object src/libraries/stdlib/CMakeFiles/stdlib.dir/macaddress.cpp.obj
[ 9%] Building CXX object src/libraries/stdlib/CMakeFiles/stdlib.dir/math.cpp.obj
[ 10%] Building CXX object src/libraries/stdlib/CMakeFiles/stdlib.dir/network_algorithms.cpp.obj
[ 12%] Building CXX object src/libraries/stdlib/CMakeFiles/stdlib.dir/path_view.cpp.obj
[ 13%] Building CXX object src/libraries/stdlib/CMakeFiles/stdlib.dir/string.cpp.obj
[ 13%] Building CXX object src/libraries/stdlib/CMakeFiles/stdlib.dir/string_view.cpp.obj
[ 14%] Linking CXX static library libstdlib.a
[ 14%] Built target stdlib
[ 15%] Building CXX object src/libraries/systemlib/CMakeFiles/systemlib.dir/iostream/iostream.cpp.obj
[ 16%] Building CXX object src/libraries/systemlib/CMakeFiles/systemlib.dir/malloc/malloc.cpp.obj
[ 17%] Building CXX object src/libraries/systemlib/CMakeFiles/systemlib.dir/startup/icxxabi.cpp.obj
[ 18%] Building CXX object src/libraries/systemlib/CMakeFiles/systemlib.dir/startup/startup.cpp.obj
[ 19%] Building CXX object src/libraries/systemlib/CMakeFiles/systemlib.dir/systemcalls/systemcalls.cpp.obj
[ 20%] Linking CXX static library libsystemlib.a
[ 20%] Built target systemlib
[ 21%] Building CXX object src/userspace/cat/CMakeFiles/cat.dir/main.cpp.obj
[ 23%] Linking CXX executable cat
[ 23%] Built target cat
[ 24%] Building CXX object src/kernel/CMakeFiles/kernel.bin.dir//libraries/stdlib/argument_parser.cpp.obj
[ 24%] Building CXX object src/kernel/CMakeFiles/kernel.bin.dir//libraries/stdlib/bitmap.cpp.obj
[ 25%] Building CXX object src/kernel/CMakeFiles/kernel.bin.dir//libraries/stdlib/buffer.cpp.obj
[ 26%] Building CXX object src/kernel/CMakeFiles/kernel.bin.dir//libraries/stdlib/buffer_mutable_view.cpp.obj
[ 27%] Building CXX object src/kernel/CMakeFiles/kernel.bin.dir//libraries/stdlib/buffer_view.cpp.obj
[ 28%] Building CXX object src/kernel/CMakeFiles/kernel.bin.dir//libraries/stdlib/clib.cpp.obj
[ 29%] Building CXX object src/kernel/CMakeFiles/kernel.bin.dir//libraries/stdlib/elfparser.cpp.obj
[ 30%] Building CXX object src/kernel/CMakeFiles/kernel.bin.dir//libraries/stdlib/ipv4_address.cpp.obj
[ 31%] Building CXX object src/kernel/CMakeFiles/kernel.bin.dir//libraries/stdlib/macaddress.cpp.obj
[ 31%] Building CXX object src/kernel/CMakeFiles/kernel.bin.dir//libraries/stdlib/math.cpp.obj
[ 32%] Building CXX object src/kernel/CMakeFiles/kernel.bin.dir//libraries/stdlib/network_algorithms.cpp.obj
[ 34%] Building CXX object src/kernel/CMakeFiles/kernel.bin.dir//libraries/stdlib/path_view.cpp.obj
[ 35%] Building CXX object src/kernel/CMakeFiles/kernel.bin.dir//libraries/stdlib/string.cpp.obj
[ 36%] Building CXX object src/kernel/CMakeFiles/kernel.bin.dir//libraries/stdlib/string_view.cpp.obj
[ 37%] Building ASM_NASM object src/kernel/CMakeFiles/kernel.bin.dir/arch/x86/boot.asm.obj
[ 38%] Building CXX object src/kernel/CMakeFiles/kernel.bin.dir/arch/x86/context.cpp.obj
[ 39%] Building CXX object src/kernel/CMakeFiles/kernel.bin.dir/arch/x86/gdt.cpp.obj
[ 39%] Building CXX object src/kernel/CMakeFiles/kernel.bin.dir/arch/x86/idt.cpp.obj
[ 40%] Building CXX object src/kernel/CMakeFiles/kernel.bin.dir/arch/x86/isr.cpp.obj
[ 41%] Building ASM_NASM object src/kernel/CMakeFiles/kernel.bin.dir/arch/x86/isr_dispatcher.asm.obj
[ 42%] Building CXX object src/kernel/CMakeFiles/kernel.bin.dir/arch/x86/paging.cpp.obj
[ 43%] Building CXX object src/kernel/CMakeFiles/kernel.bin.dir/arch/x86/pic.cpp.obj
[ 45%] Building CXX object src/kernel/CMakeFiles/kernel.bin.dir/arch/x86/spinlock.cpp.obj
[ 46%] Building ASM_NASM object src/kernel/CMakeFiles/kernel.bin.dir/arch/x86/x86.asm.obj
[ 46%] Building CXX object src/kernel/CMakeFiles/kernel.bin.dir/boot/boot.cpp.obj
[ 47%] Building CXX object src/kernel/CMakeFiles/kernel.bin.dir/devices/bus/pci.cpp.obj
[ 48%] Building CXX object src/kernel/CMakeFiles/kernel.bin.dir/devices/bus/pcibase_address_register.cpp.obj
[ 49%] Building CXX object src/kernel/CMakeFiles/kernel.bin.dir/devices/bus/pcidevice.cpp.obj
[ 50%] Building CXX object src/kernel/CMakeFiles/kernel.bin.dir/devices/bus/pciidentification.cpp.obj
[ 51%] Building CXX object src/kernel/CMakeFiles/kernel.bin.dir/devices/console/console.cpp.obj
[ 52%] Building CXX object src/kernel/CMakeFiles/kernel.bin.dir/devices/debug_port/debug_port.cpp.obj
[ 53%] Building CXX object src/kernel/CMakeFiles/kernel.bin.dir/devices/debug_port/logger.cpp.obj
[ 53%] Building CXX object src/kernel/CMakeFiles/kernel.bin.dir/devices/device_fs.cpp.obj
[ 54%] Building CXX object src/kernel/CMakeFiles/kernel.bin.dir/devices/ethernet/rtl8139.cpp.obj
[ 56%] Building CXX object src/kernel/CMakeFiles/kernel.bin.dir/devices/keyboard/keyboard.cpp.obj
[ 57%] Building CXX object src/kernel/CMakeFiles/kernel.bin.dir/devices/rtc/rtc.cpp.obj
[ 58%] Building CXX object src/kernel/CMakeFiles/kernel.bin.dir/devices/timer/pit.cpp.obj
[ 59%] Building CXX object src/kernel/CMakeFiles/kernel.bin.dir/filesystem/domain_socket/connection.cpp.obj
In file included from /home/alpha0x7f/Documents/CyanOS/src/kernel/filesystem/domain_socket/connection.h:5,
from /home/alpha0x7f/Documents/CyanOS/src/kernel/filesystem/domain_socket/connection.cpp:1:
/home/alpha0x7f/Documents/CyanOS/src/kernel/../libraries/stdlib/circular_buffer.h: In instantiation of 'void CircularBuffer<T>::queue(U&&) [with U = unsigned char; T = char]':
/home/alpha0x7f/Documents/CyanOS/src/kernel/filesystem/domain_socket/connection.cpp:122:24: required from here
/home/alpha0x7f/Documents/CyanOS/src/kernel/../libraries/stdlib/circular_buffer.h:133:9: warning: narrowing conversion of 'forward
[ 64%] Building CXX object src/kernel/CMakeFiles/kernel.bin.dir/filesystem/ipsocket/tcpsocket.cpp.obj
[ 65%] Building CXX object src/kernel/CMakeFiles/kernel.bin.dir/filesystem/ipsocket/udpsocket.cpp.obj
[ 67%] Building CXX object src/kernel/CMakeFiles/kernel.bin.dir/filesystem/pipes/pipe.cpp.obj
In file included from /home/alpha0x7f/Documents/CyanOS/src/kernel/filesystem/pipes/pipe.h:5,
from /home/alpha0x7f/Documents/CyanOS/src/kernel/filesystem/pipes/pipe.cpp:1:
/home/alpha0x7f/Documents/CyanOS/src/kernel/../libraries/stdlib/circular_buffer.h: In instantiation of 'void CircularBuffer<T>::queue(U&&) [with U = unsigned char; T = char]':
/home/alpha0x7f/Documents/CyanOS/src/kernel/filesystem/pipes/pipe.cpp:90:17: required from here
/home/alpha0x7f/Documents/CyanOS/src/kernel/../libraries/stdlib/circular_buffer.h:133:9: warning: narrowing conversion of 'forward
In file included from /home/alpha0x7f/Documents/CyanOS/src/kernel/network/transport_layer/tcp.cpp:1: /home/alpha0x7f/Documents/CyanOS/src/kernel/network/transport_layer/tcp.h:48:16: note: defined here 48 | struct PseudoIPHeader { | ^~~~~~~~~~~~~~ [ 82%] Building CXX object src/kernel/CMakeFiles/kernel.bin.dir/network/transport_layer/udp.cpp.obj [ 83%] Building CXX object src/kernel/CMakeFiles/kernel.bin.dir/tasking/loader/elf.cpp.obj [ 83%] Building CXX object src/kernel/CMakeFiles/kernel.bin.dir/tasking/loader/pe.cpp.obj [ 84%] Building CXX object src/kernel/CMakeFiles/kernel.bin.dir/tasking/mutex.cpp.obj [ 85%] Building CXX object src/kernel/CMakeFiles/kernel.bin.dir/tasking/process.cpp.obj [ 86%] Building CXX object src/kernel/CMakeFiles/kernel.bin.dir/tasking/scheduler.cpp.obj [ 87%] Building CXX object src/kernel/CMakeFiles/kernel.bin.dir/tasking/semaphore.cpp.obj [ 89%] Building CXX object src/kernel/CMakeFiles/kernel.bin.dir/tasking/system_call.cpp.obj [ 90%] Building CXX object src/kernel/CMakeFiles/kernel.bin.dir/tasking/thread.cpp.obj [ 90%] Building CXX object src/kernel/CMakeFiles/kernel.bin.dir/tasking/wait_queue.cpp.obj [ 91%] Building CXX object src/kernel/CMakeFiles/kernel.bin.dir/virtual_memory/heap.cpp.obj [ 92%] Building CXX object src/kernel/CMakeFiles/kernel.bin.dir/virtual_memory/icxxabi.cpp.obj [ 93%] Building CXX object src/kernel/CMakeFiles/kernel.bin.dir/virtual_memory/memory.cpp.obj [ 94%] Building CXX object src/kernel/CMakeFiles/kernel.bin.dir/virtual_memory/physical.cpp.obj [ 95%] Building CXX object src/kernel/CMakeFiles/kernel.bin.dir/virtual_memory/virtual.cpp.obj [ 96%] Linking CXX executable kernel.bin /opt/cross/lib/gcc/i686-elf/12.2.0/../../../../i686-elf/bin/ld: warning: kernel.bin has a LOAD segment with RWX permissions Striping the kernel output file... [ 96%] Built target kernel.bin [ 96%] Building CXX object src/userspace/shell/CMakeFiles/shell.dir/main.cpp.obj [ 97%] Linking CXX executable shell [ 97%] Built target shell [ 97%] Building CXX object src/userspace/test_app/CMakeFiles/TestApp.dir/main.cpp.obj [ 98%] Linking CXX executable TestApp [ 98%] Built target TestApp [100%] Creating ISO file... xorriso 1.5.4 : RockRidge filesystem manipulator, libburnia project.
Drive current: -outdev 'stdio:CyanOS.iso' Media current: stdio file, overwriteable Media status : is blank Media summary: 0 sessions, 0 data blocks, 0 data, 171g free Added to ISO image: directory '/'='/tmp/grub.lX8Hhr' xorriso : UPDATE : 589 files added in 1 seconds Added to ISO image: directory '/'='/home/alpha0x7f/Documents/CyanOS/build/CyanOS_root' xorriso : UPDATE : 594 files added in 1 seconds xorriso : NOTE : Copying to System Area: 512 bytes from file '/usr/lib/grub/i386-pc/boot_hybrid.img' ISO image produced: 5967 sectors Written to medium : 5967 sectors at LBA 0 Writing to 'stdio:CyanOS.iso' completed successfully.
qemu-system-i386: -netdev user,id=u1,hostfwd=tcp::8080-:80: network backend 'user' is not compiled into this binary make[3]: *** [CMakeFiles/run.dir/build.make:70: CMakeFiles/run] Error 1 make[2]: *** [CMakeFiles/Makefile2:311: CMakeFiles/run.dir/all] Error 2 make[1]: *** [CMakeFiles/Makefile2:318: CMakeFiles/run.dir/rule] Error 2 make: *** [Makefile:164: run] Error 2
The log you posted shows it built successfully. It is failing to launch the generated ISO because qemu-system-i386 has no user networking. Just set-up other QEMU networking mode.