Tiny Core Extensions > TCE Bugs

Firefox_getLatest, missing dependency

(1/3) > >>

CNK:
I'm using the Firefox_getLatest script to keep Firefox ESR up to date (I'm deliberately not using the firefox-ESR package which seems to fall behind the security updates). Unfortunately it fails to add "libXt.tcz" to the generated firefox.tcz.dep file, and Firefox won't start without it.

The libXt library is used by /usr/local/firefox/libxul.so (EDIT: this is after manually making libXt load, as described below, otherwise ldd obviously wouldn't find it):

--- Code: ---$ ldd /usr/local/firefox/libxul.so | grep libXt
libXt.so.6 => /usr/local/lib/libXt.so.6 (0x00007f15a7c6b000)
--- End code ---

Note that this is with Core Pure64, though I'd be very surprised if the same bug doesn't also apply to x86 given what the libXt library is for.

If I add "libXt.tcz" to firefox.tcz.dep, then Firefox loads correctly, at least until the next update when firefox_getLatest rewrites firefox.tcz.dep.

Also, I did see this topic was discussed already at the following thread, but I'll add my suggestion that an option is added to the standard firefox_getLatest script (eg. -esr) so that it automatically downloads the latest ESR version. I've been using the -m option to do that, but a typo already caused the wrong version to start downloading once. I'll try Rich's Makefirefox_getLatestESRtcz script, but it would still be much better implemented as an option than by editing the script to change the default behaviour.
http://forum.tinycorelinux.net/index.php/topic,23104.0.html

By the way, Firefox ESR is for people who want security updates but don't want regular feature changes. So yes it makes sense to update it regularly. Security vulnerabilities fixed in the regular updates to Firefox ESR can be monitored on this page:
https://www.mozilla.org/en-US/security/known-vulnerabilities/firefox-esr/

EDIT: Version is CorePure64 11.1

Rich:
Hi CNK
Welcome to the forum.


--- Quote from: CNK on October 13, 2020, 11:07:14 PM --- ... Note that this is with Core Pure64, though I'd be very surprised if the same bug doesn't also apply to x86 given what the libXt library is for. ...
--- End quote ---
I used  Firefox_getLatest  on TC10 x86 a couple of months ago and all the dependencies are fine. I turns out the dependency
tree for  gtk3.tcz  differs between x86 and x86_64. For x86, the relevant part looks like this:

--- Code: ---gtk3.tcz
   at-spi2-atk.tcz
      at-spi2-core.tcz
         Xorg-7.7-lib.tcz
            libXaw.tcz
               libXmu.tcz
                  libXt.tcz
--- End code ---

For the x86_64 bit version,  at-spi2-core.tcz  is missing the  Xorg-7.7-lib.tcz  dependency. We'll have to wait for
Juanito to weigh in on this.

CNK:
Thanks for the response, and the welcome.

I am a little sceptical that the problem is with the at-spi2-core.tcz dependencies. I confirmed before that "libxul.so" needs libXt, and that's part of Firefox, so to me that suggests that Firefox needs libXt regardless of what other packages might need it "down the chain" (granted I'm guessing a bit about how things are done with Tiny Core packages - I'll find out sometime soon as there are a few that I'll need to make myself).

at-spi2-core.tcz contains these files:

--- Code: ---/usr/local/etc/xdg/autostart/at-spi-dbus-bus.desktop
/usr/local/lib/at-spi2-core/at-spi-bus-launcher
/usr/local/lib/at-spi2-core/at-spi2-registryd
/usr/local/lib/libatspi.so
/usr/local/lib/libatspi.so.0
/usr/local/lib/libatspi.so.0.0.1
/usr/local/share/dbus-1/accessibility-services/org.a11y.atspi.Registry.service
/usr/local/share/dbus-1/services/org.a11y.Bus.service
/usr/local/share/defaults/at-spi2/accessibility.conf
--- End code ---

So there's only one shared library file, and (on x86_64) ldd shows that it has all of the shared libraries it needs (and doesn't need libXt):

