Skip to content

Windows Symbol: amrex::Gpu::Device::max_gpu_streams #2917

@ax3l

Description

@ax3l

In BLAST-ImpactX/impactx#205, I investigate a symbol error from AMReX of the form:
Clang-Cl:

lld-link: error: undefined symbol: private: static int amrex::Gpu::Device::max_gpu_streams
>>> referenced by _deps\fetchedablastr-build\CMakeFiles\ablastr.dir\Source\ablastr\utils\Communication.cpp.obj:(.omp_outlined.)
>>> referenced by _deps\fetchedablastr-build\CMakeFiles\ablastr.dir\Source\ablastr\utils\Communication.cpp.obj:(.omp_outlined..5)

MSVC:

       "D:\a\impactx\impactx\build\_deps\fetchedablastr-build\ablastr.vcxproj" (default target) (6) ->
       (Link target) -> 
         Communication.obj : error LNK2001: unresolved external symbol "private: static int amrex::Gpu::Device::max_gpu_streams" (?max_gpu_streams@Device@Gpu@amrex@@0HA) [D:\a\impactx\impactx\build\_deps\fetchedablastr-build\ablastr.vcxproj]
         D:\a\impactx\impactx\build\bin\Debug\ablastr.dll : fatal error LNK1120: 1 unresolved externals [D:\a\impactx\impactx\build\_deps\fetchedablastr-build\ablastr.vcxproj]

We build AMReX as shared lib that goes into a further shared lib in WarpX (ABLASTR) that then gets consumed by the ImpactX executable.
Builds are with CMake (as in WarpX).

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions