打印
[技术问题解答]

ltib 错误/usr/bin/ld: cannot find -lpmll

[复制链接]
2985|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
air5005|  楼主 | 2015-5-14 18:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Processing: pme_tools
=======================
Build path taken because: no prebuilt rpm,

rpmbuild --dbpath ///opt/freescale/ltib/var/lib/rpm --target i686 --define '_unpackaged_files_terminate_build 0' --define '_target_cpu i686' --define '__strip strip' --define '_topdir /opt/freescale/ltib/usr/src/rpm' --define '_prefix /opt/freescale/ltib/usr' --define '_tmppath /home/ych/sambashare/MPC8569/ltib/ltib-mpc8569mds-20101202/tmp' --define '_rpmdir /opt/freescale/ltib/usr/src/rpm/RPMS'  --define '_mandir /opt/freescale/ltib/usr/share/man' --define '_sysconfdir /opt/freescale/ltib/etc' --define '_localstatedir /var' -bb --clean --rmsource  /home/ych/sambashare/MPC8569/ltib/ltib-mpc8569mds-20101202/tmp/pme_tools.spec
Building target platforms: i686
Building for target i686
Executing(%prep): /bin/sh -e /home/ych/sambashare/MPC8569/ltib/ltib-mpc8569mds-20101202/tmp/rpm-tmp.fMMEYC
+ umask 022
+ cd /opt/freescale/ltib/usr/src/rpm/BUILD
+ cd /opt/freescale/ltib/usr/src/rpm/BUILD
+ rm -rf pme_tools-1.0.0
+ /bin/gzip -dc+  /opt/freescale/ltib/usr/src/rpm/SOURCES/pme_tools-1.0.0-a6.tar.gz
/bin/tar -xf -
+ STATUS=0
+ [ 0 -ne 0 ]
+ cd pme_tools-1.0.0
+ echo Patch #0 (pme_tools-1.0.0-a6-host-support.patch):
Patch #0 (pme_tools-1.0.0-a6-host-support.patch):
+ + /bin/cat/usr/bin/patch /opt/freescale/ltib/usr/src/rpm/SOURCES/pme_tools-1.0.0-a6-host-support.patch -s
-p1 --fuzz=0
+ echo Patch #1 (pme_tools-1.0.0-a6-udev-and-sysfs-support.patch):
Patch #1 (pme_tools-1.0.0-a6-udev-and-sysfs-support.patch):
+ /usr/bin/patch -s -p1 --fuzz=0
+ /bin/cat /opt/freescale/ltib/usr/src/rpm/SOURCES/pme_tools-1.0.0-a6-udev-and-sysfs-support.patch
+ echo Patch #2 (pme_tools-1.0.0-a6-1_5-Add-hash-table-utility-files.patch):
Patch #2 (pme_tools-1.0.0-a6-1_5-Add-hash-table-utility-files.patch):
+ /usr/bin/patch -s -p1 --fuzz=0
+ /bin/cat /opt/freescale/ltib/usr/src/rpm/SOURCES/pme_tools-1.0.0-a6-1_5-Add-hash-table-utility-files.patch
+ echo Patch #3 (pme_tools-1.0.0-a6-2_5-Add-PMC-api-files.patch):
Patch #3 (pme_tools-1.0.0-a6-2_5-Add-PMC-api-files.patch):
+ + /bin/cat /opt/freescale/ltib/usr/src/rpm/SOURCES/pme_tools-1.0.0-a6-2_5-Add-PMC-api-files.patch
/usr/bin/patch -s -p1 --fuzz=0
+ echo Patch #4 (pme_tools-1.0.0-a6-3_5-Add-PMC-client.patch):
Patch #4 (pme_tools-1.0.0-a6-3_5-Add-PMC-client.patch):
+ + /bin/cat /opt/freescale/ltib/usr/src/rpm/SOURCES/pme_tools-1.0.0-a6-3_5-Add-PMC-client.patch
/usr/bin/patch -s -p1 --fuzz=0
+ echo Patch #5 (pme_tools-1.0.0-a6-4_5-Add-PMC-daemon-files.patch):
Patch #5 (pme_tools-1.0.0-a6-4_5-Add-PMC-daemon-files.patch):
+ /bin/cat /opt/freescale/ltib/usr/src/rpm/SOURCES/pme_tools-1.0.0-a6-4_5-Add-PMC-daemon-files.patch
+ /usr/bin/patch -s -p1 --fuzz=0
+ echo Patch #6 (pme_tools-1.0.0-a6-5_5-Add-PMC-makefiles.patch):
Patch #6 (pme_tools-1.0.0-a6-5_5-Add-PMC-makefiles.patch):
+ + /usr/bin/patch -s -p1 --fuzz=0
/bin/cat /opt/freescale/ltib/usr/src/rpm/SOURCES/pme_tools-1.0.0-a6-5_5-Add-PMC-makefiles.patch
+ echo Patch #7 (pme_tools-1.0.0-a6-build-rule-cleanup.patch):
Patch #7 (pme_tools-1.0.0-a6-build-rule-cleanup.patch):
+ /bin/cat /opt/freescale/ltib/usr/src/rpm/SOURCES/pme_tools-1.0.0-a6-build-rule-cleanup.patch
+ /usr/bin/patch -s -p1 --fuzz=0
+ echo Patch #8 (pme_tools-1.0.0-a6-fsl_pme.h-updated.patch):
Patch #8 (pme_tools-1.0.0-a6-fsl_pme.h-updated.patch):
+ /bin/cat /opt/freescale/ltib/usr/src/rpm/SOURCES/pme_tools-1.0.0-a6-fsl_pme.h-updated.patch
+ /usr/bin/patch -s -p1 --fuzz=0
+ exit 0
Executing(%build): /bin/sh -e /home/ych/sambashare/MPC8569/ltib/ltib-mpc8569mds-20101202/tmp/rpm-tmp.8tZeNQ
+ umask 022
+ cd /opt/freescale/ltib/usr/src/rpm/BUILD
+ cd pme_tools-1.0.0
+ SRC_DIR=/opt/freescale/ltib/usr/src/rpm/BUILD/pme_tools-1.0.0
+ cd /opt/freescale/ltib/usr/src/rpm/BUILD/pme_tools-1.0.0
+ echo i686-linux
+ sed s/-linux//
+ BUILD_ARCH=i686
+ make -j 1 ARCH=i686 clean
----- Processing: common (clean) -----
+---- Processing: swUtilities (clean) -----
rm -fr objs_i686
rm -fr /opt/freescale/ltib/usr/src/rpm/BUILD/pme_tools-1.0.0/bin_i686
rm -fr /opt/freescale/ltib/usr/src/rpm/BUILD/pme_tools-1.0.0/lib_i686
rm -f *.tab.* lex..*
rm -fr objs_i686
rm -fr /opt/freescale/ltib/usr/src/rpm/BUILD/pme_tools-1.0.0/bin_i686
rm -fr /opt/freescale/ltib/usr/src/rpm/BUILD/pme_tools-1.0.0/lib_i686
rm -f *.tab.* lex..*
----- Processing: controlInterface (clean) -----
rm -fr objs_i686
rm -fr /opt/freescale/ltib/usr/src/rpm/BUILD/pme_tools-1.0.0/bin_i686
rm -fr /opt/freescale/ltib/usr/src/rpm/BUILD/pme_tools-1.0.0/lib_i686
rm -f *.tab.* lex..*
----- Processing: loaderAgent (clean) -----
+---- Processing: slm (clean) -----
rm -fr objs_i686
rm -fr /opt/freescale/ltib/usr/src/rpm/BUILD/pme_tools-1.0.0/bin_i686
rm -fr /opt/freescale/ltib/usr/src/rpm/BUILD/pme_tools-1.0.0/lib_i686
rm -f *.tab.* lex..*
+---- Processing: srm (clean) -----
rm -fr objs_i686
rm -fr /opt/freescale/ltib/usr/src/rpm/BUILD/pme_tools-1.0.0/bin_i686
rm -fr /opt/freescale/ltib/usr/src/rpm/BUILD/pme_tools-1.0.0/lib_i686
rm -f *.tab.* lex..*
+---- Processing: tg (clean) -----
rm -fr objs_i686
rm -fr /opt/freescale/ltib/usr/src/rpm/BUILD/pme_tools-1.0.0/bin_i686
rm -fr /opt/freescale/ltib/usr/src/rpm/BUILD/pme_tools-1.0.0/lib_i686
rm -f *.tab.* lex..*
rm -fr objs_i686
rm -fr /opt/freescale/ltib/usr/src/rpm/BUILD/pme_tools-1.0.0/bin_i686
rm -fr /opt/freescale/ltib/usr/src/rpm/BUILD/pme_tools-1.0.0/lib_i686
rm -f *.tab.* lex..*
----- Processing: applications (clean) -----
rm -fr objs_i686
rm -fr /opt/freescale/ltib/usr/src/rpm/BUILD/pme_tools-1.0.0/bin_i686
rm -fr /opt/freescale/ltib/usr/src/rpm/BUILD/pme_tools-1.0.0/lib_i686
rm -f *.tab.* lex..*
----- Processing: pmConfiguration (clean) -----
rm -fr objs_i686
rm -fr /opt/freescale/ltib/usr/src/rpm/BUILD/pme_tools-1.0.0/bin_i686
rm -fr /opt/freescale/ltib/usr/src/rpm/BUILD/pme_tools-1.0.0/lib_i686
rm -f *.tab.* lex..*
+ [ i686 = powerpc ]
+ echo Using x86_64
Using x86_64
+ make -j 1 ARCH=i686 USE_LTIB=1 LTIB_LIB_PATH=/opt/freescale/ltib/usr/lib
----- Processing: common (compiling) -----
+---- Processing: swUtilities (compiling) -----
[CC] cli.o
cli.c: In function '_cli_var_cmd':
cli.c:2431: warning: format not a string literal and no format arguments
cli.c:2741: warning: format not a string literal and no format arguments
cli.c:2788: warning: format not a string literal and no format arguments
cli.c:2843: warning: format not a string literal and no format arguments
[CC] db.o
[CC] dll.o
[CC] htbl.o
[CC] hndl.o
[CC] idx.o
[CC] log.o
[CC] mem.o
[AR] libswutilities.a
----- Processing: controlInterface (compiling) -----
[CC] pmci.o
[AR] libpmci.a
----- Processing: loaderAgent (compiling) -----
[CC] pmla_common.o
[AR] libpmlacommon.a
+---- Processing: slm (compiling) -----
[CC] pmla_local.o
[AR] libpmlalocal.a
+---- Processing: srm (compiling) -----
[CC] pmlaSrmCommon.o
[CC] pmlaSrmClient.o
[CC] pmlaSrmApi.o
[CC] pmlaSrmServer.o
[AR] libpmlaSrmc.a
[AR] libpmlaSrms.a
[CC] pmlaSrmDaemon.o
[CC] pmlaSrmClientTest.o
[LD] pmlaSrmd
[LD] pmlaSrmcTest
[LD] pmlaSlmTest
+---- Processing: tg (compiling) -----
[CC] pmlaTgApi.o
[CC] pmlaTgEmpty.o
[AR] libpmlaTgc.a
[AR] libpmlaTgs.a
----- Processing: applications (compiling) -----
[CC] pm_scan_demo.o
pm_scan_demo.c: In function '_pmscan_dump_match':
pm_scan_demo.c:451: warning: format not a string literal and no format arguments
pm_scan_demo.c:467: warning: format not a string literal and no format arguments
pm_scan_demo.c:484: warning: format not a string literal and no format arguments
pm_scan_demo.c:491: warning: format not a string literal and no format arguments
[CC] pmm.o
pmm.c: In function '_pmm_rules_from_bin_file_add':
pmm.c:1405: warning: format not a string literal and no format arguments
pmm.c:1432: warning: format not a string literal and no format arguments
pmm.c:1440: warning: format not a string literal and no format arguments
pmm.c:1501: warning: format not a string literal and no format arguments
pmm.c:1519: warning: format not a string literal and no format arguments
pmm.c:1554: warning: format not a string literal and no format arguments
pmm.c:1589: warning: format not a string literal and no format arguments
pmm.c:1600: warning: format not a string literal and no format arguments
pmm.c:1618: warning: format not a string literal and no format arguments
pmm.c:1686: warning: format not a string literal and no format arguments
pmm.c:1706: warning: format not a string literal and no format arguments
pmm.c: In function '_pmm_regexs_from_bin_file_add':
pmm.c:1921: warning: format not a string literal and no format arguments
pmm.c:1947: warning: format not a string literal and no format arguments
pmm.c:1955: warning: format not a string literal and no format arguments
pmm.c:2024: warning: format not a string literal and no format arguments
pmm.c:2041: warning: format not a string literal and no format arguments
pmm.c:2050: warning: format not a string literal and no format arguments
pmm.c:2069: warning: format not a string literal and no format arguments
pmm.c:2079: warning: format not a string literal and no format arguments
pmm.c:2098: warning: format not a string literal and no format arguments
pmm.c:2107: warning: format not a string literal and no format arguments
pmm.c:2142: warning: format not a string literal and no format arguments
pmm.c:2164: warning: format not a string literal and no format arguments
pmm.c:2175: warning: format not a string literal and no format arguments
pmm.c:2198: warning: format not a string literal and no format arguments
[CC] pmrec.o
[CC] pmsrc.o
[LD] pm_scan_demo
[LD] pmm
/usr/bin/ld: cannot find -lpmll
collect2: ld returned 1 exit status
make[1]: *** [/opt/freescale/ltib/usr/src/rpm/BUILD/pme_tools-1.0.0/bin_i686/pmm] Error 1
make: *** [applications] Error 2
error: Bad exit status from /home/ych/sambashare/MPC8569/ltib/ltib-mpc8569mds-20101202/tmp/rpm-tmp.8tZeNQ (%build)