--- Code: ---$ ldd /usr/local/lib/libatspi.so
linux-vdso.so.1 (0x00007ffeed1af000)
libdbus-1.so.3 => /usr/local/lib/libdbus-1.so.3 (0x00007fba8c0cf000)
libgobject-2.0.so.0 => /usr/local/lib/libgobject-2.0.so.0 (0x00007fba8c085000)
libglib-2.0.so.0 => /usr/local/lib/libglib-2.0.so.0 (0x00007fba8bf88000)
libX11.so.6 => /usr/local/lib/libX11.so.6 (0x00007fba8be6a000)
libc.so.6 => /lib/libc.so.6 (0x00007fba8bce9000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00007fba8bcca000)
libelogind.so.0 => /usr/local/lib/libelogind.so.0 (0x00007fba8bc52000)
libffi.so.6 => /usr/local/lib/libffi.so.6 (0x00007fba8ba4b000)
libpcre.so.1 => /usr/local/lib/libpcre.so.1 (0x00007fba8ba0f000)
libxcb.so.1 => /usr/local/lib/libxcb.so.1 (0x00007fba8b9e9000)
libXau.so.6 => /usr/local/lib/libXau.so.6 (0x00007fba8b9e4000)
libXdmcp.so.6 => /usr/local/lib/libXdmcp.so.6 (0x00007fba8b9dc000)
libdl.so.2 => /lib/libdl.so.2 (0x00007fba8b9d5000)
/lib/ld-linux-x86-64.so.2 (0x00007fba8c34d000)
--- End code ---

Yet the package Xorg-7.7-lib.tcz isn't installed:

--- Code: ---$ tce-status -i | grep Xorg
 [nothing]
--- End code ---

So I wonder if the x86_64 version legitimately gets all of the libraries it need via the libX11.tcz dependency, and doesn't need Xorg-7.7-lib.tcz?

Juanito:
The Xorg-7.7-lib meta extension was created as an easy way of meeting dependencies, but in fact it often results in loading extensions that are not required - for this reason I've been using the actual libX* deps (when I remember to do so).

I recompiled firefox-ESR in the CorePure64 repo recently and it has libXt as a dep, which would be hidden by the use of Xorg-7.7-lib as a dep for at-spi2-core in the Core repo.

We can change the at-spi2-core dep file in the Core repo and adjust the Firefox_getLatest script to include libXt as a dep if that makes most sense?

Rich:
HI Juanito

--- Quote from: Juanito on October 14, 2020, 04:35:15 AM --- ... We can change the at-spi2-core dep file in the Core repo and adjust the Firefox_getLatest script to include libXt as a dep if that makes most sense?
--- End quote ---
I searched the  .dep  files in the TC11 x86 repo and found the following:


