Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build errors at V3Error.cpp #1322

Closed
veripoolbot opened this issue Jun 28, 2018 · 9 comments
Closed

Build errors at V3Error.cpp #1322

veripoolbot opened this issue Jun 28, 2018 · 9 comments

Comments

@veripoolbot
Copy link
Contributor

@veripoolbot veripoolbot commented Jun 28, 2018


Author Name: أحمد المحمودي
Original Redmine Issue: 1322 from https://www.veripool.org

Original Assignee: Wilson Snyder (@wsnyder)


I get too many errors when building verilator 3.924, because of V3Error.h, here is a sample of build errors:

make[3]: Entering directory '/<>/src/obj_dbg'
g++ -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/include -MMD -I. -I.. -I.. -I../../include -DYYDEBUG -ggdb -DVL_DEBUG -MP -faligned-new -fno-delete-null-pointer-checks -Wno-unused-parameter -Wno-shadow -DDEFENV_SYSTEMC="" -DDEFENV_SYSTEMC_ARCH="" -DDEFENV_SYSTEMC_INCLUDE="/usr/include" -DDEFENV_SYSTEMC_LIBDIR="/usr/lib/x86_64-linux-gnu" -DDEFENV_VERILATOR_ROOT="/usr/share/verilator" -c ../VlcMain.cpp
In file included from ../V3Error.cpp:25:0,
from ../VlcMain.cpp:23:
../V3Error.h:192:10: error: ‘ostream’ does not name a type; did you mean ‘strcat’?
inline ostream& operator<<(ostream& os, V3ErrorCode rhs) { return os<<rhs.ascii(); }
^~~~~~~
strcat
../V3Error.h:199:13: error: ‘set’ does not name a type; did you mean ‘tzset’?
typedef set MessagesSet;
^~~
tzset

also:

make[3]: Entering directory '/<>/src/obj_dbg'
g++ -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/include -MMD -I. -I.. -I.. -I../../include -DYYDEBUG -ggdb -DVL_DEBUG -MP -faligned-new -fno-delete-null-pointer-checks -Wno-unused-parameter -Wno-shadow -DDEFENV_SYSTEMC="" -DDEFENV_SYSTEMC_ARCH="" -DDEFENV_SYSTEMC_INCLUDE="/usr/include" -DDEFENV_SYSTEMC_LIBDIR="/usr/lib/x86_64-linux-gnu" -DDEFENV_VERILATOR_ROOT="/usr/share/verilator" -c ../Verilator.cpp
In file included from ../V3Global.h:28:0,
from ../Verilator.cpp:21:
../V3Error.h:192:10: error: ‘ostream’ does not name a type
inline ostream& operator<<(ostream& os, V3ErrorCode rhs) { return os<<rhs.ascii(); }
^~~~~~~
../V3Error.h:199:13: error: ‘set’ does not name a type; did you mean ‘getw’?
typedef set MessagesSet;
^~~
getw

the full build log can be found at:
https://launchpadlibrarian.net/376334227/buildlog_ubuntu-bionic-amd64.verilator_3.924-1~7.gbp784a68_BUILDING.txt.gz

@veripoolbot
Copy link
Contributor Author

@veripoolbot veripoolbot commented Jun 28, 2018


Original Redmine Comment
Author Name: Wilson Snyder (@wsnyder)
Original Date: 2018-06-28T22:55:40Z


Fixed this in git, towards 3.925.

Let me know if you need a new release tarball to be able to use it.

@veripoolbot
Copy link
Contributor Author

@veripoolbot veripoolbot commented Jun 30, 2018


Original Redmine Comment
Author Name: أحمد المحمودي
Original Date: 2018-06-30T00:57:42Z


Build fails with this error:
Something failed during ./configure as config_build.h is incomplete.

Probably the commit depends on other commits ?
full build log at:
https://launchpadlibrarian.net/376456022/buildlog_ubuntu-bionic-amd64.verilator_3.924-1~8.gbpe98273_BUILDING.txt.gz

@veripoolbot
Copy link
Contributor Author

@veripoolbot veripoolbot commented Jun 30, 2018


Original Redmine Comment
Author Name: Wilson Snyder (@wsnyder)
Original Date: 2018-06-30T11:29:50Z


I added that error because I suspected it might be the problem instead of your GCC.

From the log:

config.status: creating src/config_build.h
configure: WARNING: unrecognized options: --disable-silent-rules, --disable-maintainer-mode, --disable-dependency-tracking

After trying a build can you look at this file? I see some possibilities.

  1. It's suspicious there are warnings but suspect this is harmless. I'll probably add ignores for those.
  2. If you compare it to src/config_build.in it may be truncated. This indicates some bug likely in autoconf since I'm not doing anything special here, but understand I'll probably need to work around it.
  3. Try just doing a "make" again (without reconfiguring). Maybe there's a file system race between writing the src/config_build.h and your compiling, since this is an automated build.
@veripoolbot
Copy link
Contributor Author

@veripoolbot veripoolbot commented Jul 1, 2018


Original Redmine Comment
Author Name: أحمد المحمودي
Original Date: 2018-07-01T08:27:47Z


autoreconf is causing this problem

@veripoolbot
Copy link
Contributor Author

@veripoolbot veripoolbot commented Jul 2, 2018


Original Redmine Comment
Author Name: أحمد المحمودي
Original Date: 2018-07-02T11:55:05Z


Disabling autoreconf fixed the problem.

@veripoolbot
Copy link
Contributor Author

@veripoolbot veripoolbot commented Jul 2, 2018


Original Redmine Comment
Author Name: Wilson Snyder (@wsnyder)
Original Date: 2018-07-02T13:09:22Z


Great, I'll update the new error message to suggest that.

@veripoolbot veripoolbot closed this Jul 2, 2018
@veripoolbot
Copy link
Contributor Author

@veripoolbot veripoolbot commented Jul 7, 2018


Original Redmine Comment
Author Name: أحمد المحمودي
Original Date: 2018-07-07T06:48:24Z


I think this is an issue to be fixed.

@veripoolbot
Copy link
Contributor Author

@veripoolbot veripoolbot commented Jul 7, 2018


Original Redmine Comment
Author Name: أحمد المحمودي
Original Date: 2018-07-07T06:57:58Z


Attached config_build.h.in after running autoreconf

@veripoolbot
Copy link
Contributor Author

@veripoolbot veripoolbot commented Jul 7, 2018


Original Redmine Comment
Author Name: Wilson Snyder (@wsnyder)
Original Date: 2018-07-07T10:25:49Z


Verilator wasn't designed to use automake(/autoreconf), it uses handcrafted makefiles & configs. While some programs do use it, many do not, and I don't see why this is needed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
2 participants
You can’t perform that action at this time.