<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>32297</bug_id>
          
          <creation_ts>2016-07-21 15:42:17 +0300</creation_ts>
          <short_desc>undefined symbol: gtk_widget_path_iter_set_object_name</short_desc>
          <delta_ts>2017-02-17 09:40:23 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>firefox</component>
          <version>unstable</version>
          <rep_platform>all</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P3</priority>
          <bug_severity>major</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>33085</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Ivan Zakharyaschev">imz</reporter>
          <assigned_to name="Alexey Gladkov">legion</assigned_to>
          <cc>lav</cc>
    
    <cc>legion</cc>
    
    <cc>rauty</cc>
    
    <cc>sbolshakov</cc>
    
    <cc>vostok</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>157716</commentid>
    <comment_count>0</comment_count>
    <who name="Ivan Zakharyaschev">imz</who>
    <bug_when>2016-07-21 15:42:17 +0300</bug_when>
    <thetext>$ rpm -qf /usr/lib64/firefox/libxul.so 
firefox-47.0-alt1

I&apos;ve installed firefox from Sisyphus (see below; in a system with no dist-upgrade for a long while), and it crashes like this:

-bash-4.3$ firefox &amp;
[1] 988359
-bash-4.3$ XPCOMGlueLoad error for file /usr/lib64/firefox/libxul.so:
/usr/lib64/firefox/libxul.so: undefined symbol: gtk_widget_path_iter_set_object_name
Couldn&apos;t load XPCOM.

[1]+  Exit 255                firefox

The installation:

apt&gt; install firefox
Unrequested changes are needed to execute this operation.
The following packages will be upgraded
  libnspr libnspr-devel libnss libnss-devel
The following NEW packages will be installed:
  browser-plugins-npapi firefox libvpx3 mozilla-common
4 upgraded, 4 newly installed, 0 removed and 0 kept.
Will need more 37,3MB of archives.
After unpacking will need more 104MB of disk space.
Do you want to continue? [Y/n] 
apt&gt; commit 
The following packages will be upgraded
  libnspr libnspr-devel libnss libnss-devel
The following NEW packages will be installed:
  browser-plugins-npapi firefox libvpx3 mozilla-common
4 upgraded, 4 newly installed, 0 removed and 652 not upgraded.
Need to get 0B/37,3MB of archives.
After unpacking 104MB of additional disk space will be used.
Do you want to continue? [Y/n] 
Committing changes...

Its deps:

-bash-4.3# rpm -q firefox --requires | fgrep -i gtk
libgtk-3.so.0()(64bit) &gt;= set:qmXE0Z41sUD51fHlZ0dBzsxzHbvluPe
libgtk-x11-2.0.so.0()(64bit)  
-bash-4.3# rpm -qa | fgrep -i gtk
python3-module-matplotlib-gtk3-1.5.0-alt4.git20150829.1
gtk-builder-convert-2.24.29-alt1
libwebkit2gtk-2.10.7-alt2
libcolord-gtk-0.1.25-alt2
libgtk+3-devel-3.18.8-alt2
libcanberra-gtk3-devel-0.30-alt2
libnm-gtk-devel-1.1.91-alt1
libjavascriptcoregtk4-2.10.7-alt2
gtk-doc-1.24-alt1
python-module-pygtk-2.24.0-alt6
libgtk+3-3.18.8-alt2
libclutter-gtk3-1.6.6-alt1
libgtkglext-1.2.0-alt2.4
libgtk+2-devel-2.24.29-alt1
emacs24-X11-gtk3-24.5-alt16
gtk-update-icon-cache-2.24.29-alt1
libgtk+2-2.24.29-alt1
libnm-gtk-1.1.91-alt1
libcanberra-gtk3-0.30-alt2
python-module-pygtk-libglade-2.24.0-alt6
libgtk+3-gir-devel-3.18.8-alt2
libgtk+2-locales-2.24.29-alt1
libgtk+3-gir-3.18.8-alt2
libcanberra-gtk-common-devel-0.30-alt2
-bash-4.3#</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>157717</commentid>
    <comment_count>1</comment_count>
    <who name="Ivan Zakharyaschev">imz</who>
    <bug_when>2016-07-21 15:43:22 +0300</bug_when>
    <thetext>Why hasn&apos;t this problem with symbols been caught by set-versions, I wonder?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>157720</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Gladkov">legion</who>
    <bug_when>2016-07-21 17:02:19 +0300</bug_when>
    <thetext>Because I believe that it&apos;s a local miss-configuration.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>157721</commentid>
    <comment_count>3</comment_count>
    <who name="Ivan Zakharyaschev">imz</who>
    <bug_when>2016-07-21 17:31:06 +0300</bug_when>
    <thetext>There must have been no special local configuration, only some old (and some new) packages installed and not touched.

