Ticket #141 (closed defect: fixed)
Fix HP-UX/Strictly Aligned system compile issues
| Reported by: | aturner | Owned by: | aturner |
|---|---|---|---|
| Priority: | low | Milestone: | 3.0.RC1 |
| Component: | tcpreplay | Version: | 3.0.beta13 |
| Keywords: | Cc: | ||
| Operating System: | Add to FAQ?: | no | |
| Hardware: | All | ||
| Output of tcpreplay -V: | |||
Description
Multiple compilation errors with this one (configure seems to run OK).
First one is related to src/defines.h. Looks like in line 119 FALSE and TRUE are being defined as enum, where on HP-UX they already exist as defines in some file included before. Putting #undef FALSE and #under TRUE before that line fixes the issue. Ditto in like 136 of the same file with the definition of SERVER. Workaround the same for me: #undef SERVER.
A proper fix would be to maybe have a separate namespace. For example: TCPREPLAY_FALSE, TCPREPLAY_TRUE and so on.
Then there is this:
--------------------------------------------- tcpedit.c: In function 'tcpedit_init': tcpedit.c:237: error: 'tcpedit_runtime_t' has no member named 'ipbuff' tcpedit.c: In function 'tcpedit_close': tcpedit.c:386: error: 'tcpedit_runtime_t' has no member named 'ipbuff' ---------------------------------------------
That only happens when FORCE_ALIGN is defined, so it may not be true on x86 and friends, but it is on PA-RISC. The error is that there is really no member by the name of ipbuff in that structure. Maybe you meant tcpeditdlt_s? Not sure...
Anyhow, this is where I was stopped for now with 3.0.beta13.
