Solved seamonkey unavailable after lates pkg upgrade

Hi all, after having performed latest pkg upgrade (Freebsd 13), Seamonkey web browser does not run anymore.
At terminal launch attempt it shows:

XPCOMGlueLoad error for file /usr/local/lib/seamonkey/libxul.so:
Shared object "libicui18n.so.64" not found, required by "libxul.so"
Couldn't load XPCOM.

could you suggest a fix?
Thank you
 
/etc/libmap.conf
....
Code:
[/usr/local/lib/seamonkey/libxul.so]
libicui18n.so.64 /usr/local/lib/libicui18n.so.69.1
....
no time to check for typos, but that line and similar below
it that will need to be created and or modified, modified for
your system files, of course.
 
Rather than rely on old shared library files, you would do better to compile and install the latest SeaMonkey 2.53.9 from source. The only hitch is that you still need Python 2.7 to do this. I've successfully done this on FreeBSD 12.2-STABLE and FreeBSD 13.0-RELEASE.

Alternatively, track down and install icu-64.1,1.txz - you'll need to first deinstall icu-69, install icu-64, save copies of the installed files, deinstall icu-64 and reinstall icu-69. Why? Because you'll probbaly find icu-64 gets upgraded again to icu-69 or later. Been there, done that.

[Edit: icu-64 is here: https://fleximus.org/mirror/opnsense/FreeBSD:11:amd64/19.1/MINT/19.1.5/OpenSSL/All/icu-64.1,1.txz]

Last alternative, use the pre-compiled pkg by a forum user which is referenced towards the end of this thread https://forums.freebsd.org/threads/disaster-strikes-seamonkey-removed-from-ports-tree.71335/

SeaMonkey lives :)

[edited to fix typos]
 
Last alternative, use the pre-compiled pkg by a forum user which is referenced towards the end of this thread https://forums.freebsd.org/threads/disaster-strikes-seamonkey-removed-from-ports-tree.71335/

SeaMonkey lives

thank you, I'd like to go for this, understanding it's the simplest way to proceed for my knowledge level (absolute beginner). But I still need a hand to proceed, learning step by step how to get the package installed, since I only handled software with the command #pkg install/remove till now. Would you please instruct me?
 
Just a reminder, if you are UPDATING the port, a new not-in-tree install will probably make all your bookmarks, settings, customizations go missing. Still eager for a return to the ports tree, I and others vollunteered in the other thread to contribute. I am so much more productive with this browser than the other two which hide or obscure or simplify or pre-choose or worse, actions for or within the browser
 
thank you, I'd like to go for this, understanding it's the simplest way to proceed for my knowledge level (absolute beginner). But I still need a hand to proceed, learning step by step how to get the package installed, since I only handled software with the command #pkg install/remove till now. Would you please instruct me?
Do you have Python 2.7 installed? If so:

1) Download the source from the SeaMonkey project
2) Uncompress and untar somwhere
3) Create the .mozconfig file (see the SeaMonkey How to build page for an example - don't forget top change /path/to... in the example :).
4) ./mach build
5) ./mach install

Warning: Backup your /home/you/.mozilla/seamonkey directrory should you want to retain the ability to return to SeaMonkey 2.49.5 because some file formats will be changed and not be backward compatible.

jb_fvwm2:
Just a reminder, if you are UPDATING the port, a new not-in-tree install will probably make all your bookmarks, settings, customizations go missing.

No - all my bookmarks, settings and customizations are still there.

I have lost the spellchecker for email and forum posts for the moment despite the dictionary files still existing and showing up in all the right places in the UI. I hope to restore that functionality but have currently exhausted my attempts and am waiting on the SeaMonkey devs.
 
I thank you a lot sincerely, but I really need something more affordable for me, consisting in software handleable by pkg install (being this any software or library package which could fix the issue). I understand that FreeBSD does not include anymore Seamonkey update in its official packages repository. That's bad.
 
