Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

in ubuntu22.04LTS system how to build the project? #20

Open
0x7ffffff opened this issue Feb 3, 2023 · 3 comments
Open

in ubuntu22.04LTS system how to build the project? #20

0x7ffffff opened this issue Feb 3, 2023 · 3 comments

Comments

@0x7ffffff
Copy link

No description provided.

@0x7ffffff
Copy link
Author

@siradam7th I have tried many times and failed to build. Can you give me a complete build process?

@0x7ffffff
Copy link
Author

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::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((* & data_to_queue))' from 'unsigned char' to 'char' [-Wnarrowing]
133 | new (&m_data[m_tail]) T{forward(data_to_queue)};
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 60%] Building CXX object src/kernel/CMakeFiles/kernel.bin.dir/filesystem/domain_socket/domain_socket.cpp.obj
/home/alpha0x7f/Documents/CyanOS/src/kernel/filesystem/domain_socket/domain_socket.cpp: In member function 'virtual Result DomainSocket::connect()':
/home/alpha0x7f/Documents/CyanOS/src/kernel/filesystem/domain_socket/domain_socket.cpp:49:1: warning: no return statement in function returning non-void [-Wreturn-type]
49 | }
| ^
[ 61%] Building CXX object src/kernel/CMakeFiles/kernel.bin.dir/filesystem/domain_socket/domain_socket_fs.cpp.obj
[ 61%] Building CXX object src/kernel/CMakeFiles/kernel.bin.dir/filesystem/file_description.cpp.obj
[ 62%] Building CXX object src/kernel/CMakeFiles/kernel.bin.dir/filesystem/handles_manager.cpp.obj
[ 63%] Building CXX object src/kernel/CMakeFiles/kernel.bin.dir/filesystem/ipsocket/ipsocket.cpp.obj
/home/alpha0x7f/Documents/CyanOS/src/kernel/filesystem/ipsocket/ipsocket.cpp: In function 'Result create_socket(SocketAddress, SocketProtocol, size_t)':
/home/alpha0x7f/Documents/CyanOS/src/kernel/filesystem/ipsocket/ipsocket.cpp:9:82: warning: unused parameter 'flags' [-Wunused-parameter]
9 | reate_socket(SocketAddress addr, SocketProtocol protocol, size_t flags)
| ~~~~~~~^~~~~

[ 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::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((* & data_to_queue))' from 'unsigned char' to 'char' [-Wnarrowing]
133 | new (&m_data[m_tail]) T{forward(data_to_queue)};
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 68%] Building CXX object src/kernel/CMakeFiles/kernel.bin.dir/filesystem/pipes/pipe_fs.cpp.obj
[ 68%] Building CXX object src/kernel/CMakeFiles/kernel.bin.dir/filesystem/process_description.cpp.obj
[ 69%] Building CXX object src/kernel/CMakeFiles/kernel.bin.dir/filesystem/ustar/inode.cpp.obj
[ 70%] Building CXX object src/kernel/CMakeFiles/kernel.bin.dir/filesystem/ustar/tar_fs.cpp.obj
[ 71%] Building CXX object src/kernel/CMakeFiles/kernel.bin.dir/filesystem/virtual_filesystem.cpp.obj
[ 72%] Building CXX object src/kernel/CMakeFiles/kernel.bin.dir/kernel_init.cpp.obj
[ 73%] Building CXX object src/kernel/CMakeFiles/kernel.bin.dir/network/application_layer/dns.cpp.obj
/home/alpha0x7f/Documents/CyanOS/src/kernel/network/application_layer/dns.cpp: In member function 'bool DNS::test_ip(IPv4Address)':
/home/alpha0x7f/Documents/CyanOS/src/kernel/network/application_layer/dns.cpp:85:31: warning: unused parameter 'ip' [-Wunused-parameter]
85 | bool DNS::test_ip(IPv4Address ip)
| ~~~~~~~~~~~~^~
[ 74%] Building CXX object src/kernel/CMakeFiles/kernel.bin.dir/network/link_layer/ethernet_network_adapter.cpp.obj
[ 75%] Building CXX object src/kernel/CMakeFiles/kernel.bin.dir/network/link_layer/network_adapter.cpp.obj
[ 75%] Building CXX object src/kernel/CMakeFiles/kernel.bin.dir/network/network.cpp.obj
[ 76%] Building CXX object src/kernel/CMakeFiles/kernel.bin.dir/network/network_layer/arp.cpp.obj
[ 78%] Building CXX object src/kernel/CMakeFiles/kernel.bin.dir/network/network_layer/icmp.cpp.obj
[ 79%] Building CXX object src/kernel/CMakeFiles/kernel.bin.dir/network/network_layer/ipv4.cpp.obj
[ 80%] Building CXX object src/kernel/CMakeFiles/kernel.bin.dir/network/transport_layer/dhcp.cpp.obj
[ 81%] Building CXX object src/kernel/CMakeFiles/kernel.bin.dir/network/transport_layer/tcp.cpp.obj
/home/alpha0x7f/Documents/CyanOS/src/kernel/network/transport_layer/tcp.cpp: In member function 'u16 TCPSession::tcp_checksum(const BufferView&)':
/home/alpha0x7f/Documents/CyanOS/src/kernel/network/transport_layer/tcp.cpp:454:74: warning: converting a packed 'TCPSession::PseudoIPHeader' pointer (alignment 1) to a 'const short unsigned int' pointer (alignment 2) may result in an unaligned pointer value [-Waddress-of-packed-member]
454 | auto* pseudo_ipv4_array = reinterpret_cast<const u16*>(&pseudo_ip);
| ^

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

@DrDub
Copy link

DrDub commented Dec 1, 2023

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants