Hello, Anders, thank you. I think I've finally got the separate "generate" and "compile" steps clear now. Thank you.
What I think remains is regression testing. Yes? No? For a new dissector should there be entry in some file (somewhere) that tells the build tools what to test (if anything) regarding a new dissector in the asn1 directory? I've been digging around a bit in the source files and I have not yet made sense of how regression testing (or any testing) is done, or even if it applies to dissectors let alone a new dissector. Vincent Randal On Mon, Apr 19, 2021 at 12:52 AM Anders Broman via Wireshark-dev < wireshark-dev@wireshark.org> wrote: > Hi, > > Perhaps a misconception here, the generated files are part of the source > tree currently so when you change any of the files in the > > ../asn1/foo directory you need to run make foo and check in the generated > .c and optionally .h file. > > > > So on the very first round add the directory and files in the /foo > directory DO NOT change cmake for the generated files yet > > Run cmake to have the cmake files generated needed to generate asn1 > dissectors. > > Run make foo > > You should now have generated .c and possibly .h files in your src dir > > Check them in and update the cmake files to include the f´generated .c .h > files > > Run make to have them built > > > > Best regards > > Anders > > > > *From:* Wireshark-dev <wireshark-dev-boun...@wireshark.org> *On Behalf Of > *Vincent Randal > *Sent:* den 19 april 2021 05:06 > *To:* Developer support list for Wireshark <wireshark-dev@wireshark.org> > *Subject:* Re: [Wireshark-dev] still unclear how to build a new > ASN.1-based dissector > > > > CORRECTION: I omitted the troublesome steps (underlined) when describing > the problem: > > git clone https://<wireshark repo> wireshark > > cd wireshark > > git checkout wireshark-3.4.4 > > cd wireshark/epan/dissectors > > *cp ~/myfoo.tgz . #copy dissector code into wireshark clone* > > *tar xvf myfoo.tgz #extract the dissector code (details in previous email)* > > cd ../../.. > > mkdir build > > cd build > > cmake ../wireshark #this step worked previously but not on a fresh > wireshark clone now > > make asn1 #with relevant entries in two CMakeListsCustom files > > make > > > > On Sun, Apr 18, 2021 at 8:15 PM Vincent Randal <vtran...@gmail.com> wrote: > > Hello Wireshark-dev community, > > > > Apparently, I still don't have the correct sequence of steps necessary for > first time generation of "packet-myfoo.c" and "packet-myfoo.h" for a new > ASN.1-based dissector called myfoo. Details follow. > > > > I would like to understand (much better than I do) how to add an > ASN.1-based dissector to epan/dissectors/asn1 in a fresh clone of > wireshark. I got a lot of help from a lot of people last week (for which I > am grateful) but I must still be missing a step here: > > git clone https://<wireshark repo> wireshark > > cd wireshark > > git checkout wireshark-3.4.4 > > cd .. > > mkdir build > > cd build > > cmake ../wireshark #this step worked previously but not on a fresh > wireshark clone now > > make asn1 #with relevant entries in two CMakeListsCustom files > > make > > > > When I add my dissector folder "myfoo" to epan/dissectors/asn1 here's the > relevant error messages from cmake (with some highlighting by me): > > > > > > > > > > > > *-- Configuring doneCMake Error at epan/dissectors/CMakeLists.txt:2004 > (add_library): Cannot find source file: > /home/vtrandal/ws1/wireshark/epan/dissectors/packet-myfoo.c Tried > extensions .c .C .c++ .cc .cpp .cxx .cu .m .M .mm .h .hh .h++ .hm .hpp > .hxx .in .txxCMake Error at epan/dissectors/CMakeLists.txt:2004 > (add_library): No SOURCES given to target: dissectors* > > [end of cmake error messages] > > > > The point of the above cmake error messages is that the "packet-myfoo.c" > and "packet-myfoo.h" files have not yet been generated (and I don't know > how to generate them). I do not know how I got past the cmake step before, > but I was lucky (and unlucky now). The ASN.1-based dissector code is in the > attached .tgz file which I extract in epan/dissectors as follows: > > tar xvf myfoo.tgz > > ./CMakeListsCustom.txt <== contains entry for myfoo > ./asn1/CMakeListsCustom.txt <== contains entry for myfoo > ./asn1/myfoo/ > ./asn1/myfoo/myfoo.asn > ./asn1/myfoo/myfoo.cnf > ./asn1/myfoo/CMakeLists.txt > ./asn1/myfoo/packet-myfoo-template.h > ./asn1/myfoo/packet-myfoo-template.c > > > > I apologize in advance for being thick-headed about the process of adding > a new ASN.1-based dissector to epan/dissectors/asn1 in Wireshark. With help > from a lot of people I got it to compile previously (again for which I am > grateful). But I cannot repeat that success starting with a fresh clone of > wireshark regardless of the branch. Somehow I still don't have the correct > sequence of steps necessary to generate "packet-myfoo.c" and > "packet-myfoo.h" the first time. With my dissector code in epan/dissectors > the cmake step fails and I cannot make anything. > > > > Vincent > > > > NOTE: The attached dissector code is based on the simple ASN.1-based > dissector example online. > https://www.wireshark.org/docs/wsdg_html_chunked/SimpleASN1BasedDissector.html > > > > ___________________________________________________________________________ > Sent via: Wireshark-dev mailing list <wireshark-dev@wireshark.org> > Archives: https://www.wireshark.org/lists/wireshark-dev > Unsubscribe: https://www.wireshark.org/mailman/options/wireshark-dev > mailto:wireshark-dev-requ...@wireshark.org > ?subject=unsubscribe
___________________________________________________________________________ Sent via: Wireshark-dev mailing list <wireshark-dev@wireshark.org> Archives: https://www.wireshark.org/lists/wireshark-dev Unsubscribe: https://www.wireshark.org/mailman/options/wireshark-dev mailto:wireshark-dev-requ...@wireshark.org?subject=unsubscribe