'up dating linker ld on Mac

I am trying to compile an example pytroch c++ project using instructions at:

https://pytorch.org/cppdocs/installing.html

When i reach the point of calling:

cmake -DCMAKE_PREFIX_PATH=/absolute/path/to/libtorch .. cmake --build . --config Release

I get an error:

ld: unknown option: --no-as-needed
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [BLOCK_READER] Error 1
make[1]: *** [CMakeFiles/BLOCK_READER.dir/all] Error 2
make: *** [all] Error 2

It looks like the issue is that the linker doesnt understand the option --no-as-needed.

After some research it looks like newer version of the linker support this option, but not the version i have.

So my question is how do i update my linker to a version that support this option?

I am on a Apple M1 (BigSur)..

It is my understanding that ld is part of gcc so can i just update gcc?

Btw here is my cmake CMakeLists.txt

cmake_minimum_required(VERSION 3.0 FATAL_ERROR)
project(block_reader)

# Setup Torch
set(CMAKE_CXX_COMPILER "/usr/bin/g++" CACHE STRING "C++ compiler" FORCE)
set(CMAKE_LINKER "/usr/bin/ld" CACHE STRING "" FORCE)

set(CMAKE_PREFIX_PATH /Users/username/Downloads/libtorch)
find_package(Torch REQUIRED)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${TORCH_CXX_FLAGS}")
# Setup Torch
add_executable(BLOCK_READER main.cpp)

target_include_directories(BLOCK_READER PRIVATE /src)
set_property(TARGET BLOCK_READER PROPERTY CXX_STANDARD 14)
target_link_libraries(BLOCK_READER "${TORCH_LIBRARIES}")


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source