SamyPesse/How-to-Make-a-Computer-Operating-System

make all Failure on Debian 8.X

Opened this issue · 6 comments

I did make all on the latest release and this happened.

I checked to make sure everything was setup properly and this still happened. Any ideas why? I have none.

Update: Tried it on Ubuntu, still had errors.

I have the same error, text error version of make all:

Building Kernel
make -C ./kernel
make[1]: Entering directory '/home/hiepph/src/How-to-Make-a-Computer-Operating-System/src/kernel'
ld -melf_i386 -static  -L ./  -T ./arch/x86/linker.ld -o kernel.elf arch/x86/start.o runtime/cxx.o runtime/itoa.o runtime/buffer.o runtime/memory.o runtime/string.o core/class.o core/elf_loader.o core/file.o core/filesystem.o core/kernel.o core/api_posix.o core/process.o core/syscalls.o core/device.o core/system.o core/env.o core/user.o core/modulelink.o core/socket.o modules/module.o modules/null.o modules/stdtty.o modules/x86serial.o modules/ide.o modules/bochsvbe.o modules/ext2.o modules/dospartition.o modules/clock_x86.o modules/keys.o arch/x86/alloc.o arch/x86/architecture.o arch/x86/io.o arch/x86/vmm.o arch/x86/x86.o arch/x86/switch.o arch/x86/x86int.o 
core/file.o: In function `File::~File()':
/home/hiepph/src/How-to-Make-a-Computer-Operating-System/src/kernel/core/file.cc:73: undefined reference to `operator delete(void*, unsigned int)'
core/file.o: In function `File::remove()':
/home/hiepph/src/How-to-Make-a-Computer-Operating-System/src/kernel/core/file.cc:223: undefined reference to `operator delete(void*, unsigned int)'
core/filesystem.o: In function `Filesystem::~Filesystem()':
/home/hiepph/src/How-to-Make-a-Computer-Operating-System/src/kernel/core/filesystem.cc:26: undefined reference to `operator delete(void*, unsigned int)'
core/process.o: In function `Process::~Process()':
/home/hiepph/src/How-to-Make-a-Computer-Operating-System/src/kernel/core/process.cc:12: undefined reference to `operator delete(void*, unsigned int)'
core/process.o: In function `Process::remove()':
/home/hiepph/src/How-to-Make-a-Computer-Operating-System/src/kernel/core/process.cc:106: undefined reference to `operator delete(void*, unsigned int)'
core/device.o:/home/hiepph/src/How-to-Make-a-Computer-Operating-System/src/kernel/core/device.cc:35: more undefined references to `operator delete(void*, unsigned int)' follow
make[1]: *** [Makefile:21: kernel.elf] Error 1
make[1]: Leaving directory '/home/hiepph/src/How-to-Make-a-Computer-Operating-System/src/kernel'
make: *** [Makefile:11: all] Error 2

Reproduce Ubuntu 18.04.

Add to cxx.cc
void operator delete(void * ptr, size_t size) { ::operator delete(ptr); }

Add to cxx.cc
void operator delete(void * ptr, size_t size) { ::operator delete(ptr); }

This solve problem on ubuntu 18.04.
Thank You!

I experience issues when running make all command,with following error
ld: core/class.o: unrecognized relocation (0x2b) in section .text
ld: final link failed: bad value
make[1]: [kernel.elf] error 1
make[1]: leaving directory
make: ***[all] error 2

I'm on vagrantlucid32