On Fri, Jul 30, 2004 at 09:38:40AM -0700, Stephen Williams wrote: > You can also try vvp -m/usr/local/lib/ivl/system.vpi foo.out > to explicitly load it. This might say something useful. It is > possible that the vvp loader is not guessing the symbols right.
OK, there is no system.vpi file, as it turns out. So, I tried building again, this time actually watch it build (rather than just checking the exit status of make). Low and behold, there is a problem linking system.vpi . See below for the beginning of the error messages. > If the latter is leading to an error, send me the output from > "nm system.vpi" and the contents of vvp/config.h. The config.h is inserted further down, below the linker errors. So, is this a native linker versus gcc problem? Are there libbz2 dependencies I need to match up? Can I get rid of bz2 altogether? What's it used for? Writing compressed vcd files? gcc -shared -o system.vpi sys_table.o sys_convert.o sys_deposit.o sys_display.o sys_fileio.o sys_finish.o sys_plusargs.o sys_random.o sys_readmem.o sys_readmem_lex.o sys_time.o sys_vcd.o sys_vcdoff.o vcd_priv.o mt19937int.o priv.o stringheap.o sys_lxt.o lxt_write.o sys_lxt2.o lxt2_write.o -L../vvp -lvpi -lbz2 -lz Text relocation remains referenced against symbol offset in file <unknown> 0x33e4 /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3/../../../libbz2.a(decompress.o) <unknown> 0x33e8 /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3/../../../libbz2.a(decompress.o) <unknown> 0x33ec /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3/../../../libbz2.a(decompress.o) <unknown> 0x33f0 /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3/../../../libbz2.a(decompress.o) <unknown> 0x33f4 /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3/../../../libbz2.a(decompress.o) <unknown> 0x33f8 /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3/../../../libbz2.a(decompress.o) <unknown> 0x33fc /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3/../../../libbz2.a(decompress.o) <unknown> 0x3400 /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3/../../../libbz2.a(decompress.o) <unknown> 0x3404 /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3/../../../libbz2.a(decompress.o) <unknown> 0x3408 /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3/../../../libbz2.a(decompress.o) <unknown> 0x340c /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3/../../../libbz2.a(decompress.o) <unknown> 0x3410 /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3/../../../libbz2.a(decompress.o) <unknown> 0x3414 /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3/../../../libbz2.a(decompress.o) <unknown> 0x3418 /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3/../../../libbz2.a(decompress.o) <unknown> 0x341c /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3/../../../libbz2.a(decompress.o) <unknown> 0x3420 /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3/../../../libbz2.a(decompress.o) <unknown> 0x3424 /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3/../../../libbz2.a(decompress.o) <unknown> 0x3428 /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3/../../../libbz2.a(decompress.o) <unknown> 0x342c /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3/../../../libbz2.a(decompress.o) <unknown> 0x3430 /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3/../../../libbz2.a(decompress.o) <unknown> 0x3434 /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3/../../../libbz2.a(decompress.o) <unknown> 0x3438 /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3/../../../libbz2.a(decompress.o) <unknown> 0x343c /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3/../../../libbz2.a(decompress.o) <unknown> 0x3440 /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3/../../../libbz2.a(decompress.o) <unknown> 0x3444 /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3/../../../libbz2.a(decompress.o) <unknown> 0x3448 /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3/../../../libbz2.a(decompress.o) <unknown> 0x344c /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3/../../../libbz2.a(decompress.o) <unknown> 0x3450 /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3/../../../libbz2.a(decompress.o) <unknown> 0x3454 /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3/../../../libbz2.a(decompress.o) <unknown> 0x3458 /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3/../../../libbz2.a(decompress.o) <unknown> 0x345c /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3/../../../libbz2.a(decompress.o) <unknown> 0x3460 /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3/../../../libbz2.a(decompress.o) <unknown> 0x3464 /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3/../../../libbz2.a(decompress.o) <unknown> 0x3468 /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3/../../../libbz2.a(decompress.o) <unknown> 0x346c /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3/../../../libbz2.a(decompress.o) <unknown> 0x3470 /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3/../../../libbz2.a(decompress.o) <unknown> 0x3474 /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3/../../../libbz2.a(decompress.o) <unknown> 0x3478 /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3/../../../libbz2.a(decompress.o) <unknown> 0x347c /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3/../../../libbz2.a(decompress.o) <unknown> 0x3480 /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3/../../../libbz2.a(decompress.o) <unknown> 0x3484 /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3/../../../libbz2.a(decompress.o) __iob 0x8 /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3/../../../libbz2.a(bzlib.o) __iob 0x18 /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3/../../../libbz2.a(bzlib.o) __iob 0x3c /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3/../../../libbz2.a(bzlib.o) __iob 0x1ca8 /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3/../../../libbz2.a(bzlib.o) __iob 0x1cd0 /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3/../../../libbz2.a(bzlib.o) __iob 0x1d44 /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3/../../../libbz2.a(bzlib.o) __iob 0x1d80 /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3/../../../libbz2.a(bzlib.o) __iob 0x1d98 /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3/../../../libbz2.a(bzlib.o) __iob 0x1da8 /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3/../../../libbz2.a(bzlib.o) __iob 0x2e64 /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3/../../../libbz2.a(bzlib.o) __iob 0x2e78 /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3/../../../libbz2.a(bzlib.o) __iob 0x2e80 /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3/../../../libbz2.a(bzlib.o) __iob 0x2ee4 /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3/../../../libbz2.a(bzlib.o) __iob 0x2ee8 /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3/../../../libbz2.a(bzlib.o) __iob 0x30b4 /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3/../../../libbz2.a(bzlib.o) __iob 0x30b8 /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3/../../../libbz2.a(bzlib.o) __iob 0x30e8 /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3/../../../libbz2.a(bzlib.o) __iob 0x30f8 /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3/../../../libbz2.a(bzlib.o) __iob 0x1ec0 /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3/../../../libbz2.a(compress.o) __iob 0x20d0 /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3/../../../libbz2.a(compress.o) __iob 0x2374 /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3/../../../libbz2.a(compress.o) __iob 0x3ed8 /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3/../../../libbz2.a(compress.o) __iob 0x3ee8 /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3/../../../libbz2.a(compress.o) __iob 0x3f00 /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3/../../../libbz2.a(compress.o) __iob 0x3f1c /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3/../../../libbz2.a(compress.o) __iob 0x3f38 And so on. ===File /home/jdboyd/v/verilog-20040606/vvp/config.h======== /* config.h. Generated by configure. */ #ifndef __config_H #define __config_H /* * Copyright (c) 2001 Stephen Williams ([EMAIL PROTECTED]) * * This source code is free software; you can redistribute it * and/or modify it in source code form under the terms of the GNU * General Public License as published by the Free Software * Foundation; either version 2 of the License, or (at your option) * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA */ #ifdef HAVE_CVS_IDENT #ident "$Id: config.h.in,v 1.17 2004/05/18 18:45:11 steve Exp $" #endif # define SIZEOF_UNSIGNED_LONG_LONG 8 #ifndef SIZEOF_UNSIGNED_LONG # define SIZEOF_UNSIGNED_LONG 4 #endif # define SIZEOF_UNSIGNED 4 /* # undef NEED_LU */ /* # undef NEED_TU */ /* # undef WLU */ /* # undef WTU */ # define HAVE_DLFCN_H 1 /* # undef HAVE_DL_H */ /* # undef HAVE_GETOPT_H */ # define HAVE_MALLOC_H 1 /* # undef HAVE_LIBREADLINE */ /* # undef HAVE_READLINE_READLINE_H */ /* # undef HAVE_READLINE_HISTORY_H */ /* Figure if I can use readline. */ /* #undef USE_READLINE */ #ifdef HAVE_LIBREADLINE #ifdef HAVE_READLINE_READLINE_H # define USE_READLINE #endif #endif #ifndef MODULE_DIR # define MODULE_DIR "." #endif #if SIZEOF_UNSIGNED >= 8 vtypedef unsigned vvp_time64_t; # define TIME_FMT "" #else # if SIZEOF_UNSIGNED_LONG >= 8 typedef unsigned long vvp_time64_t; # define TIME_FMT "l" # else # if SIZEOF_UNSIGNED_LONG_LONG > SIZEOF_UNSIGNED_LONG typedef unsigned long long vvp_time64_t; # define TIME_FMT "ll" # else typedef unsigned long vvp_time64_t; # define TIME_FMT "l" # endif # endif #endif /* getrusage, /proc/self/statm */ # define HAVE_SYS_RESOURCE_H 1 /* # undef LINUX */ /* * When doing dynamic linking, we need a uniform way to identify the * symbol. Some compilers put leading _, some trailing _. The * configure script figures out which is the local convention and * defines NEED_LU and NEED_TU as required. */ #ifdef NEED_LU #define LU "_" #else #define LU "" #endif #ifdef NEED_TU #define TU "_" #else #define TU "" #endif /* * $Log: config.h.in,v $ * Revision 1.17 2004/05/18 18:45:11 steve * Handle explicit set of unsigned long width. For -m32 * * Revision 1.16 2003/08/26 16:26:02 steve * ifdef idents correctly. * * Revision 1.15 2003/05/20 03:48:23 steve * Fix spelling of HAVE_LIBREADLINE * * Revision 1.14 2003/05/16 03:50:28 steve * Fallback functionality if readline is not present. * * Revision 1.13 2003/03/13 20:31:40 steve * Warnings about long long time. * * Revision 1.12 2003/03/13 04:36:57 steve * Remove the obsolete functor delete functions. * * Revision 1.11 2002/05/24 00:43:16 steve * Define SIZEOF_UNSIGNED_LONG_LONG * * Revision 1.10 2002/04/20 04:33:23 steve * Support specified times in cbReadOnlySync, and * add support for cbReadWriteSync. * Keep simulation time in a 64bit number. * * Revision 1.9 2001/10/20 01:03:42 steve * Print memory usage information if requested (Stephan Boettcher) * * Revision 1.8 2001/09/17 22:26:33 steve * Detect C name mangling for dlsym. * * Revision 1.7 2001/09/15 18:27:05 steve * Make configure detect malloc.h * * Revision 1.6 2001/07/16 18:40:19 steve * Add a stdlog output for vvp, and vvp options * to direct them around. (Stephan Boettcher.) * * Revision 1.5 2001/05/11 02:06:14 steve * Add the --enable-vvp-debug option to the configure * script of vvp, and detect getopt.h. * * Revision 1.4 2001/05/05 23:55:46 steve * Add the beginnings of an interactive debugger. * * Revision 1.3 2001/03/22 21:26:53 steve * Compile in a default VPI module dir. * * Revision 1.2 2001/03/16 01:44:34 steve * Add structures for VPI support, and all the %vpi_call * instruction. Get linking of VPI modules to work. * * Revision 1.1 2001/03/11 00:29:38 steve * Add the vvp engine to cvs. * */ #endif ============================================================