Could not initialize SDL(No available video device) - exiting Makefile:771: recipe for target 'run' failed
I was trying to build Rust on a docker container, as explained in the README file, so these are the instructions that executed
git clone --recurse-submodules https://github.com/theseus-os/Theseus.gitgit submodule update --init --recursivechmod +x docker/*.sh./docker/build_docker.sh./docker/run_docker.shmake run(inside the container)
but I am getting the error:
Could not initialize SDL(No available video device) - exiting Makefile:771: recipe for target 'run' failed
Here's the full traceback
info: downloading component 'rust-src'
info: installing component 'rust-src'
=================== BUILDING ALL CRATES ===================
TARGET: "x86_64-theseus"
KERNEL_PREFIX: "k#"
APP_PREFIX: "a#"
THESEUS_CONFIG (before build.rs script): ""
RUST_TARGET_PATH="/Theseus/cfg" RUSTFLAGS="--emit=obj -C debuginfo=2 -C code-model=large -C relocation-model=static -D unused-must-use -Z merge-functions=disabled -Z share-generics=no" cargo build --release -Z unstable-options -Z build-std=core,alloc -Z build-std-features=compiler-builtins-mem --all --target x86_64-theseus
Updating git repository `https://github.com/theseus-os/getopts`
Updating git repository `https://github.com/theseus-os/qp-trie-rs`
Updating git repository `https://github.com/m-labs/smoltcp`
Updating git repository `https://github.com/theseus-os/spin-rs`
Updating git repository `https://github.com/theseus-os/volatile`
Updating git repository `https://github.com/theseus-os/irq_safety`
Updating crates.io index
Updating git repository `https://github.com/theseus-os/xmas-elf.git`
Updating git repository `https://github.com/theseus-os/owning-ref-rs`
Updating git repository `https://github.com/rafalh/rust-fatfs`
Updating git repository `https://github.com/theseus-os/rbtree-rs.git`
Updating git repository `https://github.com/theseus-os/stable_deref_trait.git`
Updating git repository `https://github.com/rust-lang/stdsimd`
Updating git repository `https://github.com/bytecodealliance/wasi`
Updating git submodule `https://github.com/WebAssembly/WASI`
Updating git repository `https://github.com/theseus-os/zero.git`
Downloaded bit_field v0.10.1
Downloaded byteorder v1.4.3
Downloaded cfg-if v1.0.0
Downloaded const_format_proc_macros v0.2.22
Downloaded cc v1.0.71
Downloaded hashbrown v0.11.2
Downloaded convert_case v0.4.0
Downloaded by_address v1.0.4
Downloaded getrandom v0.2.4
Downloaded scopeguard v1.1.0
Downloaded generic-array v0.12.0
Downloaded digest v0.8.0
Downloaded lock_api v0.4.2
Downloaded itertools v0.7.11
Downloaded memory_units v0.3.0
Downloaded log v0.4.8
Downloaded paste v1.0.5
Downloaded memoffset v0.5.6
Downloaded once_cell v1.9.0
Downloaded rustc-demangle v0.1.19
Downloaded rustc_version v0.2.3
Downloaded num_enum v0.5.2
Downloaded memchr v2.4.1
Downloaded rand_chacha v0.1.0
Downloaded rand_pcg v0.1.1
Downloaded raw-cpuid v7.0.3
Downloaded scroll v0.9.2
Downloaded stable_deref_trait v1.1.1
Downloaded void v1.0.2
Downloaded unreachable v1.0.0
Downloaded semver v0.9.0
Downloaded volatile v0.4.4
Downloaded wasmi-validation v0.4.1
Downloaded quote v1.0.7
Downloaded zerocopy v0.5.0
Downloaded wasmi v0.9.1
Downloaded ahash v0.7.6
Downloaded typenum v1.10.0
Downloaded zerocopy-derive v0.3.0
Downloaded syn v1.0.67
Downloaded arrayvec v0.5.2
Downloaded num-rational v0.2.4
Downloaded vte_generate_state_changes v0.1.1
Downloaded vte v0.10.1
Downloaded utf8parse v0.2.0
Downloaded unicode-width v0.1.8
Downloaded version_check v0.9.4
Downloaded keccak v0.1.0
Downloaded plain v0.2.3
Downloaded autocfg v1.0.0
Downloaded synstructure v0.12.4
Downloaded unicode-xid v0.2.1
Downloaded static_assertions v1.1.0
Downloaded spin v0.5.2
Downloaded semver-parser v0.7.0
Downloaded rand_isaac v0.1.1
Downloaded rand_hc v0.1.0
Downloaded derive_more v0.99.14
Downloaded rangemap v0.1.13
Downloaded proc-macro2 v1.0.24
Downloaded num_enum_derive v0.5.2
Downloaded rand_core v0.3.0
Downloaded rand v0.6.1
Downloaded mpmc v0.1.6
Downloaded opaque-debug v0.2.1
Downloaded lazy_static v1.4.0
Downloaded parity-wasm v0.42.2
Downloaded nodrop v0.1.13
Downloaded linked_list_allocator v0.9.1
Downloaded httparse v1.3.3
Downloaded cty v0.2.1
Downloaded cstr_core v0.2.3
Downloaded libm v0.2.1
Downloaded derivative v2.2.0
Downloaded either v1.5.0
Downloaded core2 v0.4.0
Downloaded num-traits v0.2.14
Downloaded num-integer v0.1.44
Downloaded byte-tools v0.3.0
Downloaded fallible-iterator v0.2.0
Downloaded downcast-rs v1.2.0
Downloaded crossbeam-utils v0.8.5
Downloaded arrayvec v0.4.11
Downloaded block-padding v0.1.2
Downloaded block-buffer v0.7.0
Downloaded const_format v0.2.22
Downloaded bitflags v1.3.2
Downloaded cfg-if v0.1.10
Downloaded goblin v0.0.19
Downloaded rand_xorshift v0.1.0
Downloaded delegate v0.6.0
Downloaded bit_field v0.7.0
Downloaded new_debug_unreachable v1.0.1
Downloaded managed v0.7.1
Downloaded intrusive-collections v0.9.0
Downloaded multiboot2 v0.10.1
Downloaded sha3 v0.8.1
Downloaded gimli v0.19.0
Downloaded 98 crates (4.2 MB) in 2.28s
Downloaded hashbrown v0.12.0
Downloaded rustc-demangle v0.1.21
Downloaded compiler_builtins v0.1.70
Downloaded getopts v0.2.21
Downloaded cc v1.0.69
Downloaded libc v0.2.116
Downloaded 6 crates (922.9 KB) in 0.48s
Compiling compiler_builtins v0.1.70
Compiling core v0.0.0 (/home/nbro/.rustup/toolchains/nightly-2022-03-21-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core)
Compiling proc-macro2 v1.0.24
Compiling unicode-xid v0.2.1
Compiling syn v1.0.67
Compiling log v0.4.8
Compiling autocfg v1.0.0
Compiling kernel_config v0.1.0 (/Theseus/kernel/kernel_config)
Compiling entryflags_x86_64 v0.1.0 (/Theseus/kernel/entryflags_x86_64)
Compiling convert_case v0.4.0
Compiling memory_structs v0.1.0 (/Theseus/kernel/memory_structs)
Compiling paste v1.0.5
Compiling page_table_entry v0.1.0 (/Theseus/kernel/page_table_entry)
Compiling memory_x86_64 v0.1.0 (/Theseus/kernel/memory_x86_64)
Compiling page_allocator v0.1.0 (/Theseus/kernel/page_allocator)
Compiling frame_allocator v0.1.0 (/Theseus/kernel/frame_allocator)
Compiling memory v0.1.0 (/Theseus/kernel/memory)
Compiling semver-parser v0.7.0
Compiling memchr v2.4.1
Compiling version_check v0.9.4
Compiling pit_clock v0.1.0 (/Theseus/kernel/pit_clock)
Compiling cc v1.0.71
Compiling crossbeam-utils v0.8.5
Compiling apic v0.1.0 (/Theseus/kernel/apic)
Compiling crate_metadata v0.1.0 (/Theseus/kernel/crate_metadata)
Compiling bootloader_modules v0.1.0 (/Theseus/kernel/bootloader_modules)
Compiling context_switch_regular v0.1.0 (/Theseus/kernel/context_switch_regular)
Compiling mod_mgmt v0.1.0 (/Theseus/kernel/mod_mgmt)
Compiling tss v0.1.0 (/Theseus/kernel/tss)
Compiling stack v0.1.0 (/Theseus/kernel/stack)
Compiling context_switch_avx v0.1.0 (/Theseus/kernel/context_switch_avx)
Compiling context_switch_sse v0.1.0 (/Theseus/kernel/context_switch_sse)
Compiling context_switch v0.1.0 (/Theseus/kernel/context_switch)
Compiling task v0.1.0 (/Theseus/kernel/task)
Compiling shapes v0.1.0 (/Theseus/kernel/shapes)
Compiling event_types v0.1.0 (/Theseus/kernel/event_types)
Compiling serial_port_basic v0.1.0 (/Theseus/kernel/serial_port_basic)
Compiling logger v0.1.0 (/Theseus/kernel/logger)
Compiling single_simd_task_optimization v0.1.0 (/Theseus/kernel/single_simd_task_optimization)
Compiling runqueue_round_robin v0.1.0 (/Theseus/kernel/runqueue_round_robin)
Compiling runqueue_priority v0.1.0 (/Theseus/kernel/runqueue_priority)
Compiling runqueue_realtime v0.1.0 (/Theseus/kernel/runqueue_realtime)
Compiling runqueue v0.1.0 (/Theseus/kernel/runqueue)
Compiling scheduler_round_robin v0.1.0 (/Theseus/kernel/scheduler_round_robin)
Compiling scheduler_realtime v0.1.0 (/Theseus/kernel/scheduler_realtime)
Compiling scheduler_priority v0.1.0 (/Theseus/kernel/scheduler_priority)
Compiling scheduler v0.1.0 (/Theseus/kernel/scheduler)
Compiling sdt v0.1.0 (/Theseus/kernel/acpi/sdt)
Compiling vga_buffer v0.1.0 (/Theseus/kernel/vga_buffer)
Compiling acpi_table v0.1.0 (/Theseus/kernel/acpi/acpi_table)
Compiling pic v0.1.0 (/Theseus/kernel/pic)
Compiling ps2 v0.1.0 (/Theseus/kernel/ps2)
Compiling pause v0.1.0 (/Theseus/kernel/pause)
Compiling gdt v0.1.0 (/Theseus/kernel/gdt)
Compiling exceptions_early v0.1.0 (/Theseus/kernel/exceptions_early)
Compiling mouse v0.1.0 (/Theseus/kernel/mouse)
Compiling keyboard v0.1.0 (/Theseus/kernel/keyboard)
Compiling tlb_shootdown v0.1.0 (/Theseus/kernel/tlb_shootdown)
Compiling sleep v0.1.0 (/Theseus/kernel/sleep)
Compiling hpet v0.1.0 (/Theseus/kernel/acpi/hpet)
Compiling interrupts v0.1.0 (/Theseus/kernel/interrupts)
Compiling arrayvec v0.4.11
Compiling print v0.1.0 (/Theseus/kernel/print)
Compiling external_unwind_info v0.1.0 (/Theseus/kernel/external_unwind_info)
Compiling unwind v0.1.0 (/Theseus/kernel/unwind)
Compiling fault_log v0.1.0 (/Theseus/kernel/fault_log)
Compiling thread_local_macro v0.1.0 (/Theseus/kernel/thread_local_macro)
Compiling crate_swap v0.1.0 (/Theseus/kernel/crate_swap)
Compiling catch_unwind v0.1.0 (/Theseus/kernel/catch_unwind)
Compiling fault_crate_swap v0.1.0 (/Theseus/kernel/fault_crate_swap)
Compiling spawn v0.1.0 (/Theseus/kernel/spawn)
Compiling ioapic v0.1.0 (/Theseus/kernel/ioapic)
Compiling terminal_print v0.1.0 (/Theseus/kernel/terminal_print)
Compiling fadt v0.1.0 (/Theseus/kernel/acpi/fadt)
Compiling dmar v0.1.0 (/Theseus/kernel/acpi/dmar)
Compiling rsdt v0.1.0 (/Theseus/kernel/acpi/rsdt)
Compiling madt v0.1.0 (/Theseus/kernel/acpi/madt)
Compiling rsdp v0.1.0 (/Theseus/kernel/acpi/rsdp)
Compiling ap_start v0.1.0 (/Theseus/kernel/ap_start)
Compiling acpi_table_handler v0.1.0 (/Theseus/kernel/acpi/acpi_table_handler)
Compiling iommu v0.1.0 (/Theseus/kernel/iommu)
Compiling acpi v0.1.0 (/Theseus/kernel/acpi)
Compiling multicore_bringup v0.1.0 (/Theseus/kernel/multicore_bringup)
Compiling color v0.1.0 (/Theseus/kernel/color)
Compiling framebuffer v0.1.0 (/Theseus/kernel/framebuffer)
Compiling nic_buffers v0.1.0 (/Theseus/kernel/nic_buffers)
Compiling pci v0.1.0 (/Theseus/kernel/pci)
Compiling intel_ethernet v0.1.0 (/Theseus/kernel/intel_ethernet)
Compiling nic_queues v0.1.0 (/Theseus/kernel/nic_queues)
Compiling font v0.1.0 (/Theseus/kernel/font)
Compiling compositor v0.1.0 (/Theseus/kernel/compositor)
Compiling framebuffer_compositor v0.1.0 (/Theseus/kernel/framebuffer_compositor)
Compiling window_inner v0.1.0 (/Theseus/kernel/window_inner)
Compiling framebuffer_drawer v0.1.0 (/Theseus/kernel/framebuffer_drawer)
Compiling wait_queue v0.1.0 (/Theseus/kernel/wait_queue)
Compiling nic_initialization v0.1.0 (/Theseus/kernel/nic_initialization)
Compiling window_manager v0.1.0 (/Theseus/kernel/window_manager)
Compiling network_interface_card v0.1.0 (/Theseus/kernel/network_interface_card)
Compiling tsc v0.1.0 (/Theseus/kernel/tsc)
Compiling libm v0.2.1
Compiling displayable v0.1.0 (/Theseus/kernel/displayable)
Compiling window v0.1.0 (/Theseus/kernel/window)
Compiling framebuffer_printer v0.1.0 (/Theseus/kernel/framebuffer_printer)
Compiling async_channel v0.1.0 (/Theseus/kernel/async_channel)
Compiling text_display v0.1.0 (/Theseus/kernel/displayable/text_display)
Compiling e1000 v0.1.0 (/Theseus/kernel/e1000)
Compiling libterm v0.1.0 (/Theseus/kernel/libterm)
Compiling stdio v0.1.0 (/Theseus/libs/stdio)
Compiling io v0.1.0 (/Theseus/kernel/io)
Compiling pmu_x86 v0.1.0 (/Theseus/kernel/pmu_x86)
Compiling network_manager v0.1.0 (/Theseus/kernel/network_manager)
Compiling app_io v0.1.0 (/Theseus/kernel/app_io)
Compiling typenum v1.10.0
Compiling storage_device v0.1.0 (/Theseus/kernel/storage_device)
Compiling smoltcp_helper v0.1.0 (/Theseus/kernel/smoltcp_helper)
Compiling httparse v1.3.3
Compiling deferred_interrupt_tasks v0.1.0 (/Theseus/kernel/deferred_interrupt_tasks)
Compiling physical_nic v0.1.0 (/Theseus/kernel/physical_nic)
Compiling virtual_nic v0.1.0 (/Theseus/kernel/virtual_nic)
Compiling stack_trace v0.1.0 (/Theseus/kernel/stack_trace)
Compiling rendezvous v0.1.0 (/Theseus/kernel/rendezvous)
Compiling http_client v0.1.0 (/Theseus/kernel/http_client)
Compiling serial_port v0.1.0 (/Theseus/kernel/serial_port)
Compiling ata v0.1.0 (/Theseus/kernel/ata)
Compiling mlx_ethernet v0.1.0 (/Theseus/kernel/mlx_ethernet)
Compiling ota_update_client v0.1.0 (/Theseus/kernel/ota_update_client)
Compiling heap v0.1.0 (/Theseus/kernel/heap)
Compiling storage_manager v0.1.0 (/Theseus/kernel/storage_manager)
Compiling mlx5 v0.1.0 (/Theseus/kernel/mlx5)
Compiling signal_handler v0.1.0 (/Theseus/kernel/signal_handler)
Compiling stack_trace_frame_pointers v0.1.0 (/Theseus/kernel/stack_trace_frame_pointers)
Compiling libtest v0.1.0 (/Theseus/kernel/libtest)
Compiling debug_info v0.1.0 (/Theseus/kernel/debug_info)
Compiling text_terminal v0.1.0 (/Theseus/kernel/text_terminal)
Compiling state_store v0.1.0 (/Theseus/kernel/state_store)
Compiling ethernet_smoltcp_device v0.1.0 (/Theseus/kernel/ethernet_smoltcp_device)
Compiling exceptions_full v0.1.0 (/Theseus/kernel/exceptions_full)
Compiling unified_channel v0.1.0 (/Theseus/kernel/unified_channel)
Compiling device_manager v0.1.0 (/Theseus/kernel/device_manager)
Compiling libc v0.2.107 (/Theseus/ports/libc)
Compiling multiple_heaps v0.1.0 (/Theseus/kernel/multiple_heaps)
Compiling panic_wrapper v0.1.0 (/Theseus/kernel/panic_wrapper)
Compiling first_application v0.1.0 (/Theseus/kernel/first_application)
Compiling console v0.1.0 (/Theseus/kernel/console)
Compiling simd_personality v0.1.0 (/Theseus/kernel/simd_personality)
Compiling wasi_interpreter v0.1.0 (/Theseus/kernel/wasi_interpreter)
Compiling rtc v0.1.0 (/Theseus/kernel/rtc)
Compiling simple_ipc v0.1.0 (/Theseus/kernel/simple_ipc)
Compiling captain v0.1.0 (/Theseus/kernel/captain)
Compiling mapper_spillful v0.1.0 (/Theseus/kernel/mapper_spillful)
Compiling panic_entry v0.1.0 (/Theseus/kernel/panic_entry)
Compiling test_thread_local v0.1.0 (/Theseus/kernel/test_thread_local)
Compiling upd v0.1.0 (/Theseus/applications/upd)
Compiling tls_test v0.1.0 (/Theseus/applications/tls_test)
Compiling input_echo v0.1.0 (/Theseus/applications/input_echo)
Compiling ping v0.1.0 (/Theseus/applications/ping)
Compiling mutex_sleep v0.1.0 (/Theseus/kernel/mutex_sleep)
Compiling mm_eval v0.1.0 (/Theseus/applications/mm_eval)
Compiling bm v0.1.0 (/Theseus/applications/bm)
Compiling test_realtime v0.1.0 (/Theseus/applications/test_realtime)
Compiling less v0.1.0 (/Theseus/applications/less)
Compiling shell v0.1.0 (/Theseus/applications/shell)
Compiling state_transfer v0.1.0 (/Theseus/kernel/state_transfer)
Compiling test_libc v0.1.0 (/Theseus/applications/test_libc)
Compiling rm v0.1.0 (/Theseus/applications/rm)
Compiling example v0.1.0 (/Theseus/applications/example)
Compiling test_restartable v0.1.0 (/Theseus/applications/test_restartable)
Compiling test_channel v0.1.0 (/Theseus/applications/test_channel)
Compiling test_serial_echo v0.1.0 (/Theseus/applications/test_serial_echo)
Compiling channel_app v0.1.0 (/Theseus/applications/channel_app)
Compiling cpu v0.1.0 (/Theseus/applications/cpu)
Compiling ps v0.1.0 (/Theseus/applications/ps)
Compiling cat v0.1.0 (/Theseus/applications/cat)
Compiling loadc v0.1.0 (/Theseus/applications/loadc)
Compiling hello v0.1.0 (/Theseus/applications/hello)
Compiling block_cache v0.1.0 (/Theseus/kernel/block_cache)
Compiling test_block_io v0.1.0 (/Theseus/applications/test_block_io)
Compiling date v0.1.0 (/Theseus/applications/date)
Compiling test_panic v0.1.0 (/Theseus/applications/test_panic)
Compiling wait_condition v0.1.0 (/Theseus/kernel/wait_condition)
Compiling nano_core v0.1.0 (/Theseus/kernel/nano_core)
Compiling immediate_input_echo v0.1.0 (/Theseus/applications/immediate_input_echo)
Compiling test_downtime v0.1.0 (/Theseus/applications/test_downtime)
Compiling unwind_test v0.1.0 (/Theseus/applications/unwind_test)
Compiling kill v0.1.0 (/Theseus/applications/kill)
Compiling pmu_sample_stop v0.1.0 (/Theseus/applications/pmu_sample_stop)
Compiling test_mlx5 v0.1.0 (/Theseus/applications/test_mlx5)
Compiling simd_test v0.1.0 (/Theseus/kernel/simd_test)
Compiling pmu_sample_start v0.1.0 (/Theseus/applications/pmu_sample_start)
Compiling rq_eval v0.1.0 (/Theseus/applications/rq_eval)
Compiling keyboard_echo v0.1.0 (/Theseus/applications/keyboard_echo)
Compiling scheduler_eval v0.1.0 (/Theseus/applications/scheduler_eval)
Compiling ns v0.1.0 (/Theseus/applications/ns)
Compiling swap v0.1.0 (/Theseus/applications/swap)
Compiling deps v0.1.0 (/Theseus/applications/deps)
Compiling memoffset v0.5.6
Compiling num-traits v0.2.14
Compiling num-integer v0.1.44
Compiling num-rational v0.2.4
Compiling rustc-std-workspace-core v1.99.0 (/home/nbro/.rustup/toolchains/nightly-2022-03-21-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/rustc-std-workspace-core)
Compiling semver v0.9.0
Compiling ahash v0.7.6
Compiling rustc_version v0.2.3
Compiling quote v1.0.7
Compiling alloc v0.0.0 (/home/nbro/.rustup/toolchains/nightly-2022-03-21-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc)
Compiling raw-cpuid v7.0.3
Compiling scroll v0.9.2
Compiling rand_chacha v0.1.0
Compiling rand_pcg v0.1.1
Compiling rand v0.6.1
Compiling const_format_proc_macros v0.2.22
Compiling vte_generate_state_changes v0.1.1
Compiling scopeguard v1.1.0
Compiling cfg-if v0.1.10
Compiling bitflags v1.3.2
Compiling byteorder v1.4.3
Compiling static_assertions v1.1.0
Compiling zero v0.1.3 (https://github.com/theseus-os/zero.git#9fc7ff52)
Compiling bit_field v0.7.0
Compiling spin v0.5.2
Compiling volatile v0.4.4
Compiling bit_field v0.10.1
Compiling atomic_linked_list v0.1.0 (/Theseus/libs/atomic_linked_list)
Compiling port_io v0.2.1 (/Theseus/libs/port_io)
Compiling once_cell v1.9.0
Compiling cfg-if v1.0.0
Compiling msr v0.1.0 (/Theseus/libs/msr)
Compiling plain v0.2.3
Compiling void v1.0.2
Compiling either v1.5.0
Compiling cty v0.2.1
Compiling util v0.1.0 (/Theseus/libs/util)
Compiling rustc-demangle v0.1.19
Compiling rangemap v0.1.13
Compiling mouse_data v0.1.0 (/Theseus/libs/mouse_data)
Compiling dfqueue v0.1.0 (/Theseus/libs/dfqueue)
Compiling mpmc v0.1.6
Compiling nodrop v0.1.13
Compiling stable_deref_trait v1.1.1
Compiling fallible-iterator v0.2.0
Compiling by_address v1.0.4
Compiling debugit v0.1.0 (/Theseus/libs/debugit)
Compiling unicode-width v0.1.8
Compiling rand_core v0.3.0
Compiling managed v0.7.1
Compiling downcast-rs v1.2.0
Compiling byte-tools v0.3.0
Compiling keccak v0.1.0
Compiling opaque-debug v0.2.1
Compiling percent-encoding v1.0.2 (/Theseus/libs/percent_encoding)
Compiling linked_list_allocator v0.9.1
Compiling arrayvec v0.5.2
Compiling utf8parse v0.2.0
Compiling parity-wasm v0.42.2
Compiling memory_units v0.3.0
Compiling wasi v0.10.0+wasi-snapshot-preview1 (https://github.com/bytecodealliance/wasi?rev=45536ac956a6211e3cff047f36cf19d6da82fd95#45536ac9)
Compiling synstructure v0.12.4
Compiling lock_api v0.4.2
Compiling multiboot2 v0.10.1
Compiling keycodes_ascii v0.1.0 (/Theseus/libs/keycodes_ascii)
Compiling xmas-elf v0.6.2 (https://github.com/theseus-os/xmas-elf.git#635d55f6)
Compiling lazy_static v1.4.0
Compiling intrusive-collections v0.9.0
Compiling derive_more v0.99.14
Compiling delegate v0.6.0
Compiling num_enum_derive v0.5.2
Compiling derivative v2.2.0
Compiling core2 v0.4.0
Compiling unreachable v1.0.0
Compiling cstr_core v0.2.3
Compiling itertools v0.7.11
Compiling getopts v0.2.21 (https://github.com/theseus-os/getopts#da1e0482)
Compiling rand_xorshift v0.1.0
Compiling rand_isaac v0.1.1
Compiling rand_hc v0.1.0
Compiling smoltcp v0.5.0 (https://github.com/m-labs/smoltcp#0fedb1db)
Compiling block-padding v0.1.2
Compiling block_allocator v0.1.0 (/Theseus/kernel/block_allocator)
Compiling wasmi-validation v0.4.1
Compiling zerocopy-derive v0.3.0
Compiling generic-array v0.12.0
Compiling spin v0.9.0 (https://github.com/theseus-os/spin-rs#f6ffb27c)
Compiling slabmalloc_unsafe v0.7.0 (/Theseus/kernel/slabmalloc_unsafe)
Compiling fatfs v0.4.0 (https://github.com/rafalh/rust-fatfs#87fc1ed5)
Compiling rbtree v0.1.5 (https://github.com/theseus-os/rbtree-rs.git#45aa9e94)
Compiling vte v0.10.1
Compiling const_format v0.2.22
Compiling hashbrown v0.11.2
Compiling new_debug_unreachable v1.0.1
Compiling gimli v0.19.0
Compiling goblin v0.0.19
Compiling block-buffer v0.7.0
Compiling digest v0.8.0
Compiling stable_deref_trait v1.1.1 (https://github.com/theseus-os/stable_deref_trait.git?branch=spin#e006c792)
Compiling qp-trie v0.7.3 (https://github.com/theseus-os/qp-trie-rs#84792356)
Compiling wasmi v0.9.1
Compiling sha3 v0.8.1
Compiling owning_ref v0.4.1 (https://github.com/theseus-os/owning-ref-rs#0d2dcdcf)
Compiling irq_safety v0.1.1 (https://github.com/theseus-os/irq_safety#d6be450e)
Compiling cow_arc v0.1.0 (/Theseus/libs/cow_arc)
Compiling num_enum v0.5.2
Compiling x86_64 v0.14.8 (/Theseus/libs/x86_64)
warning: the feature `const_fn_fn_ptr_basics` has been stable since 1.61.0 and no longer requires an attribute to enable
--> libs/x86_64/src/lib.rs:6:43
|
6 | #![cfg_attr(feature = "const_fn", feature(const_fn_fn_ptr_basics))] // IDT new()
| ^^^^^^^^^^^^^^^^^^^^^^
|
= note: `#[warn(stable_features)]` on by default
warning: the feature `const_fn_trait_bound` has been stable since 1.61.0 and no longer requires an attribute to enable
--> libs/x86_64/src/lib.rs:7:43
|
7 | #![cfg_attr(feature = "const_fn", feature(const_fn_trait_bound))] // PageSize marker trait
| ^^^^^^^^^^^^^^^^^^^^
Compiling lockable v0.1.0 (/Theseus/libs/lockable)
warning: `x86_64` (lib) generated 2 warnings
Compiling zerocopy v0.5.0
Compiling volatile v0.2.7 (https://github.com/theseus-os/volatile#73a307a2)
Compiling fs_node v0.1.0 (/Theseus/kernel/fs_node)
Compiling slabmalloc_safe v0.7.0 (/Theseus/kernel/slabmalloc_safe)
Compiling slabmalloc v0.7.0 (/Theseus/kernel/slabmalloc)
Compiling root v0.1.0 (/Theseus/kernel/root)
Compiling vfs_node v0.1.0 (/Theseus/kernel/vfs_node)
Compiling memfs v0.1.0 (/Theseus/kernel/memfs)
Compiling heapfile v0.1.0 (/Theseus/kernel/heapfile)
Compiling memory_initialization v0.1.0 (/Theseus/kernel/memory_initialization)
Compiling environment v0.1.0 (/Theseus/kernel/environment)
Compiling path v0.1.0 (/Theseus/kernel/path)
Compiling crate_name_utils v0.1.0 (/Theseus/kernel/crate_name_utils)
Compiling task_fs v0.1.0 (/Theseus/kernel/task_fs)
Compiling print_fault_log v0.1.0 (/Theseus/applications/print_fault_log)
Compiling pwd v0.1.0 (/Theseus/applications/pwd)
Compiling mkdir v0.1.0 (/Theseus/applications/mkdir)
Compiling cd v0.1.0 (/Theseus/applications/cd)
Compiling ls v0.1.0 (/Theseus/applications/ls)
Compiling ixgbe v0.1.0 (/Theseus/kernel/ixgbe)
Compiling wasm v0.1.0 (/Theseus/applications/wasm)
Finished release [optimized] target(s) in 20m 07s
ld -n -T /Theseus/kernel/nano_core/src/boot/arch_x86_64/linker_higher_half.ld -o /Theseus/build/nano_core/nano_core-x86_64.bin /Theseus/build/nano_core/boot/x86_64/defines.o /Theseus/build/nano_core/boot/x86_64/common.o /Theseus/build/nano_core/boot/x86_64/boot.o /Theseus/build/nano_core/boot/x86_64/multiboot_header.o /Theseus/build/nano_core/boot/x86_64/ap_realmode.o /Theseus/build/nano_core/boot/x86_64/ap_boot.o /Theseus/target/x86_64-theseus/release/libnano_core.a
Downloaded rustc-demangle v0.1.14
Downloaded getopts v0.2.17
Downloaded 2 crates (36.8 KB) in 1.13s
Compiling rustc-demangle v0.1.14
Compiling getopts v0.2.17
Compiling demangle_symbol v0.1.0 (/Theseus/tools/demangle_readelf_file)
Finished release [optimized] target(s) in 9.47s
Running `tools/demangle_readelf_file/target/release/demangle_symbol /dev/fd/63`
Downloaded same-file v1.0.6
Downloaded walkdir v2.3.1
Downloaded 2 crates (33.6 KB) in 0.32s
Compiling same-file v1.0.6
Compiling getopts v0.2.17
Compiling walkdir v2.3.1
Compiling copy_latest_crate_objects v0.1.0 (/Theseus/tools/copy_latest_crate_objects)
Finished release [optimized] target(s) in 10.64s
Running `tools/copy_latest_crate_objects/target/release/copy_latest_crate_objects -i ./target/x86_64-theseus/release/deps --output-objects /Theseus/build/grub-isofiles/modules --output-deps /Theseus/build/deps --output-sysroot /Theseus/build/deps/sysroot/lib/rustlib/x86_64-theseus/lib -k ./kernel -a ./applications --kernel-prefix 'k#' --app-prefix 'a#' -e 'getopts unicode_width libtheseus'`
'/Theseus/cfg/x86_64-theseus.json' -> '/Theseus/build/deps/x86_64-theseus.json'
'/Theseus/build/grub-isofiles/modules/README.md' => '/Theseus/extra_files/README.md'
'/Theseus/build/grub-isofiles/modules/test_files?text?a_new_hope.txt' => '/Theseus/extra_files/test_files/text/a_new_hope.txt'
'/Theseus/build/grub-isofiles/modules/test_files?text?attack_of_the_clones.txt' => '/Theseus/extra_files/test_files/text/attack_of_the_clones.txt'
'/Theseus/build/grub-isofiles/modules/test_files?text?return_of_the_jedi.txt' => '/Theseus/extra_files/test_files/text/return_of_the_jedi.txt'
'/Theseus/build/grub-isofiles/modules/test_files?text?revenge_of_the_sith.txt' => '/Theseus/extra_files/test_files/text/revenge_of_the_sith.txt'
'/Theseus/build/grub-isofiles/modules/test_files?text?the_empire_strikes_back.txt' => '/Theseus/extra_files/test_files/text/the_empire_strikes_back.txt'
'/Theseus/build/grub-isofiles/modules/test_files?text?the_force_awakens.txt' => '/Theseus/extra_files/test_files/text/the_force_awakens.txt'
'/Theseus/build/grub-isofiles/modules/test_files?text?the_last_jedi.txt' => '/Theseus/extra_files/test_files/text/the_last_jedi.txt'
'/Theseus/build/grub-isofiles/modules/test_files?text?the_phantom_menace.txt' => '/Theseus/extra_files/test_files/text/the_phantom_menace.txt'
'/Theseus/build/grub-isofiles/modules/test_files?text?the_rise_of_skywalker.txt' => '/Theseus/extra_files/test_files/text/the_rise_of_skywalker.txt'
'/Theseus/build/grub-isofiles/modules/test_files?zork_dat?dtextc.dat' => '/Theseus/extra_files/test_files/zork_dat/dtextc.dat'
'/Theseus/build/grub-isofiles/modules/wasm?exorbitant.wasm' => '/Theseus/extra_files/wasm/exorbitant.wasm'
'/Theseus/build/grub-isofiles/modules/wasm?grep.wasm' => '/Theseus/extra_files/wasm/grep.wasm'
'/Theseus/build/grub-isofiles/modules/wasm?pee.wasm' => '/Theseus/extra_files/wasm/pee.wasm'
'/Theseus/build/grub-isofiles/modules/wasm?zork.wasm' => '/Theseus/extra_files/wasm/zork.wasm'
make grub
make[1]: Entering directory '/Theseus'
Compiling getopts v0.2.17
Compiling grub_cfg_generation v0.1.0 (/Theseus/tools/grub_cfg_generation)
Finished release [optimized] target(s) in 7.48s
Running `tools/grub_cfg_generation/target/release/grub_cfg_generation /Theseus/build/grub-isofiles/modules/ -o /Theseus/build/grub-isofiles/boot/grub/grub.cfg`
make[1]: Leaving directory '/Theseus'
qemu-system-x86_64 -cdrom /Theseus/build/theseus-x86_64.iso -boot d -no-reboot -no-shutdown -s -serial mon:stdio -serial mon:pty -m 512M -smp 4 -net none -cpu Broadwell
qemu-system-x86_64: -serial mon:pty: char device redirected to /dev/pts/1 (label serial1-base)
qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.fma [bit 12]
qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.pcid [bit 17]
qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.x2apic [bit 21]
qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.tsc-deadline [bit 24]
qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.avx [bit 28]
qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.f16c [bit 29]
qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.rdrand [bit 30]
qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.07H:EBX.hle [bit 4]
qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.07H:EBX.avx2 [bit 5]
qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.07H:EBX.invpcid [bit 10]
qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.07H:EBX.rtm [bit 11]
qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.07H:EBX.rdseed [bit 18]
qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.80000001H:ECX.3dnowprefetch [bit 8]
qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.fma [bit 12]
qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.pcid [bit 17]
qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.x2apic [bit 21]
qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.tsc-deadline [bit 24]
qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.avx [bit 28]
qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.f16c [bit 29]
qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.rdrand [bit 30]
qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.07H:EBX.hle [bit 4]
qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.07H:EBX.avx2 [bit 5]
qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.07H:EBX.invpcid [bit 10]
qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.07H:EBX.rtm [bit 11]
qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.07H:EBX.rdseed [bit 18]
qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.80000001H:ECX.3dnowprefetch [bit 8]
qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.fma [bit 12]
qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.pcid [bit 17]
qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.x2apic [bit 21]
qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.tsc-deadline [bit 24]
qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.avx [bit 28]
qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.f16c [bit 29]
qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.rdrand [bit 30]
qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.07H:EBX.hle [bit 4]
qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.07H:EBX.avx2 [bit 5]
qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.07H:EBX.invpcid [bit 10]
qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.07H:EBX.rtm [bit 11]
qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.07H:EBX.rdseed [bit 18]
qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.80000001H:ECX.3dnowprefetch [bit 8]
qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.fma [bit 12]
qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.pcid [bit 17]
qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.x2apic [bit 21]
qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.tsc-deadline [bit 24]
qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.avx [bit 28]
qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.f16c [bit 29]
qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.rdrand [bit 30]
qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.07H:EBX.hle [bit 4]
qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.07H:EBX.avx2 [bit 5]
qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.07H:EBX.invpcid [bit 10]
qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.07H:EBX.rtm [bit 11]
qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.07H:EBX.rdseed [bit 18]
qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.80000001H:ECX.3dnowprefetch [bit 8]
Could not initialize SDL(No available video device) - exiting
Makefile:771: recipe for target 'run' failed
make: *** [run] Error 1
There are several related posts on the web about this error. See, for example, here. However, given that I am not really familiar with Theseus (I'm trying it for the first time), I don't want to spend like 10 days trying to figure out the problem, while maybe someone can solve it in 5 minutes.
My host OS is Mac OS Monterey (12.3.1).
Hi @nbro, thanks for the question! I believe the issue comes from being unable to run qemu in a docker container, though admittedly it's been awhile since I've tried to do so.
If you exit the container after building Theseus and run qemu on your host machine, then it ought to work. This is what our docker scripts and documentation suggests doing for KVM support, and on a Mac it may be required for qemu even without KVM.
Oh wait, it looks like I missed the key issue. The good thing is that this doesn't have anything to do with Theseus specifically, it's about QEMU being unable to find an X window server on macOS.
I think the solution might be accomplished with one or two settings, but unfortunately I don't have access to a macOS machine at the moment and thus cannot test it myself.
- Install an X windows server on macOS and configure your system to use it.
- If you take a look at the readme instructions for building Theseus on WSL, you'll see that we have to install something like
Xmingand the set the correspondingDISPLAYenvironment variable, e.g.,export DISPLAY=.... - On macOS, I believe the corresponding program is called XQuartz.
- If you take a look at the readme instructions for building Theseus on WSL, you'll see that we have to install something like
- If that's not enough, perhaps you need to run the docker container in a privileged mode such that it has access to macOS's X window server.
Hopefully that will get things working for you!
Closing due to issue being addressed. Feel free to re-open if still problematic.
@kevinaboos I didn't have time to look at your suggestions and try them so far. I'll try to do it as soon as possible. I would leave the issue open until we're sure that it's really solved and we know the solution.
Sure, no problem. Let us know if it works for you.