[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: gEDA-user: Re: [Mingw-users] Re: make: strip command can't find file



Actually, despite the seemingly newbie questions I've been posting about
making iverilog, my unix background is better than my windows background.
Even so, it's been quite the challenge to learn all the stuff to troubleshoot my
installation.  In fact, I would have been quite happy to use the precompiled
binaries for Win32, but I ran into the problem described as Question 2 in
http://www.seul.org/archives/geda/user/Oct-2001/msg00008.html .  This
renewed attempt is to compile with mingw and cygwin together.  I've been
pretty niggly about making "make check" work first because when things
go wrong, I haven't much idea how to troubleshoot it, just bang away at
any possibility after reading as much as I can.

Regarding renaming hello.vl to hello.v, it was trivial but necessary because
there were many references within the Makefile(s?) to hello.v, but there
only existed hello.vl.

I found my mistake in not being able to compile hello.v outside of the
source directory.  Basically, it's in the man pages.  I needed to invoke
vvp on the resulting output file, *not* merely invoke the output file directly, as
I was trying to do.  This worked fine on hello.v, but I get the same meaningless
popup window error as Question 2 in
http://www.seul.org/archives/geda/user/Oct-2001/msg00008.html when I
try it on my big design.  There is absolutely no information provided at all, so I
think it's just a windows message responding to some violation of integrity of
sorts.

So I tried "-tvvm" to get a "more complete" executable output file.  This still caused
a failure, but a cleaner and more informative failure, with the assertion message you
mention in your bug report page.  But I can't submit it because it deals with
nonpublic stuff.  The command line contains quite a few filenames and
path components whose publicization would ruffle local feathers, even though
the technical details are not contained in the filenames themselves.  The output
is as follows, with some stuff renamed to avoid sensitivity issues.

     PARSING INPUT ...
     ELABORATING DESIGN -s topmod_tb ...
     RUNNING FUNCTORS ...
      -F cprop
      -F nodangle
     CODE GENERATION -t vvm ...
     Assertion failed: expr->lsi() == 0, file t-vvm.cc, line 959

     abnormal program termination
     C:/MINGW/BIN/../lib/gcc-lib/mingw32/2.95.3-6/../../../libmingw32.a(main.o)(.text+0x8d):main.c: undefined reference to `WinMain@16'
     translate: C:\CYGWIN\USR\LOCAL\lib\ivl\ivlpp  -v -L -Ic:/cygwin/home/unknown/Applications/XXXX/V1R3/vlib c:/cygwin/home/unknown/Applications/XXXX/YYY/zzzz/_blahblah.v c:/cygwin/home/unknown/Applications/XXXX/YYY/zzzz/_blehblar.v         c:/cygwin/home/unknown/Applications/XXXX/YYY/zzzz/bloo.blum.v c:/cygwin/home/unknown/Applications/XXXX/YYY/zzzz/Blarrr_bluhhhh.v VlogFiles/Misc.v VlogFiles/TwidGetter.v VlogFiles/BfyIPadrsGenr.v VlogFiles/topmodule.v VlogFiles/topmodule_tb.v  | C:\CYGWIN\USR\LOCAL\lib\ivl\ivl -v     -tvvm -Fcprop -Fnodangle -fVPI_MODULE_PATH=C:\CYGWIN\USR\LOCAL\lib\ivl   -otopmod_tb.vvm.cc -- -
     compile: c++  -s -fno-exceptions -o topmod_tb.vvm -IC:\CYGWIN\USR\LOCAL\lib\ivl\..\..\include -LC:\CYGWIN\USR\LOCAL\lib\ivl\.. topmod_tb.vvm.cc -lvvm -lvpip

I tried a smaller example design, but couldn't duplicate the either of the
errors associated with the vvp and vvm targets ie. both worked fine for the
smaller design.

I scoured the webpages again, and decided to try --host=ming32 in the
configure step, but the "make" step fails with the errors

     c++ -o ivl.exe ivl.exp main.o cprop.o design_dump.o dup_expr.o elaborate.o elab_expr.o elab_lval.o elab_net.o elab_anet.o elab_pexpr.o elab_scope.o elab_sig.o emit.o eval.o eval_rconst.o eval_tree.o expr_synth.o functor.o lexor.o lexor_keyword.o link_const.o mangle.o netlist.o netmisc.o net_assign.o net_design.o net_event.o net_force.o net_link.o net_modulo.o net_proc.o net_scope.o net_udp.o pad_to_width.o parse.o parse_misc.o pform.o pform_dump.o set_width.o verinum.o verireal.o target.o targets.o util.o Attrib.o LineInfo.o Module.o PDelays.o PEvent.o PExpr.o PGate.o PTask.o PFunction.o PWire.o Statement.o nodangle.o synth.o syn-rules.o xnfio.o t-dll.o t-dll-api.o t-dll-expr.o t-dll-proc.o t-vvm.o t-xnf.o
     main.o: In function `main':
     //c/mingw/bin/../lib/gcc-lib/mingw32/2.95.3-6/../../../../include/g++-3/std/bastring.h:178: undefined reference to `optarg'
     main.o: In function `main':
     //C/cygwin/home/unknown/INSTALLS/verilog-0.5/main.cc:191: undefined reference to `optarg'
     main.o: In function `main':
     //c/mingw/bin/../lib/gcc-lib/mingw32/2.95.3-6/../../../../include/g++-3/std/bastring.h:178: undefined reference to `optarg'
     main.o: In function `main':
     //C/cygwin/home/unknown/INSTALLS/verilog-0.5/main.cc:205: undefined reference to `optarg'
     //C/cygwin/home/unknown/INSTALLS/verilog-0.5/main.cc:208: undefined reference to `optarg'
     main.o://c/mingw/bin/../lib/gcc-lib/mingw32/2.95.3-6/../../../../include/g++-3/std/bastring.h:232: more undefined references to `optarg' follow
     main.o: In function `main':
     //C/cygwin/home/unknown/INSTALLS/verilog-0.5/main.cc:257: undefined reference to `getopt'
     //C/cygwin/home/unknown/INSTALLS/verilog-0.5/main.cc:294: undefined reference to `optind'
     //C/cygwin/home/unknown/INSTALLS/verilog-0.5/main.cc:317: undefined reference to `optind'
     c:\mingw\bin\make.exe: *** [ivl.exe] Error 1

Anyway, this is probably not enough detail for anyone to comment meaningfully on,
but it's what I can provide.  If by chance someone can offer their thoughts on this,
it would be very welcome.  But in the mean time, I think I'll take a break from banging
at this, partly because I think I've exhausted my options with my current level of
knowledge, and partly because my buns are in the fire to do stuff.  When I get a 2nd
wind, I'll probably look at the possibility that the path names are a problem (some
contain more than one dot, some are more than 8 characters long).  If that has to
change, it could pose compatibility problems with the current setup on solaris.  Also,
even if this effort had been successful, there is also the additional hurdle of getting
gtkwave installed on windows (or cygwin + mingw).....the author has kindly added
some functionality I was looking for, which compiled fine on solaris, but there's no
guarantee that I won't run into issues like the above when trying to compile it on
my laptop.