Do you have Python 2.7 installed?
The port lang/python27 is still available.
1) Download the source from the SeaMonkey project
2) Uncompress and untar somwhere
3) Create the .mozconfig file (see the SeaMonkey How to build page for an example - don't forget top change /path/to... in the example :).
4) ./mach build
5) ./mach install
The main problem on compiling SeaMonkey is to find out in step 0) which other ports are needed f.e. to get the spell checker running ;)
I have lost the spellchecker for email and forum posts for the moment despite the dictionary files still existing and showing up in all the right places in the UI.
My port has a "make configure" option therefore (enabled by default), and a hint & link on the download page. My spellchecker works on SeaMonkey (english and german).
 
The main problem on compiling SeaMonkey is to find out in step 0) which other ports are needed f.e. to get the spell checker running ;)

My port has a "make configure" option therefore (enabled by default), and a hint & link on the download page. My spellchecker works on SeaMonkey (english and german).

I was aware of the legacy requirements for dictionaries and I have installed serveral legacy versions which show up under "Dictionaries" and not "Extensions" but spelling is still not working. Any further hints?
 
I was aware of the legacy requirements for dictionaries and I have installed serveral legacy versions which show up under "Dictionaries" and not "Extensions" but spelling is still not working. Any further hints?
Is textproc/hunspell installed, and was SeaMonkey compiled with "--enable-system-hunspell"?
 
While 2.53.9 on FreeBSD 12.2-STABLE is not working, curiously 2.53.8.1 on my FreeBSd 13.0-R system does have spellchecking working.

Yes, hunspell-1.7.0_2 is installed.

The only difference I can spot is rust/rust-cbindgen versions are 1.54 on the 12.2 system and 1.53 on the 13.0 system and clang is v10 on 12.2 and 11 on 13.0.
 
OK, fixed spell checking on 12.2. I needed --enable-system-hunspell which is not needed on 13.0 at least with 2.53.8.1. Possibly something changed between 2.53.8.1 and 2.53.9.

Config of 2.53.8.1 on 13.0:

Code:
SeaMonkey 2.53.8.1 - 20210826130153

The latest information on building SeaMonkey can be found at https://www.seamonkey-project.org/dev/.
Build platform
Target
x86_64-unknown-freebsd13.0

Build tools
Compiler        Version         Compiler flags
/usr/bin/clang -std=gnu99       11.0.1  -Qunused-arguments 
-Wall -Wempty-body -Wignored-qualifiers -Wpointer-arith -Wsign-compare -Wtype-limits 
-Wunreachable-code -Wunreachable-code-return -Wclass-varargs -Wloop-analysis 
-Wstring-conversion -Wno-error=deprecated-declarations -Wno-error=array-bounds 
-Wformat -Wformat-security -Wno-gnu-zero-variadic-macro-arguments -fno-strict-aliasing 
-fno-math-errno -pipe

/usr/bin/clang++        11.0.1  -Qunused-arguments -I/usr/local/include -Qunused-arguments
-Wall -Wempty-body -Wignored-qualifiers -Woverloaded-virtual -Wpointer-arith -Wsign-compare 
-Wtype-limits -Wunreachable-code -Wunreachable-code-return -Wwrite-strings 
-Wno-invalid-offsetof -Wclass-varargs -Wloop-analysis -Wc++1z-compat -Wcomma 
-Wimplicit-fallthrough -Wstring-conversion -Wno-inline-new-delete 
-Wno-error=deprecated-declarations -Wno-error=array-bounds -Wformat -Wformat-security 
-Wno-gnu-zero-variadic-macro-arguments -Wno-unknown-warning-option 
-Wno-return-type-c-linkage -fno-exceptions -fno-strict-aliasing -fno-rtti -fno-exceptions 
-fno-math-errno -pipe -O -fomit-frame-pointer

/usr/local/bin/rustc    1.53.0 

Configure options

--enable-application=comm/suite --disable-tests CC=clang CXX=clang++ 
--disable-debug-symbols --enable-irc --enable-dominspector --enable-js-shell 
MAKE=/usr/local/bin/gmake

Config of 2.53.9 on 12.2:

Code:
SeaMonkey 2.53.9 - 20210912071915
 
