I'm currently making a plugin based on the rmt-norm dissector by following the instructions in the README.plugins and I have been able to successfully build the plugin but when I go to start wireshark I get the following message: "Couldn't load module /products/wireshark/plugins/1.8.6/newnorm.so: products/wireshark-1.8.6/lib/wireshark/plugins/1.8.6/newnorm.so: undefined symbol: newnorm_ext_parse". I'm using the code found in epan/dissectors/packet-rmt-norm.c and its subsequent header files but I haven't changed anything except for the naming (i.e. rmt_norm to new_norm) I've tried putting newnorm_ext_parse in the epan/libwireshark.def file as suggested in previous post but it still tells me that its an undefined symbol. I am fairly new to Linux so any suggestions would be much appreciated. I'm using wireshark 1.8.6 and a SUSE Linux OS. asked 21 Aug '13, 09:09 Torbett |
3 Answers:
If you're trying to access a symbol in libwireshark from a plugin then you'll need to add that symbol to the list of symbols exported by the library. You can do that by adding it to the (That file exists and is used in Wireshark 1.8 but the method of selecting which symbols are exported changed in 1.10 and later.) answered 04 Sep '13, 07:30 JeffMorriss ♦ |
Did you rename If so, then fix the places where you used answered 21 Aug '13, 13:21 Guy Harris ♦♦ Thanks for you reply. I don't think that is the problem. I went through all the naming to check and I don't believe that's the case. Any other suggestions? (21 Aug '13, 13:55) Torbett Make sure that the routine named (21 Aug '13, 14:14) Guy Harris ♦♦ |
Thank you both for your advice. I ended up abandoning the plugin route and instead I grep-ed for packet-rmt-norm and put my rendition of the protocol wherever the original was located and now it works just fine. answered 11 Sep '13, 12:09 Torbett |
For the record: On March 1, 2013 in trunk SVN #47992, a change was made so that symbols which are to be exported should be declared using WS_DLL_PUBLIC. (libwireshark.def is no longer used).
For example (from epan/column.h)