This healed the problem:

apt&gt; install libgtk+3
Unrequested changes are needed to execute this operation.
The following packages will be upgraded
  libgtk+3 libgtk+3-devel libgtk+3-gir libgtk+3-gir-devel
The following NEW packages will be installed:
  gtk+3-themes-incompatible
4 upgraded, 1 newly installed, 0 removed and 0 kept.
Will need more 6868kB of archives.
After unpacking will need more 192kB of disk space.
Do you want to continue? [Y/n] 
apt&gt; commit 
The following packages will be upgraded
  libgtk+3 libgtk+3-devel libgtk+3-gir libgtk+3-gir-devel
The following NEW packages will be installed:
  gtk+3-themes-incompatible
4 upgraded, 1 newly installed, 0 removed and 648 not upgraded.
Need to get 0B/6868kB of archives.
After unpacking 192kB of additional disk space will be used.
Do you want to continue? [Y/n] 
Committing changes...

The new firefox package does not work with some a bit old libgtk+3 packages...

Now I can try to reproduce this by reverting back to the old gtk+3 packages...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>157793</commentid>
    <comment_count>4</comment_count>
    <who name="Anatoly Lyutin">vostok</who>
    <bug_when>2016-07-26 17:11:31 +0300</bug_when>
    <thetext>100% не работает на:
[root@localhost ~]# rpm -qa | grep libgtk+3
libgtk+3-gir-3.10.4-alt1
libgtk+3-3.10.4-alt1