RPM build errors:
    Bad exit status from /home/ych/sambashare/MPC8569/ltib/ltib-mpc8569mds-20101202/tmp/rpm-tmp.8tZeNQ (%build)
Build time for pme_tools: 6 seconds

Failed building pme_tools
Died at ./ltib line 1380.
traceback:
main::build_host_rpms:1380
  main::host_checks:1435
   main:542


Started: Thu May 14 17:58:38 2015
Ended:   Thu May 14 18:24:06 2015
Elapsed: 1528 seconds

These packages failed to build:
pme_tools

Build Failed

相关帖子

沙发
air5005|  楼主 | 2015-5-14 18:50 | 只看该作者
ltib在编译pme_tools的时候,出现链接不过,求大师帮忙看看,谢谢
/usr/bin/ld: cannot find -lpmll

使用特权

评论回复
板凳
air5005|  楼主 | 2015-5-14 18:52 | 只看该作者
附上编译信息文件host_config.log

使用特权

评论回复
地板
air5005|  楼主 | 2015-5-15 09:04 | 只看该作者
有大神帮忙看看吗,非常感谢

使用特权

评论回复
5
air5005|  楼主 | 2015-5-15 09:59 | 只看该作者
host_config.log编译信息

pme_tools_err.rar

149.08 KB