The latest information on building SeaMonkey can be found at https://www.seamonkey-project.org/dev/.
Build platform
Target
x86_64-unknown-freebsd12.2

Build tools
Compiler        Version         Compiler flags
/usr/bin/clang -std=gnu99       10.0.1  -Qunused-arguments -Wall -Wempty-body 
-Wignored-qualifiers -Wpointer-arith -Wsign-compare -Wtype-limits -Wunreachable-code
-Wunreachable-code-return -Wclass-varargs -Wloop-analysis -Wstring-conversion 
-Wno-error=deprecated-declarations -Wno-error=array-bounds -Wformat -Wformat-security
-Wno-gnu-zero-variadic-macro-arguments -fno-strict-aliasing -fno-math-errno -pipe

/usr/bin/clang++        10.0.1  -Qunused-arguments -I/usr/local/include -Qunused-arguments 
-Wall -Wempty-body -Wignored-qualifiers -Woverloaded-virtual -Wpointer-arith -Wsign-compare
-Wtype-limits -Wunreachable-code -Wunreachable-code-return -Wwrite-strings 
-Wno-invalid-offsetof -Wclass-varargs -Wloop-analysis -Wc++1z-compat -Wcomma 
-Wimplicit-fallthrough -Wstring-conversion -Wno-inline-new-delete
 -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wformat -Wformat-security
-Wno-gnu-zero -variadic-macro-arguments -Wno-unknown-warning-option 
-Wno-return-type-c-linkage -fno-exceptions -fno-strict-aliasing -fno-rtti -fno-exceptions 
-fno-math-errno -pipe -O -fomit-frame-pointer

/usr/local/bin/rustc    1.54.0

Configure options
--enable-application=comm/suite --disable-tests CC=clang CXX=clang++ 
--disable-debug-symbols --enable-irc --enable-dominspector --enable-js-shell 
MAKE=/usr/local/bin/gmake --enable-system-hunspell
 
Hi Jmos, can I ask the console commands to install your port and have this Seamonkey version running on my FreeBSD 13 desktop, replacing the version not anymore working? And possibly (but not mainly) how to get the italian language with it
I'd like to have a working version back again but I'm not smart with the port software installation.
I thank you in advance
 
Hi Jmos, can I ask the console commands to install your port and have this Seamonkey version running on my FreeBSD 13 desktop, replacing the version not anymore working? And possibly (but not mainly) how to get the italian language with it
Read this:
https://docs.freebsd.org/en/books/handbook/ports/#ports-using

So first you'll need the ports tree. Afterwards you can extract my ports archive wherever you want, cd into its seamonkey directory of it, and execute:

make

If that worked, you can install it:

make install

If you've got a SeaMonkey package already registered you'll need instead:

make reinstall

