[Crash-utility] arm: Compile error in crash 7.1.7

Xu, Qiang (CNSS) qiangxu at qti.qualcomm.com
Fri Dec 30 08:58:44 UTC 2016


HI Dave Anderson 

Sorry for later 

Let me update the status in my PC 

1. Make crash for X86 
	tar -zxf crash-7.1.7.tar.gz
	make   Target=X6 
	
it will hit error in when LD 

Public/qiangxu/Redhat/crash-7.1.7/gdb-7.6/gdb/ada-lang.c:12703: undefined reference to `ada_parse'
ada-lang.o:(.rodata+0xe60): undefined reference to `ada_error'
c-lang.o:(.rodata+0x1c): undefined reference to `c_parse'
c-lang.o:(.rodata+0x20): undefined reference to `c_error'
c-lang.o:(.rodata+0xbc): undefined reference to `c_parse'
c-lang.o:(.rodata+0xc0): undefined reference to `c_error'
c-lang.o:(.rodata+0x15c): undefined reference to `c_parse'
c-lang.o:(.rodata+0x160): undefined reference to `c_error'
c-lang.o:(.rodata+0x1fc): undefined reference to `c_parse'
c-lang.o:(.rodata+0x200): undefined reference to `c_error'
d-lang.o:(.rodata+0xfc): undefined reference to `c_parse'
d-lang.o:(.rodata+0x100): undefined reference to `c_error'
f-lang.o:(.rodata+0x1c): undefined reference to `f_parse'
f-lang.o:(.rodata+0x20): undefined reference to `f_error'
objc-lang.o:(.rodata+0xbc): undefined reference to `c_parse'
objc-lang.o:(.rodata+0xc0): undefined reference to `c_error'
opencl-lang.o:(.rodata+0x19c): undefined reference to `c_parse'
opencl-lang.o:(.rodata+0x1a0): undefined reference to `c_error'
p-lang.o:(.rodata+0x1c): undefined reference to `pascal_parse'
p-lang.o:(.rodata+0x20): undefined reference to `pascal_error'


2. RPM to check dependents in my PC

Warning and can't find  cd $HOME/rpmbuild/specs 

root at btc-OptiPlex-790:/Public/qiangxu/Redhat# rpm -ivh crash-7.1.7-1.fc26.src.rpm
rpm: RPM should not be used directly install RPM packages, use Alien instead!
rpm: However assuming you know what you are doing...
Updating / installing...
   1:crash-7.1.7-1.fc26               ################################# [100%]
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root

-----Original Message-----
From: Dave Anderson [mailto:anderson at redhat.com] 
Sent: Tuesday, December 27, 2016 9:17 PM
To: Discussion list for crash utility usage, maintenance and development <crash-utility at redhat.com>
Cc: Xu, Qiang (CNSS) <qiangxu at qti.qualcomm.com>
Subject: Re: [Crash-utility] arm: Compile error in crash 7.1.7



----- Original Message -----
> 
> 
> ----- Original Message -----
> > 
> > 
> > Hi Crash Utility
> > 
> > 
> > 
> > I am engineer from Qualcomm, I want to compile crash 7.1.7, my step 
> > is
> > 
> > 1. Download 7.1.7 in http://people.redhat.com/anderson/
> > 
> > 2. Make TARGET=arm
> > 
> > 
> > 
> > It tell me, I google it but find nothing, how can I bypass this error ?
> 
> I cannot reproduce it on a RHEL7 host, and the 32-bit ARM package was 
> built successfully in Fedora Rawhide 3 weeks ago, although the Fedora 
> build was performed on a native 32-bit ARM host.
> 
> I am presuming that you are attempting the build on an x86_64 host.  
> Try these two steps:
> 
> (1) Extract the .tar.gz file into a newly-created crash-7.1.7 subdirectory.  Does the package build
>     an x86_64 binary when you enter just "make"?
> (2) Extract the .tar.gz file into a newly-created crash-7.1.7 subdirectory.  Does the package build
>     an x86 binary when you enter "make target=X86"?
> 
> Let's also make sure that all dependencies are available on your build host.
> Try this:
> 
>   $ wget
>   https://kojipkgs.fedoraproject.org//packages/crash/7.1.7/1.fc26/src/crash-7.1.7-1.fc26.src.rpm
>   $ rpm -ivh crash-7.1.7-1.fc26.src.rpm
>   $ cd $HOME/rpmbuild/specs
>   $ rpmbuild -ba crash.spec
> 
> If there are any missing dependencies, the rpmbuild command will fail 
> immediately and will show any missing packages.  If all packages are 
> there, it will attempt to build an x86_64 binary (presuming that is what your host machine is).
> 
> Dave