使用特权

评论回复
6
air5005|  楼主 | 2015-5-15 13:04 | 只看该作者
有大神帮忙看看吗,非常感谢,卡在这里了,哎...

使用特权

评论回复
7
LBLUE| | 2015-5-15 14:04 | 只看该作者
帮您顶一下。

使用特权

评论回复
8
air5005|  楼主 | 2015-5-15 14:27 | 只看该作者
问题出现在编译pme_tools工具的时候,找不到依赖库libpmll.a

从编译步骤看出来,是在编译application文件夹里面的pmm.c文件后出错了
[CC] pmrec.o
[CC] pmsrc.o
[LD] pm_scan_demo
[LD] pmm
/usr/bin/ld: cannot find -lpmll

所以这里把pme_tools-1.0.0解压出来,看一下makefile,发现这个代码应该是freescale自己的工具:

/************************< BEGIN COPYRIGHT >************************
*  
*   Copyright 2009, Freescale Semiconductor, Inc.  All Rights Reserved.
*  
*    NOTICE: The information contained in this file is proprietary
*    to Freescale Semiconductor and is being made available to
*    Freescale's customers under a specific license agreement.
*    Use or disclosure of this information is permissible only
*    under the terms of the license agreement.
*  
*
************************< END COPYRIGHT >***************************/
/****************************************************************************
*   File Name : pmm_pmm.c
*
*   This file contains the implementation of the Pattern Matching
*   Manager (PMM) module.
*
****************************************************************************/



