On 12/11/06, Philip Levis <[EMAIL PROTECTED]> wrote:
On Dec 11, 2006, at 8:16 AM, Mr. Jonathan A. Gomez wrote: > > Hmm... I don't know anything about compiling TOSSIM, but I do > understand some of the meaning of > your error messages: > > You got a lot of lines like > >> build/micaz/sim.o(.text+0x2f86): In function `sim_log_add_channel': >> /opt/tinyos-2.x/tos/lib/tossim/sim_log.c:166: undefined reference to >> `_hashtable_search' > > In other words, there is a dependency in sim.o, which uses but > doesn't define the > hashtable_search function. It's not linking because it is missing > the hashtable function. In > my copy of the TinyOS-2.x cvs, there is a file called hashtable.c > in the tos/lib/tossim > directory which defines these. I don't know if you have such a > file in your version. At any > rate, looking at the command being passed to g++, it doesn't seem > that this file is being > included. > > This was the command which generated your errors (all the rest just > spit out warnings): > > g++ -fpic -shared -W1,--enable-auto-image-base build/micaz/ > pytossim.o build/micaz/sim.o > build/micaz/tossim.o -L/usr/lib/python2.3/config -lpython2.3-lstdc+ > + -o _TOSSIM.dll > > I hesitate to say that this will help, since I haven't even tried > to compile the program myself, > but it might help to insert 'hashtable.c' in the arguments if you > have the file, right before > the first 'build/...'. Perhaps? The hashtable code is compiled into c-support.o, which isn't being linked in. This is because sim-cygwin is an old Makefile. The new Makefile links it in.
how do i get the new Makefile and how do i link it? Do i need to download and reinstall tinyos or something? Also i tried using 'make micaz sim' , but this throws numerous 'undefined_reference' errors like say /opt/tinyos-2.x/tos/lib/tossim/tossim_wrap.cxx:3065: undefined reference to `_Py Long_FromUnsignedLong' build/micaz/pytossim.o(.text+0xdc71):/opt/tinyos-2.x /tos/lib/tossim/tossim_wrap. cxx:3065: undefined reference to `_PyInt_FromLong' build/micaz/pytossim.o(.text+0xdcca): In function `_Z22SWIG_From_long_SS_longx': /opt/tinyos-2.x/tos/lib/tossim/tossim_wrap.cxx:3073: undefined reference to `_Py Long_FromLongLong' build/micaz/pytossim.o(.text+0xdcda):/opt/tinyos-2.x /tos/lib/tossim/tossim_wrap. cxx:3073: undefined reference to `_PyInt_FromLong' build/micaz/pytossim.o(.text+0xdd43): In function `_Z23SWIG_FromCharPtrAndSizePK cj': /opt/tinyos-2.x/tos/lib/tossim/tossim_wrap.cxx:2955: undefined reference to `_Py String_FromStringAndSize' build/micaz/pytossim.o(.data+0x1a0): In function `SWIG_TypeCompare': /opt/tinyos-2.x/tos/lib/tossim/tossim_wrap.cxx:398: undefined reference to `_PyO bject_GenericGetAttr' collect2: ld returned 1 exit status make: *** [sim-exe] Error 1 I checked the tinyos-help thread on this. It says i need to change the sim.extra file to reflect the correct python version (in my case it is 2.3.4). I made this change to the sim.extra file. The help also says i need to have /usr/lib/pythonX.Y , but i do not have anything in my /usr/lib directory , but have a directory by name 'python2.3' at location /lib/python2.3 I copied this directory to /usr/lib , but this does not work. Now how do i get over this? Which rpm for python-devel do i need to download? Where can i find it? will it work for cygwin? I know these are too many questions but please do let me know Preeti Phil
_______________________________________________ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help