linux 64位编译iometer提示make: *** [Pulsar.o] Error 1错误的解决方法

今天在redhat 64位安装iometer时总是提示出错如下:

  1. [root@DELL-1 src]# make -f Makefile-Linux.x86_64 dynamo   
  2. /usr/bin/g++ -O -Wall -D_GNU_SOURCE -DIOMTR_OSFAMILY_UNIX -DIOMTR_OS_LINUX -DIOMTR_CPU_X86_64 -DIOMTR_SETTING_GCC_M64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DNOMINMAX -DUSE_NEW_DISCOVERY_MECHANISM -DFORCE_STRUCT_ALIGN -DIOMTR_SETTING_CPU_AFFINITY -c IOGlobals.cpp   
  3. /usr/bin/g++ -O -Wall -D_GNU_SOURCE -DIOMTR_OSFAMILY_UNIX -DIOMTR_OS_LINUX -DIOMTR_CPU_X86_64 -DIOMTR_SETTING_GCC_M64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DNOMINMAX -DUSE_NEW_DISCOVERY_MECHANISM -DFORCE_STRUCT_ALIGN -DIOMTR_SETTING_CPU_AFFINITY -c Pulsar.cpp   
  4. In file included from IOManager.h:94,   
  5.                  from Pulsar.cpp:135:   
  6. IOPerformance.h:101:21: error: stropts.h: No such file or directory   
  7. make: *** [Pulsar.o] Error 1  

查找了半天原因终于发现提示错误中:IOPerformance.h:101:21: error: stropts.h: No such file or directory这是STREAM支持,听说早期Linux支持。所以需要在安装路径:iometer-2008-06-22-rc2/src中找到IOPerformance.h 这个文件在100行处修改如下:
将如下代码:

  1. #if defined(IOMTR_OS_LINUX) || defined(IOMTR_OSFAMILY_NETWARE) || defined(IOMTR_OS_SOLARIS)   
  2.   

修改为:

  1. #if defined(IOMTR_OSFAMILY_NETWARE) || defined(IOMTR_OS_SOLARIS)  