使用特权

评论回复
9
air5005|  楼主 | 2015-5-15 14:28 | 只看该作者
# ***********************< BEGIN COPYRIGHT >************************
#  
#   Copyright 2009, Freescale Semiconductor, Inc.  All Rights Reserved.
#  
#    NOTICE: The information contained in this file is proprietary
#    to Freescale Semiconductor and is being made available to
#    Freescale's customers under a specific license agreement.
#    Use or disclosure of this information is permissible only
#    under the terms of the license agreement.
#  
#
# ***********************< END COPYRIGHT >**************************
# ---- USER MUST EDIT DIRS TO ADD THE DIR TO COMPILE IN -----
DIRS := common controlInterface loaderAgent applications
# ---- DO NOT EDIT BELOW THIS LINE --------------------------
#
# ----=[NOTE]=----
# SYS_PATH must point to the location of libregex.a, libpmll.a and lib must be
# on the same level as pme_tools because rules and libstatefulrules.a.
# Currently it is hardcoded in this makefile to be ../pme_tools/lib_<arch>.  In
# an rpm spec SYS_PATH must be specified at make time to override this setting.
#
# Build flow:
# -make must be called at the top level
# -export all vars needed by the build here.
# -sub makefiles will include Makefile.rules
# -generated files are all dumped at top level in objs_/lib_/bin_ARCH
# -add directories to make in to DIRS
#
# Tool chain paths:
# paths to gcc are set in the rules/Makefile.$(ARCH) files.  Do not use abs
# paths for gcc here.

