Slacko64 & MikeWalsh's Chrome & Clones Portables

Moderator: Forum moderators

Post Reply
User avatar
mikeslr
Posts: 2968
Joined: Mon Jul 13, 2020 11:08 pm
Has thanked: 179 times
Been thanked: 923 times

Slacko64 & MikeWalsh's Chrome & Clones Portables

Post by mikeslr »

Edit 08/01/22: See this post, viewtopic.php?p=63387#p63387

Consider this a ‘Proof of Concept’. Feedback by others would be appreciated. See the last paragraph.

I had recalled that someone had posted about supplying 'missing libs' so that one of MikeWalsh's portables could be run under some 64-bit Slacko. I had hoped to find that post identifying such libs and perhaps supplying them. But my search only revealed that under a version of Iron64-portable libpng12 and perhaps (& perhaps a different post) libpcre.so.3 were missing. I've attached those as they will be needed.

libpng&libpcre.tar.gz
(237.97 KiB) Downloaded 61 times

I first tried to start Brave via a terminal. Opening halted; the terminal reporting that libatk-bridge-2.0.so.0 was not found. Examining the binaries used in all MikeWalsh's portable Chrome & 'Chromium Clones' from ScPup64 with ListDD revealed these 'missing' libs, libatk-bridge-2.0.so.0, libatspi.so.0. But 'ldding' Slimjet's binary in addition to those also reported libgtk-3.so.0 and libgdk-3.so.0 'missing'.

libatk-bridge-2.0.so.0, libatspi.so.0 are, in fact, included in MikeWalsh’s package, in a sub-folder named lib. So they are present; but not being used. After trying other methods, it finally occurred to me to see if modification of the LAUNCH script ala fredx181’s ‘ff’ under firefox would work. So I edited the Brave-portable64’s LAUNCH SCRIPT by adding the lines in blue to read:

#!/bin/sh
#
# Launcher for 'portable' Brave browser
#
HERE="$(dirname "$(readlink -f "$0")")"
#
LAUNCHDIR="$(cd "$(dirname "$0")"; pwd)"
LAUNCHDIR="$(dirname "$(readlink -f "$0")")"
LD_LIBRARY_PATH=$LAUNCHDIR/:$LAUNCHDIR/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}

mkdir "$HERE/PROFILE" 2> /dev/null
mkdir "$HERE/PROFILE/spot" 2> /dev/null
mkdir "$HERE/PROFILE/spot/Brave-Browser" 2> /dev/null
#
chown -R spot:spot "$HERE/brave"
chown -R spot:spot "$HERE/lib"
chown -R spot:spot "$HERE/PROFILE/spot"
#
if grep -q 'Quirky April64' /etc/DISTRO_SPECS
then
LD_LIBRARY_PATH=$HERE/:$HERE/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
run-as-spot "$HERE/brave/brave" --user-data-dir=$HERE/PROFILE/spot/Brave-Browser --disk-cache-size=5000000 --media-cache-size=5000000 --allow-outdated-plugins "$@"
else
run-as-spot "$HERE/brave/brave" --user-data-dir=$HERE/PROFILE/spot/Brave-Browser --disk-cache-size=5000000 --media-cache-size=5000000 --allow-outdated-plugins "$@"
fi

After adding later versions and symlinks respectively named libpng12 and libpcre.so.3 to the ‘lib’ folder, Brave-portable64 opened via the edited LAUNCH script. But not without complaining of some errors.
Whether those or otherwise one error seems to be significant. Attempting to attach the aforementioned file to this post didn’t work.

So although the text of this post is from the aforesaid Brave, I've had to open a different Web-browser to provide the attachment.

Scripting isn’t my forte. The lines I flinched from firefox could be edited to make better use of the declarations MikeWalsh used in the LAUNCH script. Actually, now that I've looked at the modified script I don't know why the modification was (a) needed and (b) worked. The original already had a provision for using the files found in 'lib'. I wonder if it's a 'timing' thing? the use of file in the 'lib' folder commanded before that folder is converted to spot permissions.

I haven’t yet had time to try this technique with Google-Chrome and other of MikeWalsh’s portables. And I don't have other Slacko64s setup to boot into. It’s likely that appropriate files relating to libgtk-3.so.0 and libgdk-3.so.0 will also have to be added to the ‘lib’ folder in order for slimjet to run. [Edit: visual examination revealed those libraries present in Slimjet-portables LIB subfolder]. So consider this a ‘Proof of Concept’.

Last edited by mikeslr on Mon Aug 01, 2022 11:18 pm, edited 6 times in total.
thinkpadfreak
Posts: 265
Joined: Thu Jul 16, 2020 6:37 am
Has thanked: 7 times
Been thanked: 57 times

Re: Slacko64 & MikeWalsh's Chrome & Clones Portables

Post by thinkpadfreak »

mikeslr wrote: Sun Jul 24, 2022 12:15 am

Examining the binaries used in MikeWalsh's portable Chrome & 'Chromium Clones' from ScPup64 with ListDD revealed these 'missing' libs, libatk-bridge-2.0.so.0, libatspi.so.0. But Slimjet in addition to those also found libgtk-3.so.0 and libgdk-3.so.0 'missing'.

ScPup64 is different from other pups in this respect.
(Edit: These dependencies are not included in the main sfs of ScPup64.)
Browsers (SFSs) prepared for ScPup64 include these dependencies. However, I think these dependencies should be included in the main sfs. I had to include them in a language pack which I made so that an input method would work with gtk-3 based applications without installing those "special" browser SFSs.

I just remembered the above fact when I read your post.

User avatar
mikeslr
Posts: 2968
Joined: Mon Jul 13, 2020 11:08 pm
Has thanked: 179 times
Been thanked: 923 times

Re: Slacko64 & MikeWalsh's Chrome & Clones Portables

Post by mikeslr »

Note my exploration was conducted running ScPup64 22.02. While the results under other 64-bit Slackos may be different, I think these are suggestive.

Edit 08/02/22: First try mistfire's Quickpup64, viewtopic.php?p=27469#p27469. Although binary-compatible with Slackware-Current, it had no problem running OOTB portable-webbrowsers fredx181 and MikeWalsh published with Ubuntu/debian Puppys in mind; nor with several other portables and AppImages I tried. My only complaint is that it employs the xfce-thunar combination as window and file-manager; and I'd have to learn their quirks rather than the quirks of jwm-rox I'm used to. :roll: :lol:

I recommend that ListDD, viewtopic.php?p=32260#p32260 be installed if not already present. Examining an application's binary with ListDD and/or attempting to start it via a terminal will usually identify what libraries your system lacks that are required by that application.

Some applications require libpng12 and/or libpcre. libpng16.so.16.37.0 can be installed using ScPup64's Puppy Package manager. All that needs to be done is to create a symbolic link to it named libpng12.so.
My subsequent examination of the /usr/lib64 folder revealed that libpcre's presence. It is likely that my guess that it might be missing was wrong. Alternatively, Puppy Package Manager can also install those libraries if they are needed. So what isn't needed is the pet I attached to the OP.

I installed a pet named gtk+3-64-0.204-.7.pet which I believe was made available by a link from one of peebee's posts and --if I'm not mistaken-- discussed the Chromium web-browser he provided. Unfortunately, I have not been able to find that post and the pet is too large to provide as an attachment.

Edit August 2, 2022: IMHO, the gtk+3-64-0.204-.7.pet is too important to be hard to find. I've uploaded my copy. You can obtain it here, https://www.mediafire.com/file/dfyqep7a ... 7.pet/file. Much thanks to whoever originally published it. :thumbup:

If anyone knows from where it can be obtained, please post that information. With the gtk+3-64-0.204-.7.pet* installed every one of MikeWalsh's portables that I tested functioned, apparently flawlessly. So did a number of other portables and Appimages. With the possible exception of providing the libpng library, nothing further had to be done,

-=-=-=-=-
* ScPup64 22.02's Puppy Package Manager can install libraries packaged as gtk+3-3.24.32. But I haven't tried it as an alternative. So I don't know if it is an adequate substitute. Something for someone to try as an alternative to hunting down the aforementioned pet.

Post Reply

Return to “Browsers and Internet”