libpnet / libpnet/libpnet

Fail to build on sparc64: mismatched types for TvUsecType

Open
#575 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
2.6k
Forks
329
PR merge metrics
No merged PRs in 30d

Description

I'm evaluating the portability status of an application that is using libpnet. It turns out libpnet doesn't build on sparc64:

error[E0308]: mismatched types
  --> pnet_sys/src/unix.rs:97:22
   |
97 |             tv_usec: dur.subsec_micros() as TvUsecType,
   |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `i32`, found `i64`

For more information about this error, try `rustc --explain E0308`.
error: could not compile `pnet_sys` due to previous error

This is on the gcc202 machine here: https://cfarm.tetaneutral.net/machines/list/
If you want to have a look, feel free to apply for an account on the farm.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in pnet_sys/src/unix.rs around line 97 and inspect the definition of TvUsecType for sparc64 and other Unix targets. Reproduce the reported build or type-check on sparc64, then verify that pnet_sys builds successfully without breaking the existing platform-specific definitions.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
build-system, networking, operating-systems
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.