ifneq (distclean,$(MAKECMDGOALS))
ifndef ARCH
   $(error "ARCH not defined.")
endif
#
# arch specific rules, e.g. toolchain, defines etc
include rules/Makefile.$(ARCH)
endif

# ----[ TOOLS ]----
#  Tools apart from gcc, that are arch agnostic are placed in
include rules/Makefile.tools

# Export all required envs, e.g. tools required.
export TOP_LEVEL:= $(PWD)
export SYS_PATH := $(dir $(TOP_LEVEL))pme_priv
export CC       := $(CROSS_COMPILE)gcc
export LD       := $(CROSS_COMPILE)ld
export AR       := $(CROSS_COMPILE)ar
export OBJ_DIR  := objs_$(ARCH)
export BIN_DIR  := $(TOP_LEVEL)/bin_$(ARCH)
export LIB_DIR  := $(TOP_LEVEL)/lib_$(ARCH)
export APP_DIR  := $(TOP_LEVEL)/bin_$(ARCH)
export RULE_PATH:=$(TOP_LEVEL)/rules

# ----=[exclude defines]=----
ifndef OS_TYPE
  export OS_TYPE         := NO_OS_TYPE_SET
endif
ifndef PLATFORM
  export PLATFORM        := NO_PLATFORM_SET
endif
ifndef CMODE
  export CMODE           := NO_CMODE_SET
endif

#
# local vars
# add -D<defname>
# DEFINES, LIB_PATH, INC_PATH are set in the rules/Makefile.<arch> files.
DEFINES  :=$($(ARCH)_DEFINES)
LIB_PATH := $(addprefix -L,$(LIB_DIR)) $(addprefix -L,$($(ARCH)_LIB_PATH))
LIB_PATH += -L$(SYS_PATH)/lib_$(ARCH)
INC_PATH := -I$(TOP_LEVEL)/include -I. $(addprefix -I,$($(ARCH)_INC_PATH))
WARN     := -W -Wall -Wshadow  -g3

#
# aggregate exported vars
export CFLAGS   := $(LIB_PATH) $(INC_PATH) $(WARN) $(DEFINES) $(EXTRA_CFLAGS) $(ARCH_SPEC_CFLAGS)
export LDFLAGS  := $(LIB_PATH) $(EXTRA_LDFLAGS) $(ARCH_SPEC_LDFLAGS)
export ARFLAGS  := rcs

