What's new

Scribe error='libssl.so.1.1: wrong ELF class: ELFCLASS32'

  • SNBForums Code of Conduct

    SNBForums is a community for everyone, no matter what their level of experience.

    Please be tolerant and patient of others, especially newcomers. We are all here to share and learn!

    The rules are simple: Be patient, be nice, be helpful or be gone!

Isn't this our old friend the PATH statement?

https://www.snbforums.com/threads/s...ms-_dont_-need-to-be-explicitly-called.83537/

 
Last edited:
The last Entware update brings a lot of changes, including new OpenSSL version.
And it can brings a headache when your openssl-dependent packages are not updated as well. Details is here.

Sorry for this mess, looks like I've got nothing to do on my side, it's up to opkg internal logics.
 
Last edited:
Isn't this our old friend the PATH statement?

https://www.snbforums.com/threads/s...ms-_dont_-need-to-be-explicitly-called.83537/

Not sure that it is. The issue is not that Scribe will not install, rather that it will not run. The paths are described in
Code:
#!/bin/sh

ENABLED=yes
PROCS=syslog-ng
ARGS=""
PREARGS=""
DESC=$PROCS
PATH=/opt/sbin:/opt/bin:/opt/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

. /opt/etc/init.d/rc.func.syslog-ng # added by scribe

. /opt/etc/init.d/rc.func
Which makes me think that Scribe is looking for the entware version of the OpenSSL libraries and is not currently compatible with the new one
I could of course be completely wrong :)
 
The issue is not that Scribe will not install, rather that it will not run.
On my RT-AX86_Pro, Uninstall/re-Install does allow Scribe to start and be basically functional despite the .conf version check error?

1678968022287.png


but the version check needs to be fixed.


1678970478477.png
 
Yes, I agree with @dave14305 and it's a best practice to have in general, particularly if you have several Entware services running continuously on the router and not just utilities that are executed manually and on demand.

