After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 691446 - Static library broken when systemtap or dtrace enabled
Static library broken when systemtap or dtrace enabled
Status: RESOLVED OBSOLETE
Product: glib
Classification: Platform
Component: build
unspecified
Other Linux
: Normal normal
: ---
Assigned To: gtkdev
gtkdev
Depends on:
Blocks:
 
 
Reported: 2013-01-09 22:28 UTC by Nicolas Dufresne (ndufresne)
Modified: 2018-05-24 14:56 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Nicolas Dufresne (ndufresne) 2013-01-09 22:28:15 UTC
When systemtap or dtrace is enabled, static link with the library fails with missing error symbols (e.g.  undefined reference to `glib_mem__alloc_semaphore' and others). I have tested this on 2.28, 2.30, 2.32 and head master, they all have this issue.
Comment 1 Colin Walters 2013-01-09 23:22:57 UTC
Don't build the static library?
Comment 2 Colin Walters 2013-01-09 23:30:20 UTC
See also: https://bugzilla.redhat.com/show_bug.cgi?id=193143

A static build of glib2 won't be in any glib builds I'm responsible for (Fedora 18+, RHEL 7+, gnome-ostree).
Comment 3 Nicolas Dufresne (ndufresne) 2013-01-09 23:46:46 UTC
Maybe you are missing the point, maybe not, this is not about Fedora shipping or not static libraries, it's about the fact that static libraries are not valid if dtrace or systemtap features are enabled. Looks like a bug to me. It's possible that most user of static build (e.g. Android, iOS) will not have dtrace or systemtap enabled, but it still seems like a bug to me.
Comment 4 Colin Walters 2013-01-10 00:53:55 UTC
(In reply to comment #3)
> Maybe you are missing the point, maybe not, this is not about Fedora shipping
> or not static libraries, it's about the fact that static libraries are not
> valid if dtrace or systemtap features are enabled. Looks like a bug to me. It's
> possible that most user of static build (e.g. Android, iOS) 

Hrm...can't Android and iOS use dynamic builds?  I think we discussed this in another bug...Er, ok nevermind:
http://stackoverflow.com/questions/4733847/can-you-build-dynamic-libraries-for-ios-and-load-them-at-runtime

Ugh ugh ugh =(

> will not have
> dtrace or systemtap enabled, but it still seems like a bug to me.

Right.  Well there's no dtrace on iOS, or is there?  Ah: 
http://stackoverflow.com/questions/3790772/how-do-i-see-every-method-called-when-i-run-my-application-in-the-iphone-simulat/3791935#3791935
So you can use it in the simulator, but not on actual hardware.


Anyways then, I'm not sure how to tell automake we only want to use the dtrace objects for the dynamic library, not the static one.


(But for anyone building general purpose Linux-based systems and the like that's reading this, please don't ship static libraries)
Comment 5 GNOME Infrastructure Team 2018-05-24 14:56:00 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to GNOME's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.gnome.org/GNOME/glib/issues/653.