# Project: Web-based RISC-V Instruction Set Simulation and Debugger > Project Requirement <[Web-based RISC-V Instruction Set Simulation and Debugger](https://hackmd.io/@sysprog/S1t4EjCZ-e)> > Past Project Reference <[Enhance visualized RISC-V simulation](https://hackmd.io/@sysprog/H1hH_y_Syx)> > Github <[1141_CA_Final_Project](https://github.com/ianrwan/1141_CA_Final_Project.git)> ## Project Preparation ### Create Final Project Folder and Create New Git ```bash= mkdir Final_Project cd Final_Project ``` After `Final_Project` folder is created, we can add `README.md` file inside the folder and have a initial commit in `main` branch. ```bash= git add . git commit -m "Initial Commit" git branch -M main ``` ### Merge Ares Project Here is [Ares](https://github.com/ldlaur/ares.git) project on Github and we can merge it into the git of our final project. We can type following comments: ```bash= git subtree add --prefix=ares https://github.com/ldlaur/ares.git master --squash ``` > Explaination of this comment: > 1. **subtree:** It can help us easily merge projects which already had git. > 2. **--prefix=ares:** It can help us create a folder named `ares` and put the git folder inside it. <font color="red">**[The folder we want to create needs to be empty, otherwise it won't work.]**</font> > 3. **https ~:** The directory or url we want to download from. > 4. **master:** The branch we want to download from. > 5. **--squash:** This identifier will only show the latest commit or the commit we assign. If we don't use this identifier, it will merge all the commits together. > The detail of `git subtree` can see the document -> [Git Subtree](https://git-memo.readthedocs.io/en/latest/subtree.html). > Or the note from Bosh Kuo -> [Git Subtree:多專案整合的實用技巧](https://notes.boshkuo.com/docs/DevTools/Git/git-subtree). Ares is a web which can dynamically show the RV32I instruction between the memory. The original web of Ares -> [Ares Web](https://ares-sim.github.io/). ### Merge emulsiV Project Here is [emulsiV](https://github.com/ESEO-Tech/emulsiV) project on Github and we can merge it into the git of out final project. We can type following comments: ```bash= git subtree add --prefix=ares https://github.com/ESEO-Tech/emulsiV master --squash ``` ### Push it to Our Github 1141_CA_Fianl_Project ```bash= git remote add origin https://github.com/ianrwan/1141_CA_Final_Project.git git push -u origin main ``` **Github of our final project -> [1141_CA_Final_Project](https://github.com/ianrwan/1141_CA_Final_Project.git).** ## Test WebAssembly <[mdn Webassembly](https://developer.mozilla.org/en-US/docs/WebAssembly/Guides/C_to_Wasm)> <[Download WebAssembly](https://emscripten.org/docs/getting_started/downloads.html)> ## Test Websocket ``` CMake Error at C:/InstallData/cmake/share/cmake-4.2/Modules/FindPackageHandleStandardArgs.cmake:290 (message): Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the system variable OPENSSL_ROOT_DIR (missing: OPENSSL_CRYPTO_LIBRARY OPENSSL_INCLUDE_DIR) Call Stack (most recent call first): C:/InstallData/cmake/share/cmake-4.2/Modules/FindPackageHandleStandardArgs.cmake:654 (_FPHSA_FAILURE_MESSAGE) C:/InstallData/cmake/share/cmake-4.2/Modules/FindOpenSSL.cmake:752 (find_package_handle_standard_args) lib/tls/CMakeLists.txt:292 (find_package) ``` Solution: ``` cmake .. -G "MinGW Makefiles" -DLWS_WITH_SSL=OFF ``` Next Step: ``` In file included from C:/Users/Ianwa/Documents/My_Data/test_websocket/libwebsockets/lib/core/private-lib-core.h:135:0, from C:\Users\Ianwa\Documents\My_Data\test_websocket\libwebsockets\lib\plat\windows\windows-fds.c:28: c:\users\ianwa\documents\my_data\test_websocket\libwebsockets\lib\plat\windows\private-lib-plat-windows.h:62:23: fatal error: in6addr.h: No such file or directory #include <in6addr.h> ^ compilation terminated. lib\CMakeFiles\websockets.dir\build.make:78: recipe for target 'lib/CMakeFiles/websockets.dir/plat/windows/windows-fds.c.obj' failed mingw32-make[2]: *** [lib/CMakeFiles/websockets.dir/plat/windows/windows-fds.c.obj] Error 1 CMakeFiles\Makefile2:4969: recipe for target 'lib/CMakeFiles/websockets.dir/all' failed mingw32-make[1]: *** [lib/CMakeFiles/websockets.dir/all] Error 2 Makefile:164: recipe for target 'all' failed mingw32-make: *** [all] Error 2 ```