The following is a simple function and associated alias that I always use when upgrading Entware packages (I don't use AMTM for that).
Bash:
_UpgradeEntware_()
{
    EntwOPT_opkg="/opt/bin/opkg"
    EntwOPT_init="/opt/etc/init.d/rc.unslung"
    if [ ! -x "$EntwOPT_opkg" ] || [ ! -x "$EntwOPT_init" ]
    then echo "Entware *NOT* found. Nothing to do." ; return 1 ; fi

    echo "Stopping Entware services... Please wait."
    $EntwOPT_init stop ; sleep 3 ; echo
    echo
    $EntwOPT_opkg update ; $EntwOPT_opkg upgrade
    echo
    echo "Starting Entware services... Please wait."
    $EntwOPT_init start ; sleep 3 ; echo
    echo "Done."
}
alias ewupgrade='_UpgradeEntware_'
It's all included in my "/jffs/configs/profile.add" file so I can easily run it by simply typing from an SSH terminal window:
Bash:
ewupgrade

Just my 2 cents.
@thelonelycoder , this might be a useful add to amtm.
 
Apparently I was completely wrong (again)! It is now running on my RT-AX88U

Moving forward, is the version check relevant to the error message / problem and/or why is syslog-ng reporting an error with libssl.so.1.1 (in /usr.lib/) and not finding (using) libssl.so.3 in /opt/lib?
 
Has anyone noticed a drop in nvram usage after the Entware update?

nvram after Entware updt 03.16.2023.JPG
 
Yes, I agree with @dave14305 and it's a best practice to have in general, particularly if you have several Entware services running continuously on the router and not just utilities that are executed manually and on demand.

The following is a simple function and associated alias that I always use when upgrading Entware packages (I don't use AMTM for that).
Bash:
_UpgradeEntware_()
{
    EntwOPT_opkg="/opt/bin/opkg"
    EntwOPT_init="/opt/etc/init.d/rc.unslung"
    if [ ! -x "$EntwOPT_opkg" ] || [ ! -x "$EntwOPT_init" ]
    then echo "Entware *NOT* found. Nothing to do." ; return 1 ; fi

    echo "Stopping Entware services... Please wait."
    $EntwOPT_init stop ; sleep 3 ; echo
    echo
    $EntwOPT_opkg update ; $EntwOPT_opkg upgrade
    echo
    echo "Starting Entware services... Please wait."
    $EntwOPT_init start ; sleep 3 ; echo
    echo "Done."
}
alias ewupgrade='_UpgradeEntware_'
It's all included in my "/jffs/configs/profile.add" file so I can easily run it by simply typing from an SSH terminal window:
Bash:
ewupgrade

Just my 2 cents.
Good points. Would be nice if opkg would have an option to stop/start a service when updating.
If you don’t mind I‘ll code it into amtm with the next update.
 
FYI - ntpMerlin also breaks after upgrading. Same issue where it's trying to load 32bit libssl.so.1.1 from /usr/lib
Are you using ntp or chrony? I am using the latter and it appears to be working normally.
 
no need to mess around with restoring from a backup, just downgrade the packages with opkg

on my GT-AX11000

I found my own workaround for scribe, 1st run scribe script & Stop syslog-ng & logrotate cron
then edit /opt/etc/syslog-ng.conf
and change the version number from "@version: 3.38" to "@version: 3.37"
then fetch these in some temp folder on ur USB drive..

Code:
wget https://bin.entware.net/aarch64-k3.10/archive/syslog-ng_3.37.1-1_aarch64-3.10.ipk
wget https://bin.entware.net/aarch64-k3.10/archive/libopenssl_1.1.1s-1_aarch64-3.10.ipk

then run
Code:
opkg install libopenssl_1.1.1s-1_aarch64-3.10.ipk --force-downgrade
opkg install syslog-ng_3.37.1-1_aarch64-3.10.ipk --force-downgrade
then start up scribe again.
I'm not sure if entware's "aarch64-k3.10" is the same for all asus routers though you may need to find where your package manager downloads from in order to fetch the right archived package for your specific model.

if you run
Code:
opkg remove libopenssl
it won't remove however it will tell you what packages use "libopenssl"

like for me its
* print_dependents_warning: syslog-ng
* print_dependents_warning: openssh-sftp-server
* print_dependents_warning: libcurl
* print_dependents_warning: bind-libs
* print_dependents_warning: python3-openssl

& if you have any other scripts that install anything else that also uses "libopenssl" you can downgrade each of these packages till your broken script works again
you just need to dig through entwares archives.
 
Last edited:
Just to be clear, I don't think this is a problem with Scribe, the add on script; put another way, I don't think there is a fix to be done in scribe. And I don't think syslog-ng itself uses openssl at all, unless TLS is being used for a source or destination. But I think the problem might be buried in /opt/lib/syslog-ng/libhttp.so
 
I see that quite a few packages depend on openssl in my environment:
Code:
# opkg whatdepends libopenssl
Root set:
  libopenssl
What depends on root set
    syslog-ng 3.38.1-1a    depends on libopenssl
    openssh-sftp-server 9.2p1-1    depends on libopenssl
    libcurl 7.86.0-1    depends on libopenssl
    nginx-ssl 1.21.3-3    depends on libopenssl
    bind-libs 9.18.11-3    depends on libopenssl
    python3-openssl 3.10.7-3    depends on libopenssl
    bind-dig 9.18.11-3    depends on bind-libs
I guess I have to take a leap of faith for now and assume they all have been recompiled against OpenSSL3.
 
Also ended up with a broken Entware after updating today.

Amongst others there were these two changes:

Code:
- wget-ssl               1.21.3-1  -> 1.21.3-2
- libopenssl             1.1.1s-1  -> 3.0.8-2

Looks like amtm/opkg updated wget-ssl before updating libopenssl and now wget-ssl is updated (and built against OpenSSL 3.0 and no longer working), before opkg could use it to update libopenssl... (I still see libopenssl - 1.1.1s-1 on my router)
 
Luckily wget is also included in the firmware, so I temporarily renamed /opt/bin/wget and changed https into http in /opt/etc/opkg.conf.

That way I could update libopenssl. After renaming wget again it does work.

However, I now also have the Scribe issue, so following this thread!
 
I'm afraid multiple items are broken:

Code:
➜ opkg whatdepends libopenssl
Root set:
  libopenssl
What depends on root set
    syslog-ng 3.38.1-1a depends on libopenssl
    libcurl 7.86.0-1    depends on libopenssl
    ntpd 4.2.8p15-4a    depends on libopenssl
    ntp-utils 4.2.8p15-4a   depends on libopenssl
    ...

These were all not in the list of packages to be updated... (I filtered out the ones that were)
 
My Entware got so corrupted by this update that I renamed /tmp/mnt/usb/entware/ and am now installing from scratch...
 

Latest threads

Sign Up For SNBForums Daily Digest

Get an update of what's new every day delivered to your mailbox. Sign up here!
Top