nieklinnenbank / FreeNOS

FreeNOS (Free Niek's Operating System) is an experimental microkernel based operating system for learning purposes written in C++. You may use the code as you wish under the terms of the GPLv3.
http://www.FreeNOS.org
GNU General Public License v3.0
858 stars 1.34k forks source link

Failed to build #3

Open Andrew-He opened 8 years ago

Andrew-He commented 8 years ago

Hi, Nielklinnenbank,

 I fork this project, and trying to build it according to http://www.freenos.org/documentation/freenos-developers-handbook.html  

Here is the snapshot when running "scons" on the root directory, thank you

scons: Reading SConscript files ... Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include/c++/4.2.1 Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include/c++/4.2.1 Checking for -m32 ... (cached) yes Checking for -Wall ... (cached) yes Checking for -Wextra ... (cached) yes Checking for -nostdinc ... (cached) yes Checking for -fno-stack-protector ... (cached) yes Checking for -fno-builtin ... (cached) yes Checking for -Wno-write-strings ... (cached) yes Checking for -Wno-unused-parameter ... (cached) yes Checking for -Wno-ignored-qualifiers ... (cached) yes Checking for -g3 ... (cached) yes Checking for -O0 ... (cached) yes Checking for -fno-rtti ... (cached) yes Checking for -fno-exceptions ... (cached) yes scons: done reading SConscript files. scons: Building targets ... CXX build/host/bin/img/Main.o In file included from bin/img/Main.cpp:18: In file included from build/host/include/FreeNOS/System.h:32: In file included from kernel/intel/IntelKernel.h:122: In file included from kernel/FreeNOS/Kernel.h:27: In file included from kernel/Process.h:26: lib/libstd/Index.h:116:18: warning: 'IndexProcessShares::MemoryShare::remove' hides overloaded virtual function [-Woverloaded-virtual] virtual bool remove(Size position) ^ kernel/ProcessShares.h:170:24: note: in instantiation of template class 'IndexProcessShares::MemoryShare' requested here Index m_shares; ^ lib/libstd/Sequence.h:76:17: note: hidden overloaded virtual function 'SequenceProcessShares::MemoryShare::remove' declared here: type mismatch at 1st parameter ('ProcessShares::MemoryShare' vs 'Size' (aka 'unsigned int')) virtual int remove(T value) ^ In file included from bin/img/Main.cpp:18: In file included from build/host/include/FreeNOS/System.h:32: In file included from kernel/intel/IntelKernel.h:122: In file included from kernel/FreeNOS/Kernel.h:27: In file included from kernel/Process.h:26: lib/libstd/Index.h:159:18: warning: 'IndexProcessShares::MemoryShare::contains' hides overloaded virtual function [-Woverloaded-virtual] virtual bool contains(T value) ^ lib/libstd/Sequence.h:124:18: note: hidden overloaded virtual function 'SequenceProcessShares::MemoryShare::contains' declared here: different qualifiers (const vs none) virtual bool contains(const T value) const ^ In file included from bin/img/Main.cpp:18: In file included from build/host/include/FreeNOS/System.h:32: In file included from kernel/intel/IntelKernel.h:122: In file included from kernel/FreeNOS/Kernel.h:27: In file included from kernel/Process.h:26: lib/libstd/Index.h:171:17: warning: 'IndexProcessShares::MemoryShare::compareTo' hides overloaded virtual function [-Woverloaded-virtual] virtual int compareTo(const Index &idx) const ^ lib/libstd/Sequence.h:138:17: note: hidden overloaded virtual function 'SequenceProcessShares::MemoryShare::compareTo' declared here: type mismatch at 1st parameter ('const SequenceProcessShares::MemoryShare &' vs 'const IndexProcessShares::MemoryShare &') virtual int compareTo(const Sequence &s) const ^ In file included from bin/img/Main.cpp:18: In file included from build/host/include/FreeNOS/System.h:32: In file included from kernel/intel/IntelKernel.h:125: lib/libarch/intel/IntelAPIC.h:149:19: warning: 'IntelAPIC::start' hides overloaded virtual function [-Woverloaded-virtual] Timer::Result start(IntelPIT _pit); ^ lib/libarch/Timer.h:104:20: note: hidden overloaded virtual function 'Timer::start' declared here: different number of parameters (0 vs 1) virtual Result start(); ^ In file included from bin/img/Main.cpp:18: In file included from build/host/include/FreeNOS/System.h:32: In file included from kernel/intel/IntelKernel.h:125: lib/libarch/intel/IntelAPIC.h:158:19: warning: 'IntelAPIC::start' hides overloaded virtual function [-Woverloaded-virtual] Timer::Result start(uint initialCounter, uint hertz); ^ lib/libarch/Timer.h:104:20: note: hidden overloaded virtual function 'Timer::start' declared here: different number of parameters (0 vs 2) virtual Result start(); ^ In file included from bin/img/Main.cpp:18: In file included from build/host/include/FreeNOS/System.h:34: In file included from kernel/intel/IntelSerial.h:11: In file included from lib/libstd/Log.h:13: lib/libstd/String.h:197:17: warning: 'String::compareTo' hides overloaded virtual function [-Woverloaded-virtual] virtual int compareTo(const String & str) const; ^ lib/libstd/Sequence.h:138:17: note: hidden overloaded virtual function 'Sequence::compareTo' declared here: type mismatch at 1st parameter ('const Sequence &' vs 'const String &') virtual int compareTo(const Sequence &s) const ^ In file included from bin/img/Main.cpp:18: In file included from build/host/include/FreeNOS/System.h:34: In file included from kernel/intel/IntelSerial.h:11: In file included from lib/libstd/Log.h:13: lib/libstd/String.h:207:17: warning: 'String::compareTo' hides overloaded virtual function [-Woverloaded-virtual] virtual int compareTo(const String & str, ^ lib/libstd/Sequence.h:138:17: note: hidden overloaded virtual function 'Sequence::compareTo' declared here: different number of parameters (1 vs 2) virtual int compareTo(const Sequence &s) const ^ In file included from bin/img/Main.cpp:18: In file included from build/host/include/FreeNOS/System.h:34: In file included from kernel/intel/IntelSerial.h:11: In file included from lib/libstd/Log.h:13: lib/libstd/String.h:219:17: warning: 'String::compareTo' hides overloaded virtual function [-Woverloaded-virtual] virtual int compareTo(const char str, ^ lib/libstd/Sequence.h:138:17: note: hidden overloaded virtual function 'Sequence::compareTo' declared here: different number of parameters (1 vs 3) virtual int compareTo(const Sequence &s) const ^ In file included from bin/img/Main.cpp:18: In file included from build/host/include/FreeNOS/System.h:34: In file included from kernel/intel/IntelSerial.h:11: In file included from lib/libstd/Log.h:13: lib/libstd/String.h:226:18: warning: 'String::equals' hides overloaded virtual function [-Woverloaded-virtual] virtual bool equals(const String &str) const; ^ lib/libstd/Comparable.h:41:18: note: hidden overloaded virtual function 'Comparable<Sequence >::equals' declared here: type mismatch at 1st parameter ('const Sequence &' vs 'const String &') virtual bool equals(const T &t) const ^ bin/img/Main.cpp:44:29: error: use of undeclared identifier 'strerror' prog, file, strerror(errno)); ^ bin/img/Main.cpp:51:14: error: use of undeclared identifier 'strlen' line[strlen(line) - 1] = 0; ^ bin/img/Main.cpp:55:9: error: use of undeclared identifier 'strncpy' strncpy(entry->symbol.name, line, BOOTIMAGE_NAMELEN); ^ bin/img/Main.cpp:62:33: error: use of undeclared identifier 'strerror' prog, line, strerror(errno)); ^ bin/img/Main.cpp:73:33: error: use of undeclared identifier 'strerror' prog, line, strerror(errno)); ^ bin/img/Main.cpp:79:33: error: use of undeclared identifier 'strerror' prog, line, strerror(errno)); ^ bin/img/Main.cpp:91:41: error: use of undeclared identifier 'strerror' prog, line, strerror(errno)); ^ bin/img/Main.cpp:151:5: error: use of undeclared identifier 'memset' memset(&image, 0, sizeof(image)); ^ bin/img/Main.cpp:152:5: error: use of undeclared identifier 'memset' memset(symbols, 0, sizeof(BootSymbol) * input.count()); ^ bin/img/Main.cpp:166:9: error: use of undeclared identifier 'strncpy' strncpy(symbols[i].name, input[i]->symbol.name, BOOTIMAGE_NAMELEN); ^ bin/img/Main.cpp:179:5: error: use of undeclared identifier 'memset' memset(segments, 0, sizeof(BootSegment) * numSegments); ^ bin/img/Main.cpp:210:35: error: use of undeclared identifier 'strerror' argv[0], argv[2], strerror(errno)); ^ bin/img/Main.cpp:219:35: error: use of undeclared identifier 'strerror' argv[0], argv[2], strerror(errno)); ^ bin/img/Main.cpp:233:43: error: use of undeclared identifier 'strerror' argv[0], argv[2], strerror(errno)); ^ bin/img/Main.cpp:241:43: error: use of undeclared identifier 'strerror' argv[0], argv[2], strerror(errno)); ^ 9 warnings and 15 errors generated. scons: _* [build/host/bin/img/Main.o] Error 1 scons: building terminated because of errors.

