Defective gSOAP package in ARM port

Bug #1330609 reported by Alejandro Claro
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
gsoap (Ubuntu)
Expired
Undecided
Unassigned

Bug Description

The development gsoap package in Ubuntu 12.10 ARM port seems to have a build defect. When I try to cross-compile an application using the libgsoap++ static library, I get the next error message:

gnueabihf/bin/ld: /opt/arm-rootfs/usr/lib/libgsoap++.a(libgsoap___la-stdsoap2_cpp.o): relocation R_ARM_THM_MOVW_ABS_NC against `a local symbol' can not be used when making a shared object; recompile with -fPIC
/opt/arm-rootfs/usr/lib/libgsoap++.a: could not read symbols: Bad value.

If I recompile gsoap with fPIC flags the application build completes without error or warnings.

Is there any possibility to fix the distro package?

Tags: packaging
tags: added: packaging
Revision history for this message
Mattias Ellert (mattias-ellert-fysast) wrote :

From the log above it looks like you are trying to create a shared library that is bundling the static gsoap library. Like for most static libraries this is not supported. Shared libraries are supposed to link dynamically to other shared libraries.

Revision history for this message
Alejandro Claro (a-claro) wrote : RE: [Bug 1330609] Re: Defective gSOAP package in ARM port

Thank you Mattias,
You are right about what I'm doing. I made a C++ wrapper of many things in GSoap. This wrapper is a shared library.
I know that link a shared library with a static library is not always intended but GSoap give me no other choice. It requires symbol defined by the "user" in the target application in order to compile correctly, and I don't want to use it directly all over the applications.
I have no problem with Ubuntu, Debian and Fedora packages for x86 platform. I can make it compile and work without any issue. The only problem I'm facing write now is with the Ubuntu ARM package. I was able to make it work after rebuild the package with fPIC parameter.
I see no reason to no include this build parameter in the official build. This will help a lot. I don't want to maintain my own package repository for things like this.
I hope you can help me with this, or maybe you can give me an advice if you have a good argument against adding this parameter to the build.
Thanks in advance,Alejandro Claro.
> Date: Wed, 2 Jul 2014 06:10:30 +0000
> From: <email address hidden>
> To: <email address hidden>
> Subject: [Bug 1330609] Re: Defective gSOAP package in ARM port
>
> >From the log above it looks like you are trying to create a shared
> library that is bundling the static gsoap library. Like for most static
> libraries this is not supported. Shared libraries are supposed to link
> dynamically to other shared libraries.
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1330609
>
> Title:
> Defective gSOAP package in ARM port
>
> Status in “gsoap” package in Ubuntu:
> New
>
> Bug description:
> The development gsoap package in Ubuntu 12.10 ARM port seems to have a
> build defect. When I try to cross-compile an application using the
> libgsoap++ static library, I get the next error message:
>
> gnueabihf/bin/ld: /opt/arm-rootfs/usr/lib/libgsoap++.a(libgsoap___la-stdsoap2_cpp.o): relocation R_ARM_THM_MOVW_ABS_NC against `a local symbol' can not be used when making a shared object; recompile with -fPIC
> /opt/arm-rootfs/usr/lib/libgsoap++.a: could not read symbols: Bad value.
>
> If I recompile gsoap with fPIC flags the application build completes
> without error or warnings.
>
> Is there any possibility to fix the distro package?
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/ubuntu/+source/gsoap/+bug/1330609/+subscriptions

Revision history for this message
Gianfranco Costamagna (costamagnagianfranco) wrote :

I think this is ok since xenial or so, fPIC is now the default in Ubuntu

Changed in gsoap (Ubuntu):
status: New → Incomplete
Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for gsoap (Ubuntu) because there has been no activity for 60 days.]

Changed in gsoap (Ubuntu):
status: Incomplete → Expired
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Related questions

Remote bug watches

Bug watches keep track of this bug in other bug trackers.