Fred

--------------------------------------------------------------------------
Fred Ma
Department of Electronics
Carleton University, Mackenzie Building
1125 Colonel By Drive
Ottawa, Ontario
Canada     K1S 5B6
fma@doe.carleton.ca
==========================================================================

Stephen Williams wrote:

> fma@doe.carleton.ca said:
> > For any interested parties that might try this in the future, I'll
> > just summarize what worked on to some degree:
>
> This seems way more complicated then it ought to be, so I think
> there are some bugs to fix.
>
> I must admit that I haven't tried to debug the "make check" rule,
> and the mingw.txt instructions skip that and go on to the install
> assuming the build is OK.
>
> The resulting binary is a Windows (DOS) binary, so it doesn't know
> of or generate UNIX style directory separators. That is intentional
> as most Windows users of Icarus Verilog are in fact Windows users
> in general, for better or for worse.
>
> Also, I concede that I assume that most Windows users are not the
> least bit interested in compiling Icarus Verilog, and are instead
> going to use the installer. Therefore, the compile process for the
> Windows environment is not necessarily as slick as the UNIX compile.
> Hell, even MacOS users are *far* more likely to want to compile
> from source:-)
>
> Patches are welcome.
>
>    * To pass "make check", I changed all references to hello.vl and sqrt.vl
>      to hello.v and sqrt.v, then renamed *.vl files to *.v (can't remember which
>      files, but suffice to say all the Makefile's)
>
> I can't imagine why this would make a difference.
> --
> Steve Williams                "The woods are lovely, dark and deep.
> steve at icarus.com           But I have promises to keep,
> steve at picturel.com         and lines to code before I sleep,
> http://www.picturel.com       And lines to code before I sleep."