zhuzhuaicoding commented 8 years ago
In file included from <command-line>:0:0:
./lib/liballoc/Allocator.h:238:15: warning: 'void* operator new(long unsigned int, Address)' is a usual (non-placement) deallocation function in C++14 (or with -fsized-deallocation) [-Wc++14-compat]
 inline void * operator new(__SIZE_TYPE__ sz, Address addr)
               ^
lib/libarch/intel/IntelCore.h: Assembler messages:
lib/libarch/intel/IntelCore.h:45: Error: unsupported instruction `mov'
lib/libarch/intel/IntelCore.h:46: Error: unsupported instruction `mov'
scons: *** [build/intel/pc/bin/bench/Main.o] Error 1
scons: building terminated because of errors.

I has this error .How to fixed ?

HelloYangdie commented 7 years ago

I also failed to build it. Like this: scons: done reading SConscript files. scons: Building targets ... CXX build/intel/pc/kernel/intel/pc/Main.o kernel/intel/pc/Main.cpp:19:29: error: FreeNOS/Support.h: No such file or directory In file included from build/intel/pc/include/FreeNOS/System.h:32, from kernel/intel/pc/Main.cpp:20: kernel/intel/IntelKernel.h:122:28: error: FreeNOS/Kernel.h: No such file or directory In file included from build/intel/pc/include/FreeNOS/System.h:33, from kernel/intel/pc/Main.cpp:20: kernel/intel/IntelProcess.h:21:29: error: FreeNOS/Process.h: No such file or directory In file included from kernel/intel/pc/Main.cpp:20: build/intel/pc/include/FreeNOS/System.h:36:25: error: FreeNOS/API.h: No such file or directory In file included from build/intel/pc/include/FreeNOS/System.h:32, from kernel/intel/pc/Main.cpp:20: kernel/intel/IntelKernel.h:139: error: expected class-name before ‘{’ token kernel/intel/IntelKernel.h:145: error: expected ‘)’ before ‘’ token In file included from build/intel/pc/include/FreeNOS/System.h:33, from kernel/intel/pc/Main.cpp:20: kernel/intel/IntelProcess.h:28: error: expected class-name before ‘{’ token kernel/intel/IntelProcess.h:59: error: ‘Result’ does not name a type kernel/intel/IntelProcess.h:66: error: ‘Process’ has not been declared kernel/intel/pc/Main.cpp: In function ‘int kernel_main(CoreInfo)’: kernel/intel/pc/Main.cpp:31: error: ‘Kernel’ has not been declared kernel/intel/pc/Main.cpp:43: error: ‘constructors’ was not declared in this scope kernel/intel/pc/Main.cpp:46: error: no matching function for call to ‘IntelKernel::IntelKernel(CoreInfo*&)’ kernel/intel/IntelKernel.h:139: note: candidates are: IntelKernel::IntelKernel() kernel/intel/IntelKernel.h:139: note: IntelKernel::IntelKernel(const IntelKernel&) kernel/intel/pc/Main.cpp:47: error: ‘class IntelKernel’ has no member named ‘run’ scons: *** [build/intel/pc/kernel/intel/pc/Main.o] Error 1

lishaohsuai commented 7 years ago

@earlymeme i have the same question with you.maybe it can only run in os with 32-bits. maybe the auther decide to forgive it, because he is too busy to make it beautiful. 两个中国人讲英文真累.

JxLiu2016 commented 7 years ago

确实是在64位Linux下报错,但在32位Linux下运行正常。

koyelac commented 6 years ago

I am having issues building the model. Here is the error am getting: Problem - Copy.txt Please help me find out where I have gone wrong. Am totally new to it.

chenhan199207 commented 5 years ago

I also failed to build it. Like this: scons: done reading SConscript files. scons: Building targets ... CXX build/intel/pc/kernel/intel/pc/Main.o kernel/intel/pc/Main.cpp:19:29: error: FreeNOS/Support.h: No such file or directory

Please help me with it,.

LJXLJXLJX commented 5 years ago

确实是在64位Linux下报错,但在32位Linux下运行正常。

问下解决了吗,我在ubuntu虚拟机也遇到这个问题

tan-wei commented 5 years ago

It seems that x64 architecture is not supported now.