保存配置,重新编译一切OK。

  1. [root@DELL-1 src]# make -f Makefile-Linux.x86_64 dynamo   
  2. /usr/bin/g++ -O -Wall -D_GNU_SOURCE -DIOMTR_OSFAMILY_UNIX -DIOMTR_OS_LINUX -DIOMTR_CPU_X86_64 -DIOMTR_SETTING_GCC_M64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DNOMINMAX -DUSE_NEW_DISCOVERY_MECHANISM -DFORCE_STRUCT_ALIGN -c Pulsar.cpp   
  3. /usr/bin/g++ -O -Wall -D_GNU_SOURCE -DIOMTR_OSFAMILY_UNIX -DIOMTR_OS_LINUX -DIOMTR_CPU_X86_64 -DIOMTR_SETTING_GCC_M64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DNOMINMAX -DUSE_NEW_DISCOVERY_MECHANISM -DFORCE_STRUCT_ALIGN -c IOManager.cpp   
  4. /usr/bin/g++ -O -Wall -D_GNU_SOURCE -DIOMTR_OSFAMILY_UNIX -DIOMTR_OS_LINUX -DIOMTR_CPU_X86_64 -DIOMTR_SETTING_GCC_M64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DNOMINMAX -DUSE_NEW_DISCOVERY_MECHANISM -DFORCE_STRUCT_ALIGN -c IOManagerLinux.cpp   
  5. /usr/bin/g++ -O -Wall -D_GNU_SOURCE -DIOMTR_OSFAMILY_UNIX -DIOMTR_OS_LINUX -DIOMTR_CPU_X86_64 -DIOMTR_SETTING_GCC_M64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DNOMINMAX -DUSE_NEW_DISCOVERY_MECHANISM -DFORCE_STRUCT_ALIGN -c IOGrunt.cpp   
  6. /usr/bin/g++ -O -Wall -D_GNU_SOURCE -DIOMTR_OSFAMILY_UNIX -DIOMTR_OS_LINUX -DIOMTR_CPU_X86_64 -DIOMTR_SETTING_GCC_M64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DNOMINMAX -DUSE_NEW_DISCOVERY_MECHANISM -DFORCE_STRUCT_ALIGN -c IOTarget.cpp   
  7. /usr/bin/g++ -O -Wall -D_GNU_SOURCE -DIOMTR_OSFAMILY_UNIX -DIOMTR_OS_LINUX -DIOMTR_CPU_X86_64 -DIOMTR_SETTING_GCC_M64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DNOMINMAX -DUSE_NEW_DISCOVERY_MECHANISM -DFORCE_STRUCT_ALIGN -c IOTargetDisk.cpp   
  8. /usr/bin/g++ -O -Wall -D_GNU_SOURCE -DIOMTR_OSFAMILY_UNIX -DIOMTR_OS_LINUX -DIOMTR_CPU_X86_64 -DIOMTR_SETTING_GCC_M64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DNOMINMAX -DUSE_NEW_DISCOVERY_MECHANISM -DFORCE_STRUCT_ALIGN -c IOTargetTCP.cpp   
  9. /usr/bin/g++ -O -Wall -D_GNU_SOURCE -DIOMTR_OSFAMILY_UNIX -DIOMTR_OS_LINUX -DIOMTR_CPU_X86_64 -DIOMTR_SETTING_GCC_M64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DNOMINMAX -DUSE_NEW_DISCOVERY_MECHANISM -DFORCE_STRUCT_ALIGN -c IOPort.cpp   
  10. /usr/bin/g++ -O -Wall -D_GNU_SOURCE -DIOMTR_OSFAMILY_UNIX -DIOMTR_OS_LINUX -DIOMTR_CPU_X86_64 -DIOMTR_SETTING_GCC_M64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DNOMINMAX -DUSE_NEW_DISCOVERY_MECHANISM -DFORCE_STRUCT_ALIGN -c IOPortTCP.cpp   
  11. /usr/bin/g++ -O -Wall -D_GNU_SOURCE -DIOMTR_OSFAMILY_UNIX -DIOMTR_OS_LINUX -DIOMTR_CPU_X86_64 -DIOMTR_SETTING_GCC_M64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DNOMINMAX -DUSE_NEW_DISCOVERY_MECHANISM -DFORCE_STRUCT_ALIGN -c Network.cpp   
  12. /usr/bin/g++ -O -Wall -D_GNU_SOURCE -DIOMTR_OSFAMILY_UNIX -DIOMTR_OS_LINUX -DIOMTR_CPU_X86_64 -DIOMTR_SETTING_GCC_M64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DNOMINMAX -DUSE_NEW_DISCOVERY_MECHANISM -DFORCE_STRUCT_ALIGN -c NetTCP.cpp   
  13. /usr/bin/g++ -O -Wall -D_GNU_SOURCE -DIOMTR_OSFAMILY_UNIX -DIOMTR_OS_LINUX -DIOMTR_CPU_X86_64 -DIOMTR_SETTING_GCC_M64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DNOMINMAX -DUSE_NEW_DISCOVERY_MECHANISM -DFORCE_STRUCT_ALIGN -c ByteOrder.cpp   
  14. /usr/bin/g++ -O -Wall -D_GNU_SOURCE -DIOMTR_OSFAMILY_UNIX -DIOMTR_OS_LINUX -DIOMTR_CPU_X86_64 -DIOMTR_SETTING_GCC_M64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DNOMINMAX -DUSE_NEW_DISCOVERY_MECHANISM -DFORCE_STRUCT_ALIGN -c IOPerformanceLinux.cpp   
  15. /usr/bin/g++ -O -Wall -D_GNU_SOURCE -DIOMTR_OSFAMILY_UNIX -DIOMTR_OS_LINUX -DIOMTR_CPU_X86_64 -DIOMTR_SETTING_GCC_M64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DNOMINMAX -DUSE_NEW_DISCOVERY_MECHANISM -DFORCE_STRUCT_ALIGN -c IOTime.cpp   
  16. /usr/bin/g++ -O -Wall -D_GNU_SOURCE -DIOMTR_OSFAMILY_UNIX -DIOMTR_OS_LINUX -DIOMTR_CPU_X86_64 -DIOMTR_SETTING_GCC_M64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DNOMINMAX -DUSE_NEW_DISCOVERY_MECHANISM -DFORCE_STRUCT_ALIGN -c IOCQAIO.cpp   
  17. /usr/bin/g++ -O -Wall -D_GNU_SOURCE -DIOMTR_OSFAMILY_UNIX -DIOMTR_OS_LINUX -DIOMTR_CPU_X86_64 -DIOMTR_SETTING_GCC_M64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DNOMINMAX -DUSE_NEW_DISCOVERY_MECHANISM -DFORCE_STRUCT_ALIGN -c IOCompletionQ.cpp   
  18. /usr/bin/g++ -O -Wall -D_GNU_SOURCE -DIOMTR_OSFAMILY_UNIX -DIOMTR_OS_LINUX -DIOMTR_CPU_X86_64 -DIOMTR_SETTING_GCC_M64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DNOMINMAX -DUSE_NEW_DISCOVERY_MECHANISM -DFORCE_STRUCT_ALIGN -c IOAccess.cpp   
  19. /usr/bin/g++ -O -Wall -D_GNU_SOURCE -DIOMTR_OSFAMILY_UNIX -DIOMTR_OS_LINUX -DIOMTR_CPU_X86_64 -DIOMTR_SETTING_GCC_M64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DNOMINMAX -DUSE_NEW_DISCOVERY_MECHANISM -DFORCE_STRUCT_ALIGN -o dynamo IOGlobals.o Pulsar.o IOManager.o IOManagerLinux.o IOGrunt.o IOTarget.o IOTargetDisk.o IOTargetTCP.o IOPort.o IOPortTCP.o Network.o NetTCP.o ByteOrder.o IOPerformanceLinux.o IOTime.o IOCQAIO.o IOCompletionQ.o IOAccess.o  -lrt -lpthread -g  
weinxin
DC Farm小程序二维码
扫一扫添加博客小程序
Jim

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:10   其中:访客  7   博主  3

    • avatar 站长 5

      我承认我真的一点都不懂!!!!!!!

      • avatar jsxubar 2

        给你个建议,写这类错误解决类文章的时候,就把错误提示作为关键字,这就包括标题、首段、文章的h1,h2等标签这几个地方都要出现这个错误提示。
        为什么要这样?因为在遇到错误时,我们更多的是直接搜索错误提示,而你的文章的所有内容就是围绕错误提示来写的,注意不是解决方法,而是错误提示,那搜索排名就会很高。
        我有几篇文章就是这样写的:src/pyev.c:1: error: stray ’357′ in program(http://www.jsxubar.info/python-eurasia-install-error.html/),apr_socket_recv: Connection reset by peer (104)(http://www.jsxubar.info/apache-ab-test-error.html/)

        • avatar jsxubar 2

          呵呵,再提一个建议吧。
          文章最好有个线索:问题提示,问题分析,问题原因,解决方法,这样会让读者读起来体验更好。

          • avatar wuxinxinggg 3

            这个主题相对好看多了。。。博主是在校还是工作了?

            • avatar 一品香茗 0

              很深奥很深啊哦