-
I'm trying to compile some files into a library called In my understanding, What I do is this, but it's not working: /usr/local/bin/nvc --std=08 -L work/ --work=libvhdl:work -a ../ext/libvhdl/common/UtilsP.vhd && \
/usr/local/bin/nvc --std=08 -L work/ --work=work:work -a ../ext/libvhdl/syn/*.vhd ../ext/cryptocores/aes/rtl/vhdl/*.vhd
** Note: pass --psl to enable parsing of PSL directives in comments
> ../ext/libvhdl/syn/SpiMasterE.vhd:234
|
234 | -- psl default clock is rising_edge(Clk_i);
| ^^^^^^^
** Error: library LIBVHDL not found
> ../ext/libvhdl/syn/UartRx.vhd:25
|
25 | library libvhdl;
| ^^^^^^^^^^^^^^^^
|
= Note: library search path contains: work/, /root/.nvc/lib, /usr/local/lib/nvc
= Note: add additional directories to the search path with the -L option
** Fatal: required library LIBVHDL not found
** Note: library search path contains: work/, /root/.nvc/lib, /usr/local/lib/nvc
** Note: add additional directories to the search path with the -L option There are some files unter
|
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 4 replies
-
Hello, I think you just need to do "-L ./" |
Beta Was this translation helpful? Give feedback.
-
The But here the library One issue here is that both libraries Here's an example:
Does that make sense? Unless you have special requirements its easiest to just keep one directory per library with the library name the same as the directory name and not use the |
Beta Was this translation helpful? Give feedback.
The
-L
argument sets the search path so when NVC encounterslibrary foo
, and it doesn't already know about a library named "foo", it will search each entry in the search path for a directory namedfoo
and then checks whether that directory contains a valid NVC library.But here the library
libvhdl
is actually inside a directory calledwork
so it won't be found just by looking through the search path. In that case you need to tell NVC explicitly where the library is using the--map
argument e.g.--map libvhdl:work
.One issue here is that both libraries
libvhdl
andwork
end up in the same physical directory calledwork
. I hadn't considered this case and I'm not sure whether it works correct…