tcpdump mailing list archives
Re: Need precompiled source files in libpcap
From: Yang Luo <hsluoyb () gmail com>
Date: Thu, 30 Jun 2016 14:27:11 -0700
On Thu, Jun 30, 2016 at 2:14 PM, Guy Harris <guy () alum mit edu> wrote:
On Jun 30, 2016, at 12:59 PM, Yang Luo <hsluoyb () gmail com> wrote:But I encountered an issue here, the built out scanner.h and scanner.cwill report these errors:1> gencode.c 1>..\scanner.h(239): fatal error C1083: Cannot open include file:'unistd.h': No such file or directory1> grammar.c 1>..\scanner.h(239): fatal error C1083: Cannot open include file:'unistd.h': No such file or directory1>..\scanner.c(2787): fatal error C1083: Cannot open include file:'unistd.h': No such file or directoryIt seems that these generated source files want to include a UN*X onlyfile "unistd.h", which is not available on Windows, like you said in the next reply. I think I need to switch some options to let Flex not use "unistd.h", how to do it?OK. I found the solution. I changed the bat to: win_flex -Ppcap_ -7 --nounistd --outfile=..\scanner.c--header-file=..\scanner.h ..\scanner.lwin_bison -ppcap_ --yacc --output=..\grammar.c --defines ..\grammar.y And Flex won't let the generated source filess require "unistd.h" anymore.When this bat is done, I think I will make MSVC run this bat every timebefore a build process starts, is this solution OK for you? That'd one way to do it. Another way is to have the project define YY_NO_UNISTD_H - that's what CMake does.
Agreed, I will use the project definition way then, which has been done in https://github.com/the-tcpdump-group/libpcap/pull/508
And installing flex and bison for Windows are not also very friendly.https://twitter.com/geraldcombs/status/735870968451629056In fact I didn't catch the meaning very well.. What's a "IKEA motorcycleengine"? I think "IKEA" is a furniture vendor? What does it has to do with the motorcycle engine? A lot of the furniture that IKEA sells is un-assembled, so you take it home in a flat package and assemble it at home. For furniture, that works. But if IKEA sold motorcycle engines that way, it wouldn't work as well: http://www-psych.stanford.edu/~bt/diagrams/papers/animationearli04_files/image012.png You'd have a *lot* more work to do to assemble it, and you'd have to know a *lot* more in order to do it right.
Aha, good to learn it:) It's definitely a bad idea to ask users to assembly a motorcycle engine.
Does it mean that building open source on Windows is very painful andinconvenient? Pretty much, yes. When you want to build open-source software on a UN*X, as long as you have all of the necessary tools and libraries installed, it's usually just ./configure; make; make install - or maybe mkdir build cd build cmake .. make make install if it's using CMake, and the necessary tools and libraries are usually either 1) installed by default; 2) installable as a package provided by the OS developer; 3) installable from a third-party binary package; 4) installable from source. A lot of this is because most UN*Xes are very similar, with the differences mostly being relatively minor annoyances. On Windows, you may need built-for-Windows - or even ported-to-Windows - versions of the same tools and libraries, and the autotools (configure script) often don't work. If the project uses CMake, it might work, although even there you may have to do a bunch of "if(WIN32)" in the CMake files.
Using CMake for libpcap's Windows version building can be a future work. Currently, let's make the hand-crafted MSVC project building process work first. Cheers, Yang _______________________________________________ tcpdump-workers mailing list tcpdump-workers () lists tcpdump org https://lists.sandelman.ca/mailman/listinfo/tcpdump-workers
Current thread:
- Need precompiled source files in libpcap Yang Luo (Jun 24)
- Re: Need precompiled source files in libpcap Guy Harris (Jun 25)
- Re: Need precompiled source files in libpcap Yang Luo (Jun 25)
- Re: Need precompiled source files in libpcap Guy Harris (Jun 25)
- Re: Need precompiled source files in libpcap Yang Luo (Jun 30)
- Re: Need precompiled source files in libpcap Yang Luo (Jun 25)
- Re: Need precompiled source files in libpcap Yang Luo (Jun 30)
- Re: Need precompiled source files in libpcap Yang Luo (Jun 30)
- Re: Need precompiled source files in libpcap Guy Harris (Jun 30)
- Re: Need precompiled source files in libpcap Yang Luo (Jun 30)
- Re: Need precompiled source files in libpcap Guy Harris (Jun 25)