Home PC Games Linux Windows Database Network Programming Server Mobile  
           
  Home \ Linux \ CoreCLR compiled in Linux CentOS     - Vmstat command Linux Performance Monitoring (Linux)

- Android official recommendation: DialogFragment create dialog (Programming)

- Recover Ubuntu 14.04 wakes up from standby in case mouse keyboard appears dead (Linux)

- Simple RPM package production (Linux)

- Linux add a new hard disk (Linux)

- Use Ansible installation NGINX and NGINX Plus (Server)

- MySQL Installation Troubleshooting (Database)

- Oracle Database import and export combat (Database)

- Ubuntu install video playback software SMPlayer 14.9.0.7042 (Linux)

- Help you make Git Bisect (Linux)

- Actual custom yum repository ---- gem commands commonly used parameters (Linux)

- CentOS5 installation Nodejs (Linux)

- Java String type time compare the size (Programming)

- High-performance JavaScript loops and flow control (Programming)

- To execute the cp command prompt type skip folder under CentOS (Linux)

- User rights management system under Linux (Linux)

- Oracle 11g on Linux system boot from the startup settings (Database)

- How to install the Ruby runtime environment on Mac OS X (Linux)

- Installation and operation GAMIT software under Linux operating system (Linux)

- Five strokes to find out the IP address you want to know (Linux)

 
         
  CoreCLR compiled in Linux CentOS
     
  Add Date : 2018-11-21      
         
         
         
  After several days of efforts, finally solved in CentOS compiled CoreCLR problems. CMAKE_C_FLAGS eventually found the problem is caused by the setting.

As long as the "src / pal / tools / clang-compiler-override.txt" delete "SET (CMAKE_C_FLAGS_INIT" -Wall -std = c11 ")", in "src / pal / tests / CMakeLists.txt" add "SET (CMAKE_C_FLAGS "-Wall -std = c11") ", will be able to compile. (Update: later found a better solution: just to -std = c11 instead -std = gnu11)

The following share in CentOS compiled CoreCLR steps.

CentOS version 7.0 used.

1) Download the source code llvm

wget http://llvm.org/releases/3.5.0/llvm-3.5.0.src.tar.xz
mv llvm-3.5.0.src llvm
2) Download the clang of the source code

cd llvm / tools
wget http://llvm.org/releases/3.5.0/cfe-3.5.0.src.tar.xz
tar xf cfe-3.5.0.src.tar.xz
mv cfe-3.5.0.src clang
2+) lldb download the source code and installation related components

wget http://llvm.org/releases/3.5.0/lldb-3.5.0.src.tar.xz
tar -xf lldb-3.5.0.src.tar.xz
mv lldb-3.5.0.src lldb
yum install swig python-devel libedit-devel
3) Download the source code compiler-rt

cd ../projects
wget http://llvm.org/releases/3.5.0/compiler-rt-3.5.0.src.tar.xz
tar xf compiler-rt-3.5.0.src.tar.xz
mv compiler-rt-3.5.0.src compiler-rt
4) Download the source code libcxxabi

wget http://llvm.org/releases/3.5.0/libcxxabi-3.5.0.src.tar.xz
tar -xf libcxxabi-3.5.0.src.tar.xz
mv libcxxabi-3.5.0.src.tar.xz libcxxabi
5) Download the source code libcxx

wget http://llvm.org/releases/3.5.0/libcxx-3.5.0.src.tar.xz
tar xf libcxx-3.5.0.src.tar.xz
mv libcxx-3.5.0.src libcxx
6) Configuring the Compile Options

cd ..
./configure --enable-optimized CC = gcc CXX = g ++
7) Compile llvm

make -j2
8) Install the compiled llvm

make install
(If only lldb, simply enter llvm / tools / lldb running make install)

9) to check out the source code is compiled CoreClr

git clone https://github.com/dotnet/coreclr.git
cd coreclr
./build.sh
10) Install libunwind

wget http://download.savannah.gnu.org/releases/libunwind/libunwind-1.1.tar.gz
tar -xf libunwind-1.1.tar.gz
cd libunwind-1.1
./configure
make
make install
If you do not install libunwind will appear the following errors:

/data/git/coreclr/src/pal/src/exception/seh-unwind.cpp:32:10:
fatal error: 'libunwind.h' file not found
10) resolve the "Native context type is not known" Compile Error

The following error occurred during the compilation:

- Check size of siginfo_t
- Check size of siginfo_t - failed
- Check size of ucontext_t
- Check size of ucontext_t - failed
...
[0%] Building CXX object src / palrt / CMakeFiles / palrt.dir / bstr.cpp.o
In file included from /data/git/coreclr/src/pal/src/arch/i386/context.cpp:25:
/data/git/coreclr/src/pal/src/include/pal/context.h:40:2: error:
Native context type is not known on this platform!
Modify src / pal / tools / clang-compiler-override.txt file, remove the SET (CMAKE_C_FLAGS_INIT "-Wall -std = c11") can solve this problem.

(Update: later found a better solution: just to -std = c11 instead -std = gnu11)

10) resolve the "use of undeclared identifier" compiler error

The following error continues to occur during compilation:

/data/git/coreclr/src/pal/tests/palsuite/c_runtime/wprintf/test2/test2.c:
31:15: error: use of undeclared
      identifier 'u'
    DoStrTest (u "foo% s", u "bar", u "foo bar");
Add SET in src / pal / tests / CMakeLists.txt in (CMAKE_C_FLAGS "-Wall -std = c11") can solve this problem.

(Update: later found a better solution: just to -std = c11 instead -std = gnu11)

11) done

Repo successfully built.
Product binaries are available at / data / git / coreclr / binaries / Product / amd64 / debug
     
         
         
         
  More:      
 
- Apache POI Excel Document Processing (Linux)
- Oracle Bug caused by the collection of AWR Snapshot fault (Database)
- Linux based exercises, interview questions (Linux)
- The Linux firewall is configured to use proxy (Linux)
- Talk Packages (Linux)
- Node.js form --formidable (Programming)
- Linux memory management -free learning experience (Linux)
- bash login and welcome message: / etc / issue, / etc / motd (Linux)
- Plasma 5.4 How to install on Kubuntu 15.04 (Linux)
- 17 How to install the Ubuntu 14.04 and Linux Mint Kodi14 (XBMC) (Linux)
- CentOS 7 version how to achieve the power to start the graphical interface (Linux)
- Git you do not know about some of the things (Linux)
- Making Linux root file system problems on-link library (Programming)
- Yii PHP Framework Getting Started tutorial (Linux)
- Nine tips to protect the security of Linux desktop (Linux)
- Install the latest Pinta graphics editing software on Ubuntu 14.04 (Linux)
- How LUKS encrypted disk / partition to perform remote incremental backup (Linux)
- Linux network security backdoor technology and advanced skill practice (Linux)
- Configuring s3c-linux-2.6.28.6-Real6410 appears Unable to find the QT3 installation (Linux)
- NFS-based services and service utilization Corosync DRBD high availability cluster configuration, respectively (Server)
     
           
     
  CopyRight 2002-2020 newfreesoft.com, All Rights Reserved.