Also, in order to build with target=ARM (which actually builds a 32-bit x86 binary), the host machine requires several 32-bit i686 packages.  If you run the command below on your host, you should see something like the following:

$ rpm -qa | grep -e glibc -e ncurses -e lzo -e zlib -e snappy | grep i686
ncurses-devel-5.9-13.20130511.el7.i686
ncurses-libs-5.9-13.20130511.el7.i686
glibc-2.17-157.el7.i686
glibc-devel-2.17-157.el7.i686
snappy-devel-1.1.0-3.el7.i686
lzo-2.06-8.el7.i686
zlib-devel-1.2.7-17.el7.i686
lzo-minilzo-2.06-8.el7.i686
zlib-static-1.2.7-17.el7.i686
ncurses-5.9-13.20130511.el7.i686
zlib-1.2.7-17.el7.i686
snappy-1.1.0-3.el7.i686
lzo-devel-2.06-8.el7.i686
$

Dave





> 
> 
> 
> > 
> > 
> > 
> > uild-gnulib/import/libgnu.a -ldl 
> > -Wl,--dynamic-list=./proc-service.list -lz -ldl -rdynamic
> > 
> > c-exp.o: In function `main':
> > 
> > /Public/qiangxu/Redhat/crash-7.1.7/crash-7.1.7/gdb-7.6/gdb/c-exp.c:1:
> > multiple definition of `main'
> > 
> > ../../crashlib.a(main.o):/Public/qiangxu/Redhat/crash-7.1.7/crash-7.1.7/main.c:81:
> > first defined here
> > 
> > cp-name-parser.o: In function `main':
> > 
> > /Public/qiangxu/Redhat/crash-7.1.7/crash-7.1.7/gdb-7.6/gdb/cp-name-parser.c:1:
> > multiple definition of `main'
> > 
> > ../../crashlib.a(main.o):/Public/qiangxu/Redhat/crash-7.1.7/crash-7.1.7/main.c:81:
> > first defined here
> > 
> > ada-exp.o: In function `main':
> > 
> > /Public/qiangxu/Redhat/crash-7.1.7/crash-7.1.7/gdb-7.6/gdb/ada-exp.c:1:
> > multiple definition of `main'
> > 
> > ../../crashlib.a(main.o):/Public/qiangxu/Redhat/crash-7.1.7/crash-7.1.7/main.c:81:
> > first defined here
> > 
> > f-exp.o: In function `main':
> > 
> > /Public/qiangxu/Redhat/crash-7.1.7/crash-7.1.7/gdb-7.6/gdb/f-exp.c:1:
> > multiple definition of `main'
> > 
> > ../../crashlib.a(main.o):/Public/qiangxu/Redhat/crash-7.1.7/crash-7.1.7/main.c:81:
> > first defined here
> > 
> > p-exp.o: In function `main':
> > 
> > /Public/qiangxu/Redhat/crash-7.1.7/crash-7.1.7/gdb-7.6/gdb/p-exp.c:1:
> > multiple definition of `main'
> > 
> > ../../crashlib.a(main.o):/Public/qiangxu/Redhat/crash-7.1.7/crash-7.1.7/main.c:81:
> > first defined here
> > 
> > go-exp.o: In function `parse_string_or_char':
> > 
> > /Public/qiangxu/Redhat/crash-7.1.7/crash-7.1.7/gdb-7.6/gdb/go-exp.y:943:
> > undefined reference to `c_parse_escape'
> > 
> > macroexp.o: In function `get_character_constant':
> > 
> > /Public/qiangxu/Redhat/crash-7.1.7/crash-7.1.7/gdb-7.6/gdb/macroexp.c:364:
> > undefined reference to `c_parse_escape'
> > 
> > macroexp.o: In function `get_string_literal':
> > 
> > /Public/qiangxu/Redhat/crash-7.1.7/crash-7.1.7/gdb-7.6/gdb/macroexp.c:418:
> > undefined reference to `c_parse_escape'
> > 
> > ada-lang.o: In function `parse':
> > 
> > /Public/qiangxu/Redhat/crash-7.1.7/crash-7.1.7/gdb-7.6/gdb/ada-lang.c:12703:
> > undefined reference to `ada_parse
> > 
> > --
> > Crash-utility mailing list
> > Crash-utility at redhat.com
> > https://www.redhat.com/mailman/listinfo/crash-utility
> 
> --
> Crash-utility mailing list
> Crash-utility at redhat.com
> https://www.redhat.com/mailman/listinfo/crash-utility
> 




More information about the Crash-utility mailing list