--- Code: ---tc@box:~$ grep -i "at-spi2-core.tcz" /11.x/x86/tcz/*.dep
/11.x/x86/tcz/at-spi2-atk.tcz.dep:at-spi2-core.tcz
/11.x/x86/tcz/at-spi2-core-dev.tcz.dep:at-spi2-core.tcz
/11.x/x86/tcz/at-spi2-core-gir.tcz.dep:at-spi2-core.tcz
--- End code ---
Not much risk there.


--- Code: ---tc@box:~$ grep -i "at-spi2-atk.tcz" /11.x/x86/tcz/*.dep
/11.x/x86/tcz/at-spi2-atk-dev.tcz.dep:at-spi2-atk.tcz
/11.x/x86/tcz/gtk3.tcz.dep:at-spi2-atk.tcz
--- End code ---
Maybe  Xorg-7.7-lib  was supposed to be a  gtk3  dependency?  gtk2.tcz.dep  in TC11 x86_64 has it listed.

Moving one step higher in the food chain:

--- Code: ---tc@box:~$ grep -i "gtk3.tcz" /11.x/x86/tcz/*.dep
/11.x/x86/tcz/adwaita-icon-theme.tcz.dep:gtk3.tcz
/11.x/x86/tcz/appstream-glib.tcz.dep:gtk3.tcz
/11.x/x86/tcz/bluefish.tcz.dep:gtk3.tcz
/11.x/x86/tcz/brasero.tcz.dep:gtk3.tcz
/11.x/x86/tcz/clutter.tcz.dep:gtk3.tcz
/11.x/x86/tcz/dconf.tcz.dep:gtk3.tcz
/11.x/x86/tcz/evince.tcz.dep:gtk3.tcz
/11.x/x86/tcz/file-roller.tcz.dep:gtk3.tcz
/11.x/x86/tcz/firefox-ESR.tcz.dep:gtk3.tcz
/11.x/x86/tcz/fontforge.tcz.dep:gtk3.tcz
/11.x/x86/tcz/gcr.tcz.dep:gtk3.tcz
/11.x/x86/tcz/gdl.tcz.dep:gtk3.tcz
/11.x/x86/tcz/glade.tcz.dep:gtk3.tcz
/11.x/x86/tcz/gnome-autoar.tcz.dep:gtk3.tcz
/11.x/x86/tcz/gnome-calculator.tcz.dep:gtk3.tcz
/11.x/x86/tcz/gnome-desktop.tcz.dep:gtk3.tcz
/11.x/x86/tcz/gnome-terminal.tcz.dep:vte-gtk3.tcz
/11.x/x86/tcz/goffice.tcz.dep:gtk3.tcz
/11.x/x86/tcz/grisbi.tcz.dep:gtk3.tcz
/11.x/x86/tcz/gtk3-dev.tcz.dep:gtk3.tcz
/11.x/x86/tcz/gtk3-gir.tcz.dep:gtk3.tcz
/11.x/x86/tcz/gtk-engine-unico.tcz.dep:gtk3.tcz
/11.x/x86/tcz/gtkmm.tcz.dep:gtk3.tcz
/11.x/x86/tcz/gtksourceview.tcz.dep:gtk3.tcz
/11.x/x86/tcz/gucharmap.tcz.dep:gtk3.tcz
/11.x/x86/tcz/gvim.tcz.dep:gtk3.tcz
/11.x/x86/tcz/l3afpad.tcz.dep:gtk3.tcz
/11.x/x86/tcz/libdazzle.tcz.dep:gtk3.tcz
/11.x/x86/tcz/libgda.tcz.dep:gtk3.tcz
/11.x/x86/tcz/libhandy.tcz.dep:gtk3.tcz
/11.x/x86/tcz/libpeas.tcz.dep:gtk3.tcz
/11.x/x86/tcz/libwnck.tcz.dep:gtk3.tcz
/11.x/x86/tcz/notification-daemon.tcz.dep:gtk3.tcz
/11.x/x86/tcz/p7zip_gui.tcz.dep:wxwidgetsgtk3.tcz
/11.x/x86/tcz/remmina.tcz.dep:vte-gtk3.tcz
/11.x/x86/tcz/seamonkey.tcz.dep:gtk3.tcz
/11.x/x86/tcz/veracrypt.tcz.dep:wxwidgetsgtk3.tcz
/11.x/x86/tcz/vivaldi.tcz.dep:gtk3.tcz
/11.x/x86/tcz/vte-gtk3-dev.tcz.dep:vte-gtk3.tcz
/11.x/x86/tcz/vte-gtk3-gir.tcz.dep:vte-gtk3.tcz
/11.x/x86/tcz/vte-gtk3.tcz.dep:gtk3.tcz
/11.x/x86/tcz/webkitgtk4.tcz.dep:gtk3.tcz
/11.x/x86/tcz/wireshark.tcz.dep:gtk3.tcz
/11.x/x86/tcz/wxwidgetsgtk3-dev.tcz.dep:wxwidgetsgtk3.tcz
/11.x/x86/tcz/zenity.tcz.dep:gtk3.tcz
--- End code ---
That's a fair amount of potential breakage.


--- Quote ---I recompiled firefox-ESR in the CorePure64 repo recently and it has libXt as a dep, which would be hidden by the use of Xorg-7.7-lib as a dep for at-spi2-core in the Core repo.
--- End quote ---
There's nothing that says the same dependency can't be listed more than once. If B and C both depend on A, they can
still be dependencies of D. tce-load will only pull in A once and ignore any further requests for it.

Navigation

[0] Message Index

[#] Next page

Go to full version