Skip to content

Build fails on Ubuntu 20.04 aarch64 with undefined reference to 'WhereAmI' #4623

Closed
@SurvivorNo1

Description

@SurvivorNo1

Environment

- version: OpenBLAS-0.3.7
- OS: Ubuntu 20.04.2 LTS (Focal Fossa)
- CPU details:
Architecture: aarch64
CPU op-mode(s): 64-bit
Byte Order: Little Endian
CPU(s): 64
On-line CPU(s) list: 0-63
Thread(s) per core: 1
Core(s) per socket: 64
Socket(s): 1
NUMA node(s): 8
Vendor ID: 0x70
Model: 2
Stepping: 0x1
BogoMIPS: 100.00
L1d cache: 2 MiB
L1i cache: 2 MiB
L2 cache: 256 MiB
NUMA node0 CPU(s): 0-7
NUMA node1 CPU(s): 8-15
NUMA node2 CPU(s): 16-23
NUMA node3 CPU(s): 24-31
NUMA node4 CPU(s): 32-39
NUMA node5 CPU(s): 40-47
NUMA node6 CPU(s): 48-55
NUMA node7 CPU(s): 56-63
Vulnerability Itlb multihit: Not affected
Vulnerability L1tf: Not affected
Vulnerability Mds: Not affected
Vulnerability Meltdown: Mitigation; PTI
Vulnerability Spec store bypass: Vulnerable
Vulnerability Spectre v1: Mitigation; __user pointer sanitization
Vulnerability Spectre v2: Vulnerable
Vulnerability Srbds: Not affected
Vulnerability Tsx async abort: Not affected
Flags: fp asimd evtstrm crc32 cpuid

Issue description

Encountered a build error when compiling OpenBLAS on aarch64 architecture. The specific error message is

/usr/bin/ld: ../libopenblas_armv8p-r0.3.7.a(init.o): in function `gotoblas_set_affinity':
init.c:(.text+0xf8): undefined reference to `WhereAmI'
/usr/bin/ld: ../libopenblas_armv8p-r0.3.7.a(init.o): in function `get_node':
init.c:(.text+0x14c): undefined reference to `WhereAmI'
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:146: zblat1] Error 1
make[1]: *** Waiting for unfinished jobs....
/usr/bin/ld: ../libopenblas_armv8p-r0.3.7.a(init.o): in function `gotoblas_set_affinity':
init.c:(.text+0xf8): undefined reference to `WhereAmI'
/usr/bin/ld: ../libopenblas_armv8p-r0.3.7.a(init.o): in function `get_node':
init.c:(.text+0x14c): undefined reference to `WhereAmI'
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:143: cblat1] Error 1

Steps to Reproduce

  1. Set the following configuration in Makefile.rule:
    NUM_THREADS = 64
    USE_OPENMP = 1
    NO_AFFINITY = 0
    
  2. Run the following build command:
    nohup make NO_AFFINITY=0 -j32 &> makelog &
    

Error Message

The build fails with the following output:

undefined reference to 'WhereAmI'

Log Files and output

see the attachment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions