Open Trauck opened 3 years ago
Hi @Trauck
There is a mistake in CMake file. I will fix this to the evening.
Regards
@aligungr In lastest version, I compiled source code with "-j" flag, I got oom error message. But without "-j" flag it can build normally. (I gave it 8GB memory, and before this version, I only used 2GB memory can build it, and this hardware has 8 cores) P.S. After failed to compile, it re-run it with "-j", it sucessfully built.
OOM message
@Trauck
I fixed the CMakeList, you can try again with the latest master branch.
@lee850220
makefile
in the root folder of UERANSIM actually does not build the project itself. But it just triggers CMake to build it, therefore -j
has no effect for the makefile located in the root directory.
However if you want to use a parallel build, you can execute the CMake build command with -j
command. (For example by modifying the makefile in the root folder, but I'm not sure if this would remove the OOM error) And otherwise there should not be a difference between the previous and the latest versions of the UERANSIM.
Thanks
Thank you for your quick answer.
Now, i have different kind of errors.
Some warnings, that means that const is an extension of GCC.
And two differents errors : This one for every declaration of "static_assert()".
and this one
for every call at "if constexpr"
If you need more information about my system, you are free to ask.
@Trauck
This time, the error seems like a gcc version problem. And I could not detect any problem in our code-base.
Well, i've tried with a gcc 9.3 and 9.4 and i have the exact same error.
I don't know where it could come from.
@lee850220
makefile
in the root folder of UERANSIM actually does not build the project itself. But it just triggers CMake to build it, therefore-j
has no effect for the makefile located in the root directory.However if you want to use a parallel build, you can execute the CMake build command with
-j
command. (For example by modifying the makefile in the root folder, but I'm not sure if this would remove the OOM error) And otherwise there should not be a difference between the previous and the latest versions of the UERANSIM.Thanks
This is weird, I used command with "-j" flag, also assigned a number of thread to use, and it took effect with different compile time. When number increase, it compiled faster and consumed more memory. If number lower than 4, it did not cause OOM. P.S. I did not modify Makefile.
I'm not sure but it seems that the problem come from a librairy that is call during the make. Some files call the stdarg.h, stddef.h and stdint.h in the repository /usr/libexec/gcc/x86_64-redhat-linux/4.8.5 and i can't upgrade those files.
Same thing in the /usr/include/c++ repositorry, i have only the 4.8.5 version.
@Trauck
I think you should upgrade the g++ as well. Upgrading only gcc may not be sufficient perhaps.
Please try to upgrade to the latest version of g++ (not gcc).
@lee850220
I will check this, but now I want to ask if you are using the root makefile or the makefile generated by the cmake, while using -j command?
@aligungr I tested in both root and non-root user with instructions below. (This machine have 8 threads and 8GB memory could use)
htop in normal status:
These are my operational process:
$ git clone https://github.com/aligungr/UERANSIM $ cd UERANSIM $ make -j ... [100%] Building CXX object src/ue/CMakeFiles/ue.dir/ue.cpp.o htop status: and it occurred OOM. htop status:
@lee850220
Yes, -j
option works, that was my mistake sorry.
But I'm not sure how we can overcome the OOM problem in this case. C++ compilations generally consume very large memory, especially while in parallel build. But some other processes in the machine may be consuming the majority of the RAM as well.
My thoughts about a possible solution:
-j
Hi, i have installed an open5G core on Kubernetes and i would like to install a UERANSIM too.
I have followed your wiki installation but it seems that it didn't worked on RedHat.
My g++ version is 9.3.0 and my cmake version is 3.20.3. I'm on a Redhat Server release 7.8.
I've got thoses issues :
Thank you in advance.