<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>15118</bug_id>
          
          <creation_ts>2007-08-30 13:13:33 -0700</creation_ts>
          <short_desc>WebKit Gdk fails to build due to icu, under some conditions</short_desc>
          <delta_ts>2007-09-17 05:21:55 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</component>
          <version>523.x (Safari 3)</version>
          <rep_platform>All</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WORKSFORME</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Mike Hommey">mh+webkit</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1171</commentid>
    <comment_count>0</comment_count>
    <who name="Mike Hommey">mh+webkit</who>
    <bug_when>2007-08-30 13:13:33 -0700</bug_when>
    <thetext>(it would be a good thing to have a WebKit Gdk component)

Latest icu release (3.8) now includes a --enable-weak-threads flag to configure, which makes icu not link against the pthread library. Let&apos;s not discuss why it&apos;s good or bad. What is important is that it means icu-config doesn&apos;t report -lpthread in the ldflags, which it shouldn&apos;t have been in the first place, since you don&apos;t need to link against the pthread library to *use* icu.

Anyways, the WebKit Gdk build shouldn&apos;t rely on icu-config providing the -lpthread necessary to it, it should define it itself.

A trivial fix is to add -lpthread to LIBS for gdk-port in JavaScriptCore/kjs/testkjs.pro and WebKit.pri. But I don&apos;t know if that would be okay for something else than Linux...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>555</commentid>
    <comment_count>1</comment_count>
      <attachid>16275</attachid>
    <who name="Mike Hommey">mh+webkit</who>
    <bug_when>2007-09-12 23:28:54 -0700</bug_when>
    <thetext>Created attachment 16275
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>556</commentid>
    <comment_count>2</comment_count>
      <attachid>16275</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2007-09-12 23:31:21 -0700</bug_when>
    <thetext>Comment on attachment 16275
Proposed patch

The changes and ChangeLogs look sane to me, but I&apos;ll leave it to some of the Qt/Gtk guys to review this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>438</commentid>
    <comment_count>3</comment_count>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2007-09-16 14:19:25 -0700</bug_when>
    <thetext>AFAIK FreeBSD has at least two different threading implementations. Hardcoding -lpthread is something we should not do.

So if ICU is not using POSIX thread symbols, who is using them? The one who has the dependency on pthread should introduce that with --ldflags. So an actual link error would be nice to see what we are talking about.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>431</commentid>
    <comment_count>4</comment_count>
    <who name="Mike Hommey">mh+webkit</who>
    <bug_when>2007-09-16 14:57:10 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; AFAIK FreeBSD has at least two different threading implementations. Hardcoding
&gt; -lpthread is something we should not do.
&gt; 
&gt; So if ICU is not using POSIX thread symbols, who is using them? The one who has
&gt; the dependency on pthread should introduce that with --ldflags. So an actual
&gt; link error would be nice to see what we are talking about.

Erm, WebKit does require it in several places, just grep pthread in the code.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>430</commentid>
    <comment_count>5</comment_count>
    <who name="Mike Hommey">mh+webkit</who>
    <bug_when>2007-09-16 15:30:44 -0700</bug_when>
    <thetext>Mmmmmm there might have been something else than the missing -lpthread... The original error message was as below, but it actually doesn&apos;t occur anymore here. I suspect a combination of missing -lpthread from icu and some glibc fuckage.
Let&apos;s mark this bug worksforme... I&apos;ll reopen if I can reproduce again.

