Bug 134 - [Anolis OS 8 loongarch] lmbench编译时报错
Summary: [Anolis OS 8 loongarch] lmbench编译时报错
Status: VERIFIED FIXED
Alias: None
Product: Anolis OS 8
Classification: Anolis OS
Component: Images&Installations (show other bugs) Images&Installations
Version: 8.4
Hardware: loongarch Linux
: P2-High S2-major
Target Milestone: ---
Assignee: wenlong
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-12-17 16:21 UTC by latest
Modified: 2022-01-17 17:24 UTC (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description latest loongson_group 2021-12-17 16:21:27 UTC
【硬件配置】
1、整机 型号:3C5000L
2、处理器:loongson-3A5000L
3、内存信息:128G
12、显卡 型号:集显 
13、网卡 Intel Corporation 82599ES 10-Gigabit


【版本信息】
1、固件版本:
Vendor			: Loongson
Version			: Loongson-UDK2018-V1.4.2-8W
ROM Size		: 63 KB
Release Date		: 11/05/2021
Board Information
Manufacturer		: Loongson
Board Name		: Loongson-LS2C5LE
Family			: LOONGSON3

2.系统版本:anolis-8-loongarch64-dvd1-20211210.1.iso
3.内核版本 :Linux localhost.localdomain 4.19.190-3.an8.loongarch64 #1 SMP Tue Dec 7 17:19:44 UTC 2021 loongarch64 loongarch64 loongarch64 GNU/Linux


【重现概率】:
  必现100%
【测试步骤】
  1.yum install libtirpc libtirpc-devel
  2.解压源码包
  3.编译make results

报错如下

[root@localhost lmbench-3.0-a9]# make results
make: 警告:文件“results”的修改时间在未来 64289554 秒后
cd src && make results
make[1]: 进入目录“/home/lmbench-3.0-a9/src”
make[1]: 警告:文件“../scripts/gnu-os”的修改时间在未来 88826975 秒后
gmake[2]: 进入目录“/home/lmbench-3.0-a9/src”
gcc -O -DRUSAGE -DHAVE_uint=1 -DHAVE_int64_t=1 -DHAVE_socklen_t -DHAVE_DRAND48 -DHAVE_SCHED_SETAFFINITY=1   -c lib_tcp.c -o ../bin/loongarch64-linux-gnu/lib_tcp.o
In file included from lib_tcp.c:9:
bench.h:39:10: fatal error: rpc/rpc.h: 没有那个文件或目录
 #include <rpc/rpc.h>
         ^~~~~~~~~~~

    4.cp /usr/include/tirpc/netconfig.h /usr/include/
      cp /usr/include/tirpc/rpc/* /usr/include/rpc/
    5.编译 make results

【预期结果】:
编译成功

【实际结果】:
报错如下
lib_tcp.c:(.text+0x5c8): undefined reference to `pmap_unset'
/usr/bin/ld: lib_tcp.c:(.text+0x5e4): undefined reference to `pmap_set'
collect2: error: ld returned 1 exit status
gmake[2]: *** [Makefile:292:../bin/loongarch64-linux-gnu/bw_tcp] 错误 1


注:修改 /src/bench.h 里rpc的路径同样效果
Comment 1 lvzb86 2021-12-17 17:34:38 UTC
lmbench测试工具报错解决办法
依赖问题:
yum install libtirpc-devel

#cp /usr/include/tirpc/rpc/* /usr/include/rpc/
#cp /usr/include/tirpc/netconfig.h /usr/include/
#pkg-config --cflags --libs libtirpc
#export LDFLAGS="-ltirpc"
#export CFLAGS="-I /usr/include/tirpc"

#修改src/Makefile231行
# 将$O/lmbench : ../scripts/lmbench bk.ver 中的 bk.ver 去掉
#修改disk.c源码文件中llseek接口函数为lseek64

执行使用
make results OS=mips-linux

#mail no
Comment 2 geliwei-ali 2021-12-28 17:00:03 UTC
tirpc的头文件目录和x86一致, rpc头文件是glibc-headers提供的,分配给龙芯的同学
Comment 3 wenlong loongson_group 2022-01-17 09:20:43 UTC
(In reply to geliwei-ali from comment #2)
> tirpc的头文件目录和x86一致, rpc头文件是glibc-headers提供的,分配给龙芯的同学

请集成最新版本的glibc后进行测试,最新版本的glibc集成了rpc相关头文件
Comment 4 latest loongson_group 2022-01-17 17:24:44 UTC
更新至:
  glibc-2.28-12.32.an8.loongarch64                                              
  glibc-common-2.28-12.32.an8.loongarch64                                       
  glibc-devel-2.28-12.32.an8.loongarch64                                        
  glibc-headers-2.28-12.32.an8.loongarch64                                      
  glibc-langpack-en-2.28-12.32.an8.loongarch64                                  
  glibc-langpack-zh-2.28-12.32.an8.loongarch64                                  
  libnsl-2.28-12.32.an8.loongarch64                                             
后复测编译通过