При обновлении с FF 44 на FF 47 всё прошло без предупреждений. Соответственно никакие set-version не помогли в данном случае.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>157794</commentid>
    <comment_count>5</comment_count>
    <who name="Ivan Zakharyaschev">imz</who>
    <bug_when>2016-07-26 17:17:39 +0300</bug_when>
    <thetext>(In reply to comment #4)
&gt; 100% не работает на:
&gt; [root@localhost ~]# rpm -qa | grep libgtk+3
&gt; libgtk+3-gir-3.10.4-alt1
&gt; libgtk+3-3.10.4-alt1

У меня случай был даже на более свежей версии:

libgtk+3-3.18.8-alt2 (мог бы повторить, вернув те версии, но пока руки не дошли)

&gt; При обновлении с FF 44 на FF 47 всё прошло без предупреждений. Соответственно
&gt; никакие set-version не помогли в данном случае.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>157796</commentid>
    <comment_count>6</comment_count>
    <who name="Anatoly Lyutin">vostok</who>
    <bug_when>2016-07-26 18:40:14 +0300</bug_when>
    <thetext>Может, кому интересно, но всё сломалось с 45-ой версии FF. Проверил 47, 46, 45, работает только 44.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>160498</commentid>
    <comment_count>7</comment_count>
    <who name="Ivan Zakharyaschev">imz</who>
    <bug_when>2016-12-06 17:10:22 +0300</bug_when>
    <thetext>Please approve task 174017 with 50.0.2-alt2 which is supposed to improve this:

- Precise calculation of the dependency on libgtk symbols (ALT#32297)
  (and strict verification of unresolved symbols) (Thx ruslandh@&apos;s
  work on strict unresolved symbols verification in palemoon.)

$ git --no-pager diff HEAD^^..HEAD^
diff --git a/firefox.spec b/firefox.spec
index 2b2b63a..33a5286 100644
--- a/firefox.spec
+++ b/firefox.spec
@@ -178,6 +178,13 @@ MOZ_OPT_FLAGS=$(echo $RPM_OPT_FLAGS -fPIC -Wl,-z,relro -Wl,-z,now | \
 )
 export CFLAGS=&quot;$MOZ_OPT_FLAGS&quot;
 export CXXFLAGS=&quot;$MOZ_OPT_FLAGS&quot;
+# Add fake RPATH
+rpath=&quot;/$(printf %%s &apos;%firefox_prefix&apos; |tr &apos;[:print:]&apos; &apos;_&apos;)&quot;
+export LDFLAGS=&quot;$LDFLAGS -Wl,-rpath,$rpath&quot;
+%if_without system_nss
+# see mozilla/security/nss/coreconf/Linux.mk:203
+export RPATH=&quot;-Wl,-rpath,$rpath&quot;
+%endif
 
 export PREFIX=&quot;%_prefix&quot;
 export LIBDIR=&quot;%_libdir&quot;
@@ -227,6 +234,20 @@ make -C objdir \
 	libdir=%_libdir \
 	install
 
+# Add real RPATH
+rpath=&quot;/$(printf %%s &apos;%firefox_prefix&apos; |tr &apos;[:print:]&apos; &apos;_&apos;)&quot;
+find %buildroot/%firefox_prefix -type f -print0 |
+while read -r -d &apos;&apos; f; do
+      t=&quot;$(readlink -ev &quot;$f&quot;)&quot;
+
+      file -- &quot;$t&quot; | fgrep -qs ELF || continue
+
+      if chrpath -l &quot;$t&quot; | fgrep -qs &quot;PATH=$rpath&quot;; then
+         chrpath -r &quot;%firefox_prefix&quot; &quot;$t&quot;
+      fi
+done
+%set_verify_elf_method unresolved=strict
+
 # install altlinux-specific configuration
 install -D -m 644 %SOURCE8 %buildroot/%firefox_prefix/browser/defaults/preferences/all-altlinux.js
 


Here is how the dependency has got more precise:

$ compare_packages -a --requires -- /ALT/Sisyphus/x86_64/RPMS.classic/firefox-50.0.2-alt1.x86_64.rpm -- ~/hasher/repo/x86_64/RPMS.hasher/firefox-50.0.2-alt1.x86_64.rpm
--- /tmp/.private/imz/compare_packages.vskrgWZ4TP/1     2016-12-06 16:04:40.822816774 +0300
+++ /tmp/.private/imz/compare_packages.vskrgWZ4TP/2     2016-12-06 16:04:40.828816734 +0300
@@ -40,13 +40,13 @@
 libgcc_s.so.1(GCC_3.3)(64bit)  
 libgcc_s.so.1(GCC_3.4)(64bit)  
 libgcc_s.so.1(GCC_4.0.0)(64bit)  
-libgdk-3.so.0()(64bit) &gt;= set:nmGow1
+libgdk-3.so.0()(64bit) &gt;= set:nf8PwA630VTRhMdY3UJZBMuUg9O34uwlzC05KjJ1gV3TtA4HGdDFmlfExmT6Ciu9u5dtOxCshkFgXDYKEeLCS1r6eFRDvtH96efY2g5diNR4CtasVgLfwofNg1sOFh6UaZpkX3r8IQKg9byOITslz2lJDN2EJ5nOFIRfZJH0mZ1PvzbMF3Ry6r3kreg18DOkGQZ0zrCtgI4D1EdPX1VRrXswG0kZh8eLPRj7KOxhneF3ZHZfaMT4CsExWT1CyRaIZrw7Av2FJamrJmx3vYZJojRVY1d5VY7UnGCF5c8Owi7thdjP1qMl4tQwUfUC9QNjSql3kEOi3iZio09
 libgdk-x11-2.0.so.0()(64bit)  
 libgdk_pixbuf-2.0.so.0()(64bit) &gt;= set:lgnLZlVCS16t3jD6kNOWSYPWoC0jFaIF01CiqLB0NNj3KxDHGO0
 libgio-2.0.so.0()(64bit) &gt;= set:oiDURQYOLc5K71lMwpVLAlDhA7vgZjpwx77Sf6zF9yCfv9HXMwM9qdWkXc5rluxpQXxINV0CAh8swg8RHBTPqCxBCvJ2ZiavhqzTgVRQgaD2H59HBZ5Cn464mzpemSRN3EtzHhIJ8pTZh
 libglib-2.0.so.0()(64bit) &gt;= set:oh6Jjraz6mRpYgJhENEZCSs2NkDeJdFr4Wa8Oz6BF4wVOXj2QYgBou4uHoj3fGTr4fGrIp0wRwJpXsu2DjdL7kROyid1KkT9c8fm5vtUPhzgpLPIZsRRy99JpFicmQNzdv8X4og4xANTyWj1wF002cCeo5bIVVtWAMRehKfuRw3cE0pjRafcFtpIM3dqcCWm1cdjKj0l6KEjS7Ri8OwM82eqDhW8jdMRwW5UJIeOWHnU5bcqxeA0rPoth6HJ7pdzS9YZawAsG070
 libgobject-2.0.so.0()(64bit) &gt;= set:mgX8o2bTFZgxZIrkD3XdTLPQ7S0pdELQmxkcixFDsIjy5VUnc1bPlrvMBnjM3AUKPc9ZemnHFYgxDYkXaVGk0UorlzJ69RlI6liYx05jvSnRFhWh7R4s5Zjtc7OKUZ50AiIRD6Lyiy1
-libgtk-3.so.0()(64bit)  
+libgtk-3.so.0()(64bit) &gt;= set:qhjBFRzhmUSA1JxGt4I2Nu1PRErHmMyJX53SZdWswanXfXeVMJxJxXHXKh11IUamZw73rKzUVJwOGwo7lbZI18ZFZDXIpuI2ZEButQfZbFTPZxvQ3GmVXbxRx4hlA8rgfEs5bb2KZi3o3cgMkjiyE2aZgeLcGBChfKduoai1oU5sL3qHXEBUH88dR1Q9VySDgBGgJP2WOAMv8BWamIH0amrTDpRhTb7zHshCX6VCPZgkfZJh0dnhwb3p53ZehVLIYThYJGT2lYzhovSN2aeVIFJ6uqaZ5JT8hybB0w2jQhXtzB7mk3EYyY7tWySNFnxhnDno57pxsrUrmtewRfLtAemkz9fUahNFlKen6Bp72CEWlZbZze4Ztzr0OvZr9HZixS02DmY7hR3g7HC3poTeevAYLq6HyyJvI3cpdm56S5wuGZGrQoeIJL2sJKI0KrWJXJrH4Z6E6uAPycKsTmuKXGIsvhBhbjoWZ8x3arePOYVnnrq8LH0mmEINx2eO9KeEdjRkkmzZksp6W7XdvL4iWbvCTOgu5bdZpJVDg1ymC2ldyBuiITLD0myATuGKCkDIXVM9hSBZGZGJiqjIrBGPIKqGp5Gais0YSNBULOMx7wTW2cBNqiHg7CRSuZ0bH2sp2JmvGJZrUhurZzeuge3xil9TsjAgw8kfIl9cn4PtVe3eZyd3N9y79yv7vVifSAUk9R9q7R39otPWibncoZt1ngtgCgKJtbg5y9qdIpLIx7a8ZGJKZ0H7izflqHPa5VkhgZa2XNN8x59cUT8hZzUN1F2joZj3Z6ZG1kLc2DSwoRnLkDCAxNWMqSiRWFeRabvt4wkdch6PgCfMbFC1p2J5IRcn8L7JziSupINI3YZuPGeKn5WrXxZ33sG2D9ZvZnMZgIHevng7bedVFA2h0n9OqPnPlEPpVcXENuIPQIIWdCGOC6TG1SSow56qGNzn2eRlQ1ATemtZaNgMef6D8s5uCCXm8GhgZpMpvK0TAeWau2GEcR3bPoYsF379RZEVuOGcc3kdGXT650Es6rup1lhS8mBKBUdNS7HxOHf9avoKrAKv9ctOWGj3aOoXoONCE7VBon7kGZmZzZ8AYelSc3RBjojAECfGjvGUo5HaCDor1ZlfZK6BeUVeo7o7
 libgtk-x11-2.0.so.0()(64bit)  
 libhunspell.so.2()(64bit) &gt;= set:mjmZjpxYkULYRK3Um
 libicui18n.so.56()(64bit) &gt;= set:qkokXiK7jdxxZ3g6ZC26MhNAiZlbc0GH3Zt007SncGdmdDLYcgUM7yVnpwcq0T3oRQp8AQYoASlVcgO9OZ96n7Z4wZrUI30Z7jM5bQGbmNhXgm8qNg9TYqUu1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>160595</commentid>
    <comment_count>8</comment_count>
    <who name="Repository Robot">repository-robot</who>
    <bug_when>2016-12-08 19:28:28 +0300</bug_when>
    <thetext>firefox-50.0.2-alt2 -&gt; sisyphus:

* Tue Dec 06 2016 Ivan Zakharyaschev &lt;imz@altlinux&gt; 50.0.2-alt2
- Precise calculation of the dependency on libgtk symbols (ALT#32297) and
  strict verification of unresolved symbols. (Thx legion@ for the original
  hack, which had to be removed in 44.0.2-alt3, but found to be restorable
  by ruslandh@&apos;s work on strict unresolved symbols verification in palemoon.)</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>