cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Visitor
Visitor
565 Views
Registered: ‎02-01-2019

waitpid(2) failed: No child processes when compiling libraries for questa 10.6

Hi,

I am having troubles to compile the xilinx libraries using Vivado 2019.2 and Questasim 10.6.

compile_simlib -simulator questa -simulator_exec_path {/home/meds7/Questa/questasim/bin} -family all -language all -library unisim -dir {/home/meds7/vivado} -no_ip_compile
INFO: [Vivado 12-5496] Finding simulator executables and checking version...
WARNING: [Vivado 12-5495] Detected incompatible questasim simulator installation version '10.6'! The supported simulator version for the current Vivado release is '2019.2'.
INFO: [Vivado 12-5503] Using MODELSIM environment variable (/home/meds7/Questa/questasim/modelsim.ini)
INFO: [Vivado 12-5498] Processing source library information for the selected device family (default:all) ...

Compiling libraries for 'questasim' simulator in '/home/meds7/vivado'
--> Compiling 'verilog.secureip' library...
> Source Library = '/opt/Xilinx/Vivado/2019.2/data/secureip'
> Compiled Path = '/home/meds7/vivado/secureip'
waitpid(2) failed: No child processes

 

Update: I tried to reverse engineer what is going on by enabling the verbose flag during compilation.

I was able to reproduce the part where it seems to fail:

vlog -source -sv -svinputport=relaxed -suppress vlog-2583 -work secureip -f /home/meds7/Questa/simlib/secureip/.cxl.systemverilog.secureip.secureip.lin64.cmf
QuestaSim-64 vlog 10.6 Compiler 2016.12 Dec 13 2016
Start time: 11:52:26 on Jan 30,2020
vlog -source -sv -svinputport=relaxed -suppress vlog-2583 -work secureip -f /home/meds7/Questa/simlib/secureip/.cxl.systemverilog.secureip.secureip.lin64.cmf
-- Compiling module SIP_FE
-- Compiling module SIP_HSDAC
-- Compiling module SIP_HSADC
-- Compiling module SIP_PCIE4CE4
-- Compiling module xil_hbm_one_stack_intf_mod1
-- Compiling module xil_hbm_one_stack_intf_mod2
-- Compiling module xil_hbm_one_stack_intf_mod4
-- Compiling module xil_hbm_one_stack_intf_mod6
-- Compiling module xil_hbm_one_stack_intf_mod786
-- Compiling module xil_hbm_two_stack_intf_mod1
-- Compiling module xil_hbm_two_stack_intf_mod2
-- Compiling module xil_hbm_two_stack_intf_mod4
-- Compiling module xil_hbm_two_stack_intf_mod6
-- Compiling module xil_hbm_two_stack_intf_mod786
###### /opt/Xilinx/Vivado/2019.2/data/secureip/gtm_dual/gtm_dual_002.svp(165033): in protected region.
** Warning: /opt/Xilinx/Vivado/2019.2/data/secureip/gtm_dual/gtm_dual_002.svp(165033): (vlog-2633) '<protected>' already exists.
-- Compiling module SIP_GTM_DUAL
-- Compiling module SIP_GTYE5_QUAD
-- Compiling module SIP_XPHY
-- Compiling module SIP_XPIPE_QUAD
-- Compiling module SIP_MRMAC
-- Compiling module SIP_CPM_MAIN
malloc(): memory corruption (fast)
Aborted (core dumped)

 

I really have no clue...

With kind regards

Henk

0 Kudos
4 Replies
Highlighted
Moderator
Moderator
537 Views
Registered: ‎04-24-2013

Hi @meds7 ,

As per the warning you are seeing, Questa Sim 2019.2 is the minimum supported version for Vivado 2019.2.

You will need this version or a later version in order to compile the simulation libraries correctly.

This is documented in User Guide 973

Capture.PNG

Best Regards
Aidan

 

------------------------------------------------------------------------------------------------------------------
Please mark the Answer as "Accept as solution" if this answered your question
Give Kudos to a post which you think is helpful and may help other users
------------------------------------------------------------------------------------------------------------------
Highlighted
Visitor
Visitor
499 Views
Registered: ‎02-01-2019

Dear @amaccre ,

Tnx... I already discovered that...

I upgraded Questa. Only point of failure is when it tried to make object files with g++.:

 

Compiling cpp library 'common_cpp_v1_0'...
> executing '/g++ -c -fPIC -I /Yoctobuilds/tools/Xilinx/Vivado/2019.2/data/systemc/simlibs/common_cpp/common_cpp_v1_0/include -O3 -fPIC -std=c++11 -DCOMMON_CPP_DLL /Yoctobuilds/tools/Xilinx/Vivado/2019.2/data/systemc/simlibs/common_cpp/common_cpp_v1_0/src/properties.cxx -o /home/meds7/vivado/common_cpp_v1_0/properties.o'...
output file: '/home/meds7/vivado/common_cpp_v1_0/.cxl.cpp.common_cpp_v1_0.common_cpp_v1_0.lin64.log'
> forking '/g++ -c -fPIC -I /Yoctobuilds/tools/Xilinx/Vivado/2019.2/data/systemc/simlibs/common_cpp/common_cpp_v1_0/include -O3 -fPIC -std=c++11 -DCOMMON_CPP_DLL /Yoctobuilds/tools/Xilinx/Vivado/2019.2/data/systemc/simlibs/common_cpp/common_cpp_v1_0/src/properties.cxx -o /home/meds7/vivado/common_cpp_v1_0/properties.o'
execve failed: No such file or directory

It seems from this log that Questa does not prepend the g++ path when calling it...

Any ideas or workaround to fix that with Ubuntu?

Kind regards,

Henk

0 Kudos
Highlighted
Moderator
Moderator
473 Views
Registered: ‎04-24-2013

Hi @meds7 ,

Looking at similar errors encountered by others during code compilation with GCC, it appears that some GCC dependencies were missing.
The solution in these cases were to install glibc-devel and glibc-headers

Best Regards
Aidan

 

------------------------------------------------------------------------------------------------------------------
Please mark the Answer as "Accept as solution" if this answered your question
Give Kudos to a post which you think is helpful and may help other users
------------------------------------------------------------------------------------------------------------------
0 Kudos
Highlighted
Visitor
Visitor
457 Views
Registered: ‎02-01-2019

Hi @amaccre ,

I solved the issue. It was something else.

Although my new Questa installation had a clean modelsim.ini, I had created a MODELSIM env variable to point to another modelsim.ini which was copied previously to the destination compiled library directory.

So questasim uses the definitions from that file. And there I accidentally had played with the CppPath variable which was set to /usr/bin/g++ which pints to a non compliant g++ (gcc 7).

By just commenting that out Questa is able to pickup its default installed g++ in the correct directory.

thanks for all your help anyway.

Henk

0 Kudos