&gt; g++ -Wl,--as-needed -o ../testkjs testkjs.o pcre_get.o pcre_refcount.o pcre_ucp_findchar.o pcre_compile.o pcre_globals.o pcre_config.o pcre_version.o pcre_info.o pcre_study.o pcre_exec.o pcre_xclass.o pcre_tables.o pcre_maketables.o pcre_try_flipped.o pcre_ord2utf8.o pcre_fullinfo.o TCSystemAlloc.o Assertions.o HashTable.o FastMalloc.o NP_jsobject.o npruntime.o runtime_array.o runtime.o runtime_method.o runtime_object.o runtime_root.o c_class.o c_instance.o c_runtime.o c_utility.o DateMath.o JSWrapperObject.o PropertyNameArray.o array_object.o bool_object.o collector.o CommonIdentifiers.o Context.o date_object.o debugger.o dtoa.o error_object.o ExecState.o fpconst.o function.o function_object.o identifier.o internal.o interpreter.o JSImmediate.o JSLock.o lexer.o list.o lookup.o math_object.o nodes.o nodes2string.o number_object.o object.o object_object.o operations.o Parser.o property_map.o property_slot.o regexp.o regexp_object.o scope_chain.o string_object.o ustring.o value.o grammar.o     -lm -L/usr/lib -licui18n -licuuc -licudata -lm
&gt; collector.o: In function `currentThreadStackBase&apos;:
&gt; /tmp/webkit-0~svn25144/build-gdk/JavaScriptCore/kjs/../../../JavaScriptCore/kjs/collector.cpp:290: undefined reference to `pthread_getattr_np&apos;
&gt; /tmp/webkit-0~svn25144/build-gdk/JavaScriptCore/kjs/../../../JavaScriptCore/kjs/collector.cpp:292: undefined reference to `pthread_attr_getstack&apos;
&gt; /tmp/webkit-0~svn25144/build-gdk/JavaScriptCore/kjs/../../../JavaScriptCore/kjs/collector.cpp:290: undefined reference to `pthread_getattr_np&apos;
&gt; /tmp/webkit-0~svn25144/build-gdk/JavaScriptCore/kjs/../../../JavaScriptCore/kjs/collector.cpp:292: undefined reference to `pthread_attr_getstack&apos;
&gt; collect2: ld returned 1 exit status
&gt; make[2]: *** [../testkjs] Error 1
&gt; make[2]: Leaving directory `/tmp/webkit-0~svn25144/build-gdk/JavaScriptCore/kjs&apos;
&gt; make[1]: *** [sub-JavaScriptCore-kjs-testkjs-pro-make_default-ordered] Error 2
&gt; make[1]: Leaving directory `/tmp/webkit-0~svn25144/build-gdk&apos;
&gt; make: *** [build-gdk-stamp] Error 2
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>422</commentid>
    <comment_count>6</comment_count>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2007-09-17 05:21:55 -0700</bug_when>
    <thetext>Okay, if it reoccurs I would probably propose to add gthread-2.0 to the PKG_CONFIG list.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>16275</attachid>
            <date>2007-09-12 23:28:54 -0700</date>
            <delta_ts>2007-09-16 15:31:02 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>diff</filename>
            <type>text/plain</type>
            <size>2034</size>
            <attacher name="Mike Hommey">mh+webkit</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCAzZWRiODc5Li45NGUyMDhk
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTEgQEAK
KzIwMDctMDktMTIgIE1pa2UgSG9tbWV5IDxnbGFuZGl1bUBkZWJpYW4ub3JnPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViS2l0LnByaToKKyAg
ICAgICAgRG9uJ3QgYXNzdW1lIGljdS1jb25maWcgLS1sZGZsYWdzIGluY2x1ZGVzIC1scHRocmVh
ZC4KKyAgICAgICAgaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUxMTgK
KwogMjAwNy0wNy0yOSAgQnJpYW4gTWFzdGVuYnJvb2sgIDxicmlhbkBtYXN0ZW5icm9vay5uZXQ+
CiAKICAgICAgICAgQnVpbGQgZml4IGZvciBXZWJLaXQvR3RrIHRvIGNvbXBpbGUgb24gRmVkb3Jh
IDcgYXMgZGVzY3JpYmVkIGluCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cg
Yi9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKaW5kZXggOGE3NzkzYS4uZTY4MmU4MyAxMDA2NDQK
LS0tIGEvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisrKyBiL0phdmFTY3JpcHRDb3JlL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDExIEBACisyMDA3LTA5LTEyICBNaWtlIEhvbW1leSA8Z2xhbmRpdW1A
ZGViaWFuLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIGtqcy90ZXN0a2pzLnBybzoKKyAgICAgICAgRG9uJ3QgYXNzdW1lIGljdS1jb25maWcg
LS1sZGZsYWdzIGluY2x1ZGVzIC1scHRocmVhZC4KKyAgICAgICAgaHR0cDovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUxMTgKKwogMjAwNy0wOS0xMiAgU2FtIFdlaW5pZyAgPHNh
bUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEdlb2ZmcmV5IEdhcmVuLgpkaWZm
IC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUva2pzL3Rlc3RranMucHJvIGIvSmF2YVNjcmlwdENvcmUv
a2pzL3Rlc3RranMucHJvCmluZGV4IGRjM2ZkNGUuLjkyOGM3MDcgMTAwNjQ0Ci0tLSBhL0phdmFT
Y3JpcHRDb3JlL2tqcy90ZXN0a2pzLnBybworKysgYi9KYXZhU2NyaXB0Q29yZS9ranMvdGVzdGtq
cy5wcm8KQEAgLTksNyArOSw3IEBAIHF0LXBvcnQ6REVGSU5FUyArPSBCVUlMRElOR19RVF9fCiAj
cXQtcG9ydDpMSUJTICs9IC1MJCRPVVRQVVRfRElSL2xpYiAtbFF0V2ViS2l0CiBnZGstcG9ydCB7
CiAgICAgUU1BS0VfQ1hYRkxBR1MgKz0gJCRzeXN0ZW0oaWN1LWNvbmZpZyAtLWNwcGZsYWdzKQot
ICAgIExJQlMgKz0gJCRzeXN0ZW0oaWN1LWNvbmZpZyAtLWxkZmxhZ3MpCisgICAgTElCUyArPSAk
JHN5c3RlbShpY3UtY29uZmlnIC0tbGRmbGFncykgLWxwdGhyZWFkCiB9CiBRTUFLRV9SUEFUSERJ
UiArPSAkJE9VVFBVVF9ESVIvbGliCiAKZGlmZiAtLWdpdCBhL1dlYktpdC5wcmkgYi9XZWJLaXQu
cHJpCmluZGV4IDY3MTllN2MuLmJlNzYzNjMgMTAwNjQ0Ci0tLSBhL1dlYktpdC5wcmkKKysrIGIv
V2ViS2l0LnByaQpAQCAtMTUsNyArMTUsNyBAQCBxdC1wb3J0OiFidWlsZGluZy1saWJzIHsKIGdk
ay1wb3J0OkNPTkZJRyArPSBsaW5rX3BrZ2NvbmZpZwogZ2RrLXBvcnQ6UEtHQ09ORklHICs9IGNh
aXJvIGNhaXJvLWZ0IGdkay0yLjAgZ3RrKy0yLjAgbGliY3VybAogZ2RrLXBvcnQ6REVGSU5FUyAr
PSBCVUlMRElOR19HREtfXz0xIEJVSUxESU5HX0NBSVJPX18KLWdkay1wb3J0OkxJQlMgKz0gLUwk
JE9VVFBVVF9ESVIvbGliIC1sV2ViS2l0R2RrICQkc3lzdGVtKGljdS1jb25maWcgLS1sZGZsYWdz
KSAtbGpwZWcgLWxwbmcKK2dkay1wb3J0OkxJQlMgKz0gLUwkJE9VVFBVVF9ESVIvbGliIC1sV2Vi
S2l0R2RrICQkc3lzdGVtKGljdS1jb25maWcgLS1sZGZsYWdzKSAtbHB0aHJlYWQgLWxqcGVnIC1s
cG5nCiBnZGstcG9ydDpRTUFLRV9DWFhGTEFHUyArPSAkJHN5c3RlbShpY3UtY29uZmlnIC0tY3Bw
ZmxhZ3MpCiAKIERFRklORVMgKz0gVVNFX1NZU1RFTV9NQUxMT0MK
</data>

          </attachment>
      

    </bug>

</bugzilla>