From: Anthony Wright <anthony@overnetdata.com>
To: Don Slutz <dslutz@verizon.com>, Jan Beulich <JBeulich@suse.com>
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: xen 4.4.0 dependency lzo fails to build from source due to fPIC
Date: Fri, 01 Aug 2014 12:32:05 +0100 [thread overview]
Message-ID: <53DB7AB5.8090805@overnetdata.com> (raw)
In-Reply-To: <53D99D82.3090106@terremark.com>
On 31/07/2014 02:36, Don Slutz wrote:
>
> On 07/30/14 03:01, Jan Beulich wrote:
>>>>> On 29.07.14 at 22:21, <dslutz@verizon.com> wrote:
>>> On 07/29/14 02:46, Jan Beulich wrote:
>>>>>>> On 28.07.14 at 23:02, <anthony@overnetdata.com> wrote:
>>>>> If xen detects lzo, it tries to build
>>>>> tools/xclib/libxenguest.so.4.4.0
>>>>> with lzo support but fails with the error:
>>>>>
>>>>> /usr/bin/ld:
>>>>> /usr/lib/gcc/x86_64-unknown-linux-gnu/4.8.2/../../../../lib64/liblzo2.a(lzo_ini
>>>>>
>>>>> t.o):
>>>>> relocation R_X86_64_PC32 against symbol '_lzo_config_check' can
>>>>> not be
>>>>> used when making a shared object; recompile with -fPIC
>>>>>
>>>>> reading around the subject it would seem to be a problem with the lzo
>>>>> library (2.08) which has been built without using the -fPIC option.
>>>>> However, when I look at the lzo package there is no standard way to
>>>>> build it with -fPIC. My workaround has been simply to remove the lzo
>>>>> package, but I'm not sure this is a good solution, and I don't
>>>>> understand why this problem doesn't seem to have been encountered
>>>>> before.
>>>>>
>>>>> Should I be building Xen with LZO support? (does everybody else build
>>>>> without LZO support?)
>>>>>
>>>>> Should I be adding fPIC to the LZO options and rebuilding LZO?
>>>>>
>>>>> Is there something else I'm doing wrong that is causing the problem?
>>> This could also be "broken toolchain" as:
>>>
>>>
>>> Subject: Re: [Xen-devel] [Qemu-devel] [Bug 1257099] [NEW]
>>> QEMU fails to build on CentOS 5.10 with relocation
>>> R_X86_64_PC32 error - msg#00032
>>>
>>>
>>> On 12/14/13 15:21, Don Slutz wrote:
>>> On 12/09/13 08:22, Paolo Bonzini wrote:
>>>
>>> Il 09/12/2013 13:47, Don Slutz ha scritto:
>>>
>>> On 12/05/13 22:20, Don Slutz wrote:
>>>
>>> On 12/05/13 16:24, Richard Henderson wrote:
>>>
>>> On 12/06/2013 04:18 AM, Paolo Bonzini wrote:
>>>
>>> $ gcc -shared -o f.so f.c -fPIE -fPIC
>>> /usr/bin/ld: /tmp/ccQc9els.o: relocation R_X86_64_PC32 against `f'
>>> can not be used when making a shared object; recompile with -fPIC
>>> /usr/bin/ld: final link failed: Bad value
>>> collect2: ld returned 1 exit status
>>>
>>>
>>> The bug is simply that "-fPIE -fPIC" counts as -fPIE rather than -fPIC:
>>>
>>> $ gcc -S -o - f.c -fPIE |grep call
>>> call f # PC32 relocation
>>> $ gcc -S -o - f.c -fPIC |grep call
>>> call f@PLT # PLT32 relocation
>>>
>>> The easy workaround is to drop -fPIE when we're adding -fPIC.
>> Question is - where did you spot us using -fPIE outside any of the
>> external trees? I didn't find any instance.
>
> I did not find any. I also have no issues build with lzo. So I took
> a guess that
> this info might help Anthony Wright track down what is wrong.
>
> -Don Slutz
The problem was caused by me using the default lzo build options which
doesn't build the shared libraries. I rebuilt lzo with the
--enabled-shared option, and this fixed the problem in Xen.
next prev parent reply other threads:[~2014-08-01 11:32 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-07-28 21:02 xen 4.4.0 dependency lzo fails to build from source due to fPIC Anthony Wright
2014-07-29 6:46 ` Jan Beulich
2014-07-29 20:21 ` Don Slutz
2014-07-30 7:01 ` Jan Beulich
2014-07-31 1:36 ` Don Slutz
2014-08-01 11:32 ` Anthony Wright [this message]
2014-07-30 9:03 ` Anthony Wright
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=53DB7AB5.8090805@overnetdata.com \
--to=anthony@overnetdata.com \
--cc=JBeulich@suse.com \
--cc=dslutz@verizon.com \
--cc=xen-devel@lists.xen.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).