Bug 636729

Summary: missing symbols in liblastfm-0.3.2
Product: [Fedora] Fedora Reporter: Orcan Ogetbil <oget.fedora>
Component: liblastfmAssignee: Rex Dieter <rdieter>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: 13CC: rdieter
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: liblastfm-0.3.3-1.fc14 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-10-05 09:28:26 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Orcan Ogetbil 2010-09-23 04:08:08 UTC
Description of problem:
While I was compiling the new version of clementine I got an error
   undefined reference to `lastfm::ws::ParseError::enumValue() const
However, by looking at the source code of liblastfm-0.3.2, I saw that the symbol should be there.

After some investigation, I found that qmake adds the 
  -fvisibility-inlines-hidden -fvisibility=hidden
flags to the CFLAGS, and because of these flags any symbol not marked via 
   __attribute__ ((visibility("default")))
will get stripped out together with the debugging symbols in the last stage of RPM building.

This attribute has an alias LASTFM_DLLEXPORT that can be patched into the sources but adding this breaks the compilation: the ruby script doesn't generate the correct headers.

This was not a problem before in 0.3.0 since the members of the class lastfm::ws::ParseError in question were defined inline in the header ws.h before.

I found that the upstream was notified about this issue, and more detailed information can be found at the bottom of the page
   http://github.com/mxcl/liblastfm/commit/39ea77f9f20ff3de820e837d54bb9202b07121cd
I also commented up there. 

For pushing this update to stable, it would be best to wait until upstream finds a solution. 

Version-Release number of selected component (if applicable):
0.3.2 is bad
0.3.0 is good

Comment 1 Rex Dieter 2010-09-23 17:00:41 UTC
confirmed api breakage (though runtime seems ok).

Seems upstream is aware of it, stay tuned.

Comment 2 Orcan Ogetbil 2010-09-25 18:11:03 UTC
Upstream released 0.3.3 with the fix. I could compile and run clementine after this fix.

From what I understood, amarok is also affected by the API breakage.

Comment 3 Fedora Update System 2010-09-25 20:28:50 UTC
liblastfm-0.3.3-1.fc14 has been submitted as an update for Fedora 14.
https://admin.fedoraproject.org/updates/liblastfm-0.3.3-1.fc14

Comment 4 Fedora Update System 2010-09-25 20:29:26 UTC
liblastfm-0.3.3-1.fc13 has been submitted as an update for Fedora 13.
https://admin.fedoraproject.org/updates/liblastfm-0.3.3-1.fc13

Comment 5 Fedora Update System 2010-09-25 20:29:52 UTC
liblastfm-0.3.3-1.fc12 has been submitted as an update for Fedora 12.
https://admin.fedoraproject.org/updates/liblastfm-0.3.3-1.fc12

Comment 6 Fedora Update System 2010-09-26 04:35:22 UTC
liblastfm-0.3.3-1.fc13 has been pushed to the Fedora 13 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update liblastfm'.  You can provide feedback for this update here: https://admin.fedoraproject.org/updates/liblastfm-0.3.3-1.fc13

Comment 7 Fedora Update System 2010-10-05 09:28:21 UTC
liblastfm-0.3.3-1.fc12 has been pushed to the Fedora 12 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 8 Fedora Update System 2010-10-05 09:29:58 UTC
liblastfm-0.3.3-1.fc13 has been pushed to the Fedora 13 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 9 Fedora Update System 2010-10-05 13:12:07 UTC
liblastfm-0.3.3-1.fc14 has been pushed to the Fedora 14 stable repository.  If problems still persist, please make note of it in this bug report.