#
# used for the help
H_ARCHS   :=powerpc i686
H_RULES   :=all(default) clean distclean
H_FLAGS   :=V=1  (verbose)
H_FLAGS   +=EXTRA_DEFINES=\"<def> <def2>\" (no -D)

ifndef V
export Q := @
MAKE_FLAGS += --no-print-directory
export MAKE_FLAGS
endif


.PHONY: $(DIRS) mkdirs help install

all: mkdirs $(DIRS)
ifeq (,$(MAKECMDGOALS))
  ACTION := (compiling)
else
  ACTION := ($(MAKECMDGOALS))
endif
export ACTION
$(DIRS):
        $(Q)echo "----- Processing: $@ $(ACTION) -----"
        $(Q)$(MAKE) $(MAKE_FLAGS) -C $@ $(MAKECMDGOALS)

clean:$(DIRS)

distclean:
        $(Q)$(MAKE) ARCH=powerpc clean
        $(Q)$(MAKE) ARCH=i686 clean

mkdirs:
        $(Q)test -e $(BIN_DIR) || mkdir -p $(BIN_DIR)
        $(Q)test -e $(LIB_DIR) || mkdir -p $(LIB_DIR)

help:
        $(Q)echo "Usage:"
        $(Q)echo "    make ARCH=<arch> <flags> <rule>"
        $(Q)echo "        [arch : $(H_ARCHS)]"
        $(Q)echo "        [flags: $(H_FLAGS)]"
        $(Q)echo "        [rules: $(H_RULES)]"
        $(Q)echo "e.g."
        $(Q)echo "    make ARCH=powerpc"

#
# ----=[ install for LTIB ]=----
#  This rule should be called by ltib only but could be used by other
#  applications.  The flow is:
#  -INSTALL_DIR is passed in.  There will be a bin and lib under this.
#  -ARCH is passed in
#  -INSTALL_APPS is defined in the Makefile.ARCH file, controlling what apps are
#  installed.
#  -INSTALL_LIBS is defined in the Makefile.ARCH file, controlling what libs are
#  installed (if any)
install:
ifdef INSTALL_DIR
        $(Q)test -e  $(INSTALL_DIR)/bin|| (echo "Error: dir does not exist:   $(INSTALL_DIR)/bin" && exit 1)
        $(Q)echo " [INSTALL] $(INSTALL_APPS) $(INSTALL_LIBS) --> $(INSTALL_DIR)"
        $(Q)$(foreach a,$(INSTALL_APPS),$(shell cp bin_$(ARCH)/$(a) $(INSTALL_DIR)/bin))
        $(Q)$(foreach l,$(INSTALL_LIBS),$(shell cp lib_$(ARCH)/$(l) $(INSTALL_DIR)/lib))
else
        $(Q)$(error "Error: INSTALL_DIR was not defined.")
endif


使用特权

评论回复
10
air5005|  楼主 | 2015-5-15 14:30 | 只看该作者
上面是这个工具最顶层的makefile文件,里面注释着“SYS_PATH must point to the location of libregex.a, libpmll.a”
这样一句话,这里应该是问题的所在,但是i这里我找不到libpmll.a这个点a文件啊,搞不懂这么处理了

# ----=[NOTE]=----
# SYS_PATH must point to the location of libregex.a, libpmll.a and lib must be
# on the same level as pme_tools because rules and libstatefulrules.a.
# Currently it is hardcoded in this makefile to be ../pme_tools/lib_<arch>.  In
# an rpm spec SYS_PATH must be specified at make time to override this setting.
#

使用特权

评论回复
11
liuxing4585| | 2015-5-15 14:34 | 只看该作者
太厉害啦看不懂

使用特权

评论回复
12
air5005|  楼主 | 2015-5-15 16:22 | 只看该作者
顶一下

使用特权

评论回复
13
air5005|  楼主 | 2015-5-18 18:44 | 只看该作者
问题已解决,结贴

使用特权

评论回复
14
FSL_TICS_Jeremy| | 2015-6-3 09:00 | 只看该作者
   非常感谢你的技术问题。如果你没有其他问题,我们将此帖默认为已解决.

使用特权

评论回复
15
硬件小白| | 2016-4-7 14:35 | 只看该作者
楼主请问怎么解决的?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

13

帖子

1

粉丝