I am trying to run cocotb simulations with modelsim, however, I am getting an error and no success, in the last two days, fixing it.
I have installed cocotb using "pip3 install cocotb". The python version I am using is 3.7.0. I have installed the questa/modelsim Lite version 19.1 (which is free through Intel).
I am able to run cocotb simulations with icarus and verilator, however, with modelsim I run into following error:
mehdi#mehdi:~/Dropbox/Test_Tools/testcocotbVerilator$ make SIM=modelsim
make results.xml
make[1]: Entering directory '/home/mehdi/Dropbox/Test_Tools/testcocotbVerilator'
set -o pipefail; cd sim_build && LD_LIBRARY_PATH=/home/mehdi/Dropbox/Test_Tools/testcocotbVerilator/build/libs/x86_64::/usr/lib:/usr/lib:/usr/lib:/usr/lib MODULE=TB TESTCASE= TOPLEVEL="work.dff" COCOTB_SIM=1 \
GPI_EXTRA= TOPLEVEL_LANG=verilog PYTHONPATH=/home/mehdi/Dropbox/Test_Tools/testcocotbVerilator/build/libs/x86_64:/home/mehdi/Dropbox/Test_Tools/testcocotbVerilator:/home/mehdi/.local/lib/python3.5/site-packages: \
/home/mehdi/intelFPGA_lite/19.1/modelsim_ase/linuxaloem/vsim -c -64 -do runsim.do 2>&1 | tee sim.log
/bin/sh: 1: set: Illegal option -o pipefail
/home/mehdi/.local/lib/python3.5/site-packages/cocotb/share/makefiles/simulators/Makefile.questa:147: recipe for target 'results.xml' failed
make[1]: *** [results.xml] Error 2
make[1]: Leaving directory '/home/mehdi/Dropbox/Test_Tools/testcocotbVerilator'
/home/mehdi/.local/lib/python3.5/site-packages/cocotb/share/makefiles/Makefile.sim:79: recipe for target 'sim' failed
make: *** [sim] Error 2
I would appreciate it if someone could advise me how should I fix this problem
That "-o pipefail" option is only available in bash version 3 or later. So either you're running an older version of bash, or some other non-bash shell that doesn't support it.
Related
Been looking everywhere and tried a lot of things but can't get it to work. A BIG Banana to the one which will save me.
Objective. Install the rtl8812au driver on my Raspberry 4
Steps:
git clone https://github.com/gnab/rtl8812au
cd rtl8812au
sudo vi Makefile
CONFIG_PLATFORM_I386_PC = n
CONFIG_PLATFORM_ARM_RPI = y
CONFIG_POWER_SAVING = n
sudo chmod +x install.sh
sudo ./install.sh
Then get the following error either through make or sudo ./install.sh
make[1]: Entering directory '/root/linux-ff93994fb3f92070d8521d709ad04675ecaa5817'
ERROR: Kernel configuration is invalid.
include/generated/autoconf.h or include/config/auto.conf are missing.
Run 'make oldconfig && make prepare' on kernel src to fix it.
Makefile:632: include/config/auto.conf: No such file or directory
make[1]: *** [Makefile:704: include/config/auto.conf] Error 1
make[1]: Leaving directory '/root/linux-ff93994fb3f92070d8521d709ad04675ecaa5817'
make: *** [Makefile:1068: modules] Error 2
Of course, I tried make oldconfig && make prepare which returned:
make: *** No rule to make target 'oldconfig'. Stop.
https://github.com/splitsh/lite/issues/58
Hello,
I am trying to install splitsh-lite in windows 10. I read #18 and followed the manual instructions until the last step when an error is thrown:
In cmd:
go get github.com/splitsh/lite
github.com/libgit2/git2go
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lgit2
collect2.exe: error: ld returned 1 exit status
In MINGW64:
$ go build -o splitsh-lite github.com/splitsh/lite
github.com/libgit2/git2go
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lgit2
collect2.exe: error: ld returned 1 exit status
Could you help me or give me some guidelines in order to build splitsh-lite?
Thank you!
Since I had issues on Windows, too, I used the Windows Linux Subsystem. There is no need to get that running in the native Windows command line anymore.
https://learn.microsoft.com/en-us/windows/wsl/install-win10
Install GO
wget -q https://dl.google.com/go/go1.12.6.linux-amd64.tar.gz
tar -C /usr/local -xzf go1.12.6.linux-amd64.tar.gz
export PATH=$PATH:/usr/local/go/bin
Install splitsh
wget -q https://github.com/splitsh/lite/releases/download/v1.0.1/lite_linux_amd64.tar.gz
tar -zxpf lite_linux_amd64.tar.gz --directory /usr/local/bin/
cp /usr/local/bin/splitsh-lite "$(git --exec-path)"/git-splitsh
The release versions in my commands might be outdated, I did this in November 2019. Please replace them if needed. Then you're ready to perform your repository modifications with splitsh.
I am on a Mac so of course I'm running into this huge problem with perl on the Mac where the OS is trying to protect me and it's a nightmare to install . The solution seems to be "make your own perl instead of using the one with the OS" so I've done that. I ran brew install perl and now I have this in my .bashrc
PATH="/Users/ericmueller/perl5/bin${PATH:+:${PATH}}"; export PATH;
PERL5LIB="/Users/ericmueller/perl5/lib/perl5${PERL5LIB:+:${PERL5LIB}}"; export PERL5LIB;
PERL_LOCAL_LIB_ROOT="/Users/ericmueller/perl5${PERL_LOCAL_LIB_ROOT:+:${PERL_LOCAL_LIB_ROOT}}"; export PERL_LOCAL_LIB_ROOT;
PERL_MB_OPT="--install_base \"/Users/ericmueller/perl5\""; export PERL_MB_OPT;
PERL_MM_OPT="INSTALL_BASE=/Users/ericmueller/perl5"; export PERL_MM_OPT;
eval "$(perl -I$HOME/perl5/lib/perl5 -Mlocal::lib=$HOME/perl5)"
source ~/perl5/perlbrew/etc/bashrceval "$(perl -I$HOME/perl5/lib/perl5 -Mlocal::lib=$HOME/perl5)"
Honestly, I have no idea what most of this is ;-) but it looks like I have my own perl in my folder and I see that I can run simple perl scripts so I guess all is good.
So now I want to install cpanminus and DBI.
I installed cpanminus (brew install cpanminus), without errors. But then when I run cpanm DBI it fails, and when I look at the log where it failed, I see this:
"/usr/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- DBI.bs blib/arch/auto/DBI/DBI.bs 644
"/usr/bin/perl" -p -e "s/~DRIVER~/Perl/g" ./Driver.xst > Perl.xsi
"/usr/bin/perl" "/System/Library/Perl/5.18/ExtUtils/xsubpp" -typemap '/System/Library/Perl/5.18/ExtUtils/typemap' -typemap '/Users/ericmueller/.cpanm/work/1555346710.17160/DBI-1.642/typemap' Perl.xs > Perl.xsc
mv Perl.xsc Perl.c
cc -c -g -pipe -fno-common -DPERL_DARWIN -fno-strict-aliasing -fstack-protector -Os -DVERSION=\"1.642\" -DXS_VERSION=\"1.642\" "-I/System/Library/Perl/5.18/darwin-thread-multi-2level/CORE" -W -Wall -Wpointer-arith -Wbad-function-cast -Wno-comment -Wno-sign-compare -Wno-cast-qual -Wmissing-noreturn -Wno-unused-parameter Perl.c
In file included from Perl.xs:7:
./DBIXS.h:22:10: fatal error: 'EXTERN.h' file not found
#include <EXTERN.h>
^~~~~~~~~~
1 error generated.
make: *** [Perl.o] Error 1
This is totally the stupid Mac perl problem, and the issue appears to be that it's still trying to put the DBI library (or one of its dependencies) in /usr/bin/ which is a big no-no. Or maybe it's trying to use the system perl to do the installation, so that's also failing. I have my own perl5 installation in my home folder. That's where it should be putting things and working with them.
So if that is the issue (and I am really shitty at both perl and this kind of sysadmin stuff, so I'm not 100% sure!), how do I get cpanm to work with my perl in my home folder, instead of in /usr/bin/? I don't want ANYTHING to happen in /usr/bin/ since that is a non-starter!
** EDIT I removed everything but the PATH command from my bashrc, and now I get this when I run cpanm DBI
!
! Can't write to /Library/Perl/5.18 and /usr/local/bin: Installing modules to /Users/ericmueller/perl5
! To turn off this warning, you have to do one of the following:
! - run me as a root or with --sudo option (to install to /Library/Perl/5.18 and /usr/local/bin)
! - Configure local::lib in your existing shell to set PERL_MM_OPT etc.
! - Install local::lib by running the following commands
!
! cpanm --local-lib=~/perl5 local::lib && eval $(perl -I ~/perl5/lib/perl5/ -Mlocal::lib)
!
--> Working on DBI
Fetching http://www.cpan.org/authors/id/T/TI/TIMB/DBI-1.642.tar.gz ... OK
Configuring DBI-1.642 ... OK
Building and testing DBI-1.642 ... FAIL
! Installing DBI failed. See /Users/ericmueller/.cpanm/work/1555348167.22814/build.log for details. Retry with --force to force install it.
So the good news is that I am definitely using the cpanm that comes with my custom perl5 in my /Users folder. The bad news is, I'm still getting the exact same stupid problem.
yep ... MacOS Perl is something you should rather not touch.
yes ... You can do it.
but ... Common practice, https://perlbrew.pl
and ... Install some shinny perl
and ... follow the instructions on the website about cpanm
I want to edit some code in cygwin1.dll for my project. So, I clone git repository from these two url:
https://github.com/mirror/newlib-cygwin.git
git://sourceware.org/git/newlib-cygwin.git
I've gcc, g++, make installed with cygwin and mingw-w64 (and also in WSL). But none of them generate DLL file. I also follow the commands ./configure & make. Command generates only object files. Is it possible to compile cygwin1.dll from its source code?
I had two different problems.
First, I followed the steps in cygwin FAQ: How do I build Cygwin on my own?. I forget to install mingww64_x86_64-gcc-g++ package. So, I installed those with the following commands:
setup-x86_64.exe -q -P gcc-g++ -P make -P perl -P cocom -P gettext-devel -P libiconv-devel -P zlib-devel
setup-x86_64.exe -q -P mingw64-x86_64-gcc-core -P mingw64-i686-gcc-g++ -P mingw64-i686-zlib
setup-x86_64.exe -q -P mingw64-x86_64-gcc-g++ -P mingw64-x86_64-zlib
Second, I logged the output from make command with make |& tee make.log. Thanks, #matzeri for the logging tip. Then I followed an error in make.log file as below:
../../.././winsup/cygwin/cygmagic: line 25: /usr/bin/awk: cannot
execute binary file: Exec format error
*** WARNING WARNING WARNING WARNING WARNING ***
*** ../../.././winsup/cygwin/child_info.h: magic number for
CHILD_INFO_MAGIC changed old 0xc96f5e9U != new
Somehow, the awk (hard linked with gawk) does not work in cygwin. So I installed awk package with setup-x86_64.exe. And now I can easily compile cygwin.dll.
When I run the make batch file in my Cygwin terminal I get the following output:
mparadis#A-082-MPARADI-0 ~/pepper_19/examples$ make
make -C dlopen
make[1]: Entering directory `/cygdrive/c/nacl_sdk/pepper_19/examples/dlopen' /cygdrive/c/nacl_sdk/pepper_19/toolchain/win_x86_glibc/bin/i686-nacl-g++ -o dlopen_x86_32.o -c
dlopen.cc -m32 -g -O0 -pthread -std=gnu++98 -Wno-long-long -Wall
Makefile:92: recipe for target `dlopen_x86_32.o' failed
make[1]: *** [dlopen_x86_32.o] Error 127
make[1]: Leaving directory `/cygdrive/c/nacl_sdk/pepper_19/examples/dlopen'
Makefile:33: recipe for target `dlopen_TARGET' failed
make: *** [dlopen_TARGET] Error 2
It took some time to get Python properly set up because I needed the language interpreter package for it and was not aware I didn't have it already. My env variable for Python is correctly set to C:\python27. I get the same results when compiling my co-workers code which, I can compile fine on a Mac or Linux box. Unfortunately, I need to get this working in my Cygwin environment as well.
Anybody with any experience using google native client or know why this is happening please advise. I've been at this for so long I'm staring cross-eyed at the computer screen.
UPDATE:
If I insert the --version flag into the referenced command within the makefile, I receive the same error as above. However, if I type the command, as is, from the same working directory as the make file I get the following:
mparadis#A-082-MPARADI-0 ~/pepper_19/examples/dlopen> $ /cygdrive/c/nacl_sdk/pepper_19/toolchain/win_x86_glibc/bin/i686-nacl-g++.exe -o dlopn_x86_32.o -c dlopen.cc -m32 -g -O0 -pthread -std=gnu++98 --version
mparadis#A-082-MPARADI-0 ~/pepper_19/examples/dlopen $
In other words, it simply thinks for a split second, then returns to the prompt.
tl;dr: your cygwin may be buggy and give this return code to all batch file. My does this. My cygwin version:
$ uname -srv
CYGWIN_NT-6.1-WOW64 1.7.17(0.262/5/3) 2012-10-19 14:39
From your comment, I see something called "make.bat":
mparadis#A-082-MPARADI-0 ~/pepper_19/examples/dlopen
$ ls dlopen.cc dlopen.html eightball.cc eightball.h make.bat Makefile
You can test your cygwin with this little bash script, too..
#!/bin/bash
echo echo foo %errorlevel% bar >temp.bat
./temp.bat
if [ $? -eq 127 ]; then echo "bug"; fi
If your make recipe for that target uses make.bat, and you have this bug, then this cygwin bug is causing the Error 127