(Hint: The first step of running make alone mustn't been done - the second would do that, too; But you've got more control over what's happening…)

Now you've got SeaMonkey installed equal to a binary package - just by cd into a ports directory and executing make install ;) But everything from the bulding process is still avaliable, but useless. So now clean up everything:

make clean

Building a port mostly pulls in other ports which are just needed to build a port, but not to use it. To get rid of those installed ports you can clean up pkg also:

pkg autoremove

But that last step depends on how you took care of automatic and explicit wanted packages so far - it might deinstall (after you've been asked to confirm) stuff you might want to have; Often users of binary packages don't mind about those settings… So take a closer look the list of packages that would be deinstalled.

To get a language pack installed download it from the projects homepage, and drag&drop it from your file manager into the SeaMonkey webbrowser window, confirm to install it and restart SeaMonkey (maybe you'll have to choose the language in the configuration dialog, too).
 
fine, I feel missing the first part of the job; how to fetch the package.
Few days ago I succeeded to install the linux-vivaldi browser by its installer ported for FreeBSD like this :

% git clone https://github.com/mrclksr/linux-browser-installer.git
% cd linux-browser-installer
% su
# ./linux-browser-installer install vivaldi

1: which is the URL for this Seamonkey pakage?
2: can I use git in this case as well?
3: if not, what would be the right command to use ?

thank you
 
fine, I feel missing the first part of the job; how to fetch the package.
The make-process of a port includes everything - download, compile, create a package and install it. And that for all ports with exactly the same commands. That's what ports do, that's what ports maintainer do for you ;) If you've got to walk alone on foot to compile and install software, a port wouldn't make sense.
1: which is the URL for this Seamonkey pakage?
Defined inside the port. But: You don't need it (make downloads it as a first step (as long its not found in /usr/ports/distfiles)).
2: can I use git in this case as well?
To get the ports tree? Optionally - yes (I've linked the handbook). But you don't need to use git therefore (the default is still portsnap, a good alternative is gitup). Beside of retrieving the ports tree git cannot be used to build a port; Instead cd, make, make (re)install, make clean and pkg autoremove is all you need. Really.
 
ok , I trust you of course.
I'm here:

mauro@freebsd13:~ $ make
make: no target to make.

make: stopped in /usr/home/mauro

what's next ?

tks
 
I'm here:

mauro@freebsd13:~ $ make
make: no target to make.

make: stopped in /usr/home/mauro

what's next ?
I may quote myself: "So first you'll need the ports tree. Afterwards you can extract my ports archive wherever you want, cd into its seamonkey directory of it"; Did you fetch the ports tree (-> Handbook, link above)? If so: You're not in SeaMonkeys port directory - instead you're your $HOME directory. Can't work.
 
ok, learned how to create a portsnap tree by a videotutorial (handbook not clear/intuitive at all for me, and that's why I need going on asking) and done that, at this point I tried to catch the concept of

"Download my ports from https://jmos.net/software/freebsd.rvt, and extract the archive you can get there"

found nothing better to do than downloading ports-20210928.tar.xz in the directory jmos which I created myself in
/usr/ports/ path , and I have extracted the archive there. Please tell me if it is uncorrect, I need to isolate what brings me away from the target.

So, then have

/usr/ports/jmos/usr/ports/www/seamonkey/

and following your instruction I do
mauro@freebsd13:/usr/ports/jmos $ cd /usr/ports/jmos/usr/ports/www/seamonkey/
mauro@freebsd13:/usr/ports/jmos/usr/ports/www/seamonkey $ make
===> Switching to root credentials to create /var/db/ports/www_seamonkey
Password:
===> Returning to user credentials
===> Building/installing dialog4ports as it is required for the config dialog
===> Cleaning for dialog4ports-0.1.6
===> Skipping 'config' as NO_DIALOG is defined
===> License BSD2CLAUSE accepted by the user
===> dialog4ports-0.1.6 depends on file: /usr/local/sbin/pkg - found
=> dialog4ports-0.1.6.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
=> Attempting to fetch https://files.etoilebsd.net/dialog4ports/dialog4ports-0.1.6.tar.gz
dialog4ports-0.1.6.tar.gz 10 kB 156 MBps 00s
===> Fetching all distfiles required by dialog4ports-0.1.6 for building
===> Extracting for dialog4ports-0.1.6
=> SHA256 Checksum OK for dialog4ports-0.1.6.tar.gz.
mkdir: /usr/ports/ports-mgmt/dialog4ports/work: Permission denied
*** Error code 1

Stop.
make[3]: stopped in /usr/ports/ports-mgmt/dialog4ports
*** Error code 1

Stop.
make[2]: stopped in /usr/ports/ports-mgmt/dialog4ports
===> Options unchanged
===> seamonkey-2.53.9.1 depends on file: /usr/local/sbin/pkg - found
=> seamonkey-2.53.9.1.source.tar.xz doesn't seem to exist in /usr/ports/distfiles/.
=> Attempting to fetch https://download.cdn.mozilla.net/pu...3.9.1/source/seamonkey-2.53.9.1.source.tar.xz
seamonkey-2.53.9.1.source.tar.xz 272 MB 6424 kBps 44s
===> Fetching all distfiles required by seamonkey-2.53.9.1 for building
===> Extracting for seamonkey-2.53.9.1
=> SHA256 Checksum OK for seamonkey-2.53.9.1.source.tar.xz.

===> Patching for seamonkey-2.53.9.1
===> seamonkey-2.53.9.1 depends on package: python27>=2.7.18 - not found
===> Switching to root credentials to create /var/db/ports/lang_python27
Password:
===> Returning to user credentials
===> Building/installing dialog4ports as it is required for the config dialog
===> Cleaning for dialog4ports-0.1.6
===> Skipping 'config' as NO_DIALOG is defined
===> License BSD2CLAUSE accepted by the user
===> dialog4ports-0.1.6 depends on file: /usr/local/sbin/pkg - found
===> Fetching all distfiles required by dialog4ports-0.1.6 for building
===> Extracting for dialog4ports-0.1.6
=> SHA256 Checksum OK for dialog4ports-0.1.6.tar.gz.
mkdir: /usr/ports/ports-mgmt/dialog4ports/work: Permission denied
*** Error code 1

Stop.
make[5]: stopped in /usr/ports/ports-mgmt/dialog4ports
*** Error code 1

Stop.
make[4]: stopped in /usr/ports/ports-mgmt/dialog4ports
===> Options unchanged
===> NOTICE:

This port is deprecated; you may wish to reconsider installing it:

EOLed upstream.

It is scheduled to be removed on or after 2020-12-31.

===> License PSFL accepted by the user
===> python27-2.7.18_1 depends on file: /usr/local/sbin/pkg - found
=> Python-2.7.18.tar.xz doesn't seem to exist in /usr/ports/distfiles/python.
=> Attempting to fetch https://www.python.org/ftp/python/2.7.18/Python-2.7.18.tar.xz
Python-2.7.18.tar.xz 12 MB 6549 kBps 02s
===> Fetching all distfiles required by python27-2.7.18_1 for building
===> Extracting for python27-2.7.18_1
=> SHA256 Checksum OK for python/Python-2.7.18.tar.xz.
mkdir: /usr/ports/lang/python27/work: Permission denied
*** Error code 1

Stop.
make[3]: stopped in /usr/ports/lang/python27
*** Error code 1

Stop.
make[2]: stopped in /usr/ports/lang/python27
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/jmos/usr/ports/www/seamonkey
*** Error code 1

Stop.
make: stopped in /usr/ports/jmos/usr/ports/www/seamonkey


I guest made mistakes on how correctly download your port and where to extract it.
Sorry being unable to come out from this escape room, that is why I told from the beginning I needed to receive clear-simple-stepbystep instructions for this purpose.
Thank you
 
If you pay attention to the errors, you'll notice the Permission denied, which means isn't being able to write in your /usr/ports as your user. You have to install at least the dependencies as root if you want to just build as user (without installing, because you know, to install something system-wide, you also need root).
 
found nothing better to do than downloading ports-20210928.tar.xz in the directory jmos which I created myself in
/usr/ports/ path , and I have extracted the archive there. Please tell me if it is uncorrect
I may quote myself again: "you can extract my ports archive wherever you want".

So you decided to create /usr/ports/jmos/usr/ports/www/seamonkey/, but: Mixing up own things with the system is never a good idea. If you want to do that as user, extract it wherever you want in the users area - the users stuff has nothing to do outside of the $HOME directory. But:

As Menelkir already wrote: To install ports or packages means you need to be root, that's why it failed. And also as "user" root: I wouldn't touch the official ports directory - I would extract my archive f.e. inside roots $HOME (/root/), so the ports tree remains original. But as said: Wherever you want ;)
 
I may quote myself again: "you can extract my ports archive wherever you want".

So you decided to create /usr/ports/jmos/usr/ports/www/seamonkey/, but: Mixing up own things with the system is never a good idea. If you want to do that as user, extract it wherever you want in the users area - the users stuff has nothing to do outside of the $HOME directory. But:

As Menelkir already wrote: To install ports or packages means you need to be root, that's why it failed. And also as "user" root: I wouldn't touch the official ports directory - I would extract my archive f.e. inside roots $HOME (/root/), so the ports tree remains original. But as said: Wherever you want ;)
As a matter of example: I have /usr/local/ports when I do external things, so I can freely delete/add new things without touching official ports at /usr/ports.
 
Back
Top