aliyun / aliyun/SimAI

Does not build on macos

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

Nobody has claimed this yet.

Dominant language
Python
Stars
1.2k
Forks
184
Avg merge
13h 4m
Merged PRs (30d)
1

Description

Running ./scripts/build.sh -c ns3 gives the following error:

[683/1051] Linking CXX shared library /Users/user/Develop/SimAI/astra-sim-alibabacloud/extern/network_backend/ns3-interface/simulation/build/lib/libns3.36.1-applications-debug.dylib
Undefined symbols for architecture arm64:
"ns3::RdmaDriver::EnbaleNVLS()", referenced from:
ns3::RdmaClient::StartApplication() in rdma-client.cc.o
"ns3::RdmaDriver::DisableNVLS()", referenced from:
ns3::RdmaClient::StartApplication() in rdma-client.cc.o
"ns3::RdmaDriver::AddQueuePair(unsigned int, unsigned int, unsigned long long, unsigned long long, unsigned short, ns3::Ipv4Address, ns3::Ipv4Address, unsigned short, unsigned short, unsigned int, unsigned long long, ns3::Callback<void, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty>, ns3::Callback<void, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty>)", referenced from:
ns3::RdmaClient::StartApplication() in rdma-client.cc.o
"ns3::RdmaDriver::GetTypeId()", referenced from:
ns3::Ptrns3::RdmaDriver ns3::Object::GetObjectns3::RdmaDriver() const in rdma-client.cc.o
ld: symbol(s) not found for architecture arm64
c++: error: linker command failed with exit code 1 (use -v to see invocation)

Adding libpoint-to-point to libapplications' cmake dependence leads to libpoint-to-point missing SimpleSeqTsHeader, which is in libapplications. This results in cyclic-dependence

Apple clang version 17.0.0 (clang-1700.0.13.3), macOS Sequoia 15.4.1 (24E263)

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 by running ./scripts/build.sh -c ns3 on macOS and inspect the CMake dependency declarations for libapplications and libpoint-to-point. Trace the missing RdmaDriver symbols from rdma-client.cc and verify where SimpleSeqTsHeader is defined. Done means the ns3 build links successfully on arm64 without introducing a cyclic library dependency.

Written by the indexing model from the issue text.

Assessment

Tech stack
cmake, cpp
Domain
build-system, networking
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.