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!

Is @thelonelycoder pushing any updates for this round of Entware updates?
This makes 2 Entware updates in a row that have caused problems for other scripts.
Not for now. Nothing changed on my end that I have to fix. I have no other plans than stopping, let it update and restarting Entware services if there are any updates for it.
 
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_()

[/QUOTE]

Just discovered i had no syslogging due to this issue today. Thanks for that easy script/alias man that's great.
 
That entware update ruined my AXE16000. Just running Diversion and Skynet and something corrupted the kernel. According to the logs, it tried to repair itself after each crash but would crash again and again and again. I updated to 388.2 beta, pulled my USB stick and turned off custom scripts which resolved the issue, but am now without Diversion and Skynet. :/
 
That entware update ruined my AXE16000. Just running Diversion and Skynet and something corrupted the kernel. According to the logs, it tried to repair itself after each crash but would crash again and again and again. I updated to 388.2 beta, pulled my USB stick and turned off custom scripts which resolved the issue, but am now without Diversion and Skynet. :/
You could always buy another one, I guess? LOL
 
Bit the bullet and did a factory reset, re-formatted my usb, upgraded to latest 388.1, then spent a couple of hours putting everything back in order. (Again, backups are crucial!)

Everything works as before with no libssl errors. I was on 386.4 before and this debacle was the catalyst I needed to get current.
 
Just sharing my experience in case it might help someone...

I am running Diversion w/pixelserv-tls, Skynet, Scribe, uiDivstats, and uiScribe. I looked at the upgradable packages' dependencies, and decided on the following procedure:

1. Stopped entware, then did update and upgrade:
/opt/etc/init.d/rc.unslung stop
opkg update
opkg upgrade

2. Reinstalled each of the following packages using "opkg --force-reinstall install [pkg-name]", in the order listed:
libcurl
bind-libs
bind-dig
syslog-ng
pixelserv-tls

3. Restarted entware
/opt/etc/init.d/rc.unslung start

4. Opened Diversion (pixelserv-tls was not running), used ep,4 to restart pixelserv-tls and it started fine.

Everything working perfectly. Scribe "s- Show status" and "rs- Restart syslog-ng" return all green. All syslog-ng logs are being fed correctly, and logrotate is working. Skynet, Diversion, and pixelserv-tls are working, and no errors being logged from pixelserve-tls. The uiDivstats and uiScribe pages work correctly (including manual update) in webui. All scheduled jobs are firing correctly.

Gave it a couple hours, then did a reboot to make sure everything loaded correctly at boot (and it did). Been working smoothly for 48+ hours now.

Thanks to everyone who shared the issues they had, as that helped me engineer a procedure that avoided problems. It all went very smoothly, done in less than 10 minutes. Of course, I made a full tar backup AND an image of the flash drive before I started. It always pays to be prepared! :cool:
 
Last edited:
You could always buy another one, I guess? LOL
I guess that's supposed to be funny.. The router runs just fine with only Skynet running so thats what I'm doing. If I install Diversion and Entware, everything goes to s*** so I'm staying away until there's an update to fix whatever is wrong.
 
Just sharing my experience in case it might help someone...

I am running Diversion w/pixelserv-tls, Skynet, Scribe, uiDivstats, and uiScribe. I looked at the upgradable packages' dependencies, and decided on the following procedure:

1. Stopped entware, then did update and upgrade:
/opt/etc/init.d/rc.unslung stop
opkg update
opkg upgrade

2. Reinstalled each of the following packages using "opkg --force-reinstall install [pkg-name]", in the order listed:
libcurl
bind-libs
bind-dig
syslog-ng
pixelserv-tls

3. Restarted entware
/opt/etc/init.d/rc.unslung start

4. Opened Diversion (pixelserv-tls was not running), used ep,4 to restart pixelserv-tls and it started fine.

Everything working perfectly. Scribe "s- Show status" and "rs- Restart syslog-ng" return all green. All syslog-ng logs are being fed correctly, and logrotate is working. Skynet, Diversion, and pixelserv-tls are working, and no errors being logged from pixelserve-tls. The uiDivstats and uiScribe pages work correctly (including manual update) in webui. All scheduled jobs are firing correctly.

Gave it a couple hours, then did a reboot to make sure everything loaded correctly at boot (and it did). Been working smoothly for 48+ hours now.

Thanks to everyone who shared the issues they had, as that helped me engineer a procedure that avoided problems. It all went very smoothly, done in less than 10 minutes. Of course, I made a full tar backup AND an image of the flash drive before I started. It always pays to be prepared! :cool:

I'll try this later on and see where I get.
 
I guess that's supposed to be funny.
Get your tickets now! I've got 2 shows daily... my comedy routine is on fire!

1671857108931-png.46604

RTRHTR v1.1 is out now!
 
Just sharing my experience in case it might help someone...

I am running Diversion w/pixelserv-tls, Skynet, Scribe, uiDivstats, and uiScribe. I looked at the upgradable packages' dependencies, and decided on the following procedure:

1. Stopped entware, then did update and upgrade:
/opt/etc/init.d/rc.unslung stop
opkg update
opkg upgrade

2. Reinstalled each of the following packages using "opkg --force-reinstall install [pkg-name]", in the order listed:
libcurl
bind-libs
bind-dig
syslog-ng
pixelserv-tls

3. Restarted entware
/opt/etc/init.d/rc.unslung start

4. Opened Diversion (pixelserv-tls was not running), used ep,4 to restart pixelserv-tls and it started fine.

Everything working perfectly. Scribe "s- Show status" and "rs- Restart syslog-ng" return all green. All syslog-ng logs are being fed correctly, and logrotate is working. Skynet, Diversion, and pixelserv-tls are working, and no errors being logged from pixelserve-tls. The uiDivstats and uiScribe pages work correctly (including manual update) in webui. All scheduled jobs are firing correctly.

Gave it a couple hours, then did a reboot to make sure everything loaded correctly at boot (and it did). Been working smoothly for 48+ hours now.

Thanks to everyone who shared the issues they had, as that helped me engineer a procedure that avoided problems. It all went very smoothly, done in less than 10 minutes. Of course, I made a full tar backup AND an image of the flash drive before I started. It always pays to be prepared! :cool:

I stumbled on this same solution - ironically I had been in this thread but somehow missed your post. LOL.

I first noticed problem with scribe... stumbled around a bit then noticed that WTF no syslogd... and then took me a while to notice (in the NOW WORKING syslog LOL) that ntpd wouldn't start. Took until this morning to connect the dots that these were all the same problem.

The only tip I would add to your process would be to run
Code:
opkg whatdepends libopenssl
to find what on your install needs to be updated. So to update your procedure list:
  1. Check what needs to be force reinstalled: opkg whatdepends libopenssl
  2. Stop entware processes: /opt/etc/init.d/rc.unslung stop
  3. Update/upgrade: opkg update ; opkg upgrade
  4. Reinstall all packages: opkg --force-reinstall install name
  5. Restart entware: /opt/etc/init.d/rc.unslung start

Yes somebody could write up a quick script to do that all automagically... I thought about it but didn't bother. If this turns out to be a consistent issue maybe I will.

I agree this doesn't seem to be lonelycoder issue at all, its an Entware fault in not flagging all those other packages as requiring update after libopenssl was significantly updated.
 
The only tip I would add to your process would be to run
Code:
opkg whatdepends libopenssl
to find what on your install needs to be updated. So to update your procedure list:
  1. Check what needs to be force reinstalled: opkg whatdepends libopenssl
  2. Stop entware processes: /opt/etc/init.d/rc.unslung stop
  3. Update/upgrade: opkg update ; opkg upgrade
  4. Reinstall all packages: opkg --force-reinstall install name
  5. Restart entware: /opt/etc/init.d/rc.unslung start

Yes somebody could write up a quick script to do that all automagically... I thought about it but didn't bother. If this turns out to be a consistent issue maybe I will.

I agree this doesn't seem to be lonelycoder issue at all, its an Entware fault in not flagging all those other packages as requiring update after libopenssl was significantly updated.
OMG... thanks so much for that nugget! I never knew about the "whatdepends" switch!
 
@vibroverbus - I decided to write it, :)


Bash:
#!/bin/sh -

/opt/etc/init.d/rc.unslung stop
opkg update
opkg upgrade

pk="$(opkg whatdepends libopenssl | grep "\." | awk '{ print ( $1 ) }')"

for i in $pk
do
    printf "\nReinstalling $i\n"
    opkg --force-reinstall install $i
done

/opt/etc/init.d/rc.unslung start

# eof
 
Last edited:
@vibroverbus - I decided to write it, :)


Bash:
#!/bin/sh -

/opt/etc/init.d/rc.unslung stop
opkg update
opkg upgrade

pk="$(opkg whatdepends libopenssl | grep "\." | awk '{ print ( $1 ) }')"

for i in $pk
do
    printf "\nReinstalling $i\n"
    opkg --force-reinstall install $i
done

/opt/etc/init.d/rc.unslung start

# eof
well done sir. I see your script, and raise it an argument, help, and error checking. 😁

Bash:
#!/bin/sh -
#

Halp()
{
   # Display Help
   echo "usage: $(basename "$0") [OPTIONS] package"
   echo "options:"
   echo "-h, -?    Print this Help."
   echo
   echo "Force-reinstall entware packages dependent on specified package."
   echo "NOTE: All entware services will be stopped and restarted"
   echo "A full update/upgrade will also be run so other packages may update as well"
   echo
}

# check args
if [ $# -lt 1 ] ; then
    echo "$(basename "$0") must have one argument"
    Halp
    exit
else
    while :; do
        case $1 in
            -h|-?|-*) #no other valid options at this time
                Halp
                exit
                ;;
            *)
            if ! opkg list-installed $1 | grep -q $1 ; then
               echo "$1 is not an installed package"
               exit
            else
               targetpkg=$1
               echo "Target package $targetpkg is installed. Proceeding."
            fi
            break
                ;;
        esac
        shift
    done
fi

# stop ew services
/opt/etc/init.d/rc.unslung stop
# update/upgrade ew
opkg update
opkg upgrade
# find depends & force reinstall
pk="$(opkg whatdepends $targetpkg | grep "\." | awk '{ print ( $1 ) }')"
for i in $pk
do
    printf "\nReinstalling $i\n"
    opkg --force-reinstall install $i
done

# restart ew services
/opt/etc/init.d/rc.unslung start

# eof
 
well done sir. I see your script, and raise it an argument, help, and error checking. 😁

Bash:
#!/bin/sh -
#
....
Here's another version with a couple of more checks to make sure things are where & how we expect them to be.
Bash:
#!/bin/sh -
#
set -u

Help()
{
   # Display Help
   echo "usage: $(basename "$0") [OPTIONS] package"
   echo "options:"
   echo "-h, -?    Print this Help."
   echo
   echo "Force-reinstall entware packages dependent on specified package."
   echo "NOTE: All entware services will be stopped and restarted"
   echo "A full update/upgrade will also be run so other packages may update as well"
   echo
}

if [ ! -x "/opt/bin/opkg" ] || [ ! -x "/opt/etc/init.d/rc.unslung" ]
then echo "Entware is *NOT* installed/found. Nothing to do." ; exit 1
fi

# check args
if [ $# -lt 1 ] ; then
    echo "$(basename "$0") must have one argument"
    Help
    exit
else
    while :; do
        case $1 in
            -h|-?|-*) #no other valid options at this time
                Help
                exit
                ;;
            *)
            if ! /opt/bin/opkg list-installed "$1" | grep -q "$1" ; then
               echo "$1 is not an installed package"
               exit
            else
               targetpkg="$1"
               echo "Target package $targetpkg is installed. Proceeding."
            fi
            break
                ;;
        esac
        shift
    done
fi

OPTinitd="/opt/etc/init.d"
servicesCount="$(/usr/bin/find "$OPTinitd" -name "S*" -exec ls -1 {} \; 2>/dev/null | /bin/grep -cE "${OPTinitd}/S[0-9]+")"

if [ "$servicesCount" -gt 0 ]
then
    printf "\nStopping Entware services... Please wait.\n"
    /opt/etc/init.d/rc.unslung stop ; sleep 3
    echo
else
    printf "\nNo Entware services found.\n\n"
fi

# update/upgrade ew
/opt/bin/opkg update
/opt/bin/opkg upgrade

# find depends & force reinstall
pk="$(/opt/bin/opkg whatdepends $targetpkg | grep "\." | awk '{ print ( $1 ) }')"
for i in $pk
do
    printf "\nReinstalling $i\n"
    /opt/bin/opkg --force-reinstall install $i
done

if [ "$servicesCount" -gt 0 ]
then
    printf "\nStarting Entware services... Please wait.\n"
    /opt/etc/init.d/rc.unslung start ; sleep 3
fi

printf "\nDone.\n"

# eof #
 
nice.
 
Bigger issue is it seems curl is broken for the same reason.
Maybe git as well.

EDIT: Yes as of this posting both curl and git are throwing the same error. FANTASTIC
I shudder to think of when this will be fixed. Already going on almost 3 weeks.

 
Last edited:
Bigger issue is it seems curl is broken for the same reason.
Maybe git as well.

EDIT: Yes as of this posting both curl and git are throwing the same error. FANTASTIC
I shudder to think of when this will be fixed. Already going on almost 3 weeks.

Any version of the script above "should" fix curl and git. I don't use git on the router, but my curl doesn't throw an error after using the script.
 
It looks like NUT is also affected. None of the solutions here has solved the issue for nut-upsmon.

Still get the following error: I have uninstalled, re-installed, forced, used hacks in this thread. Still down.

Code:
upsmon: error while loading shared libraries: libssl.so.1.1: wrong ELF class: ELFCLASS32

Entware sure did mess this up.
 
It looks like NUT is also affected. None of the solutions here has solved the issue for nut-upsmon.

Still get the following error: I have uninstalled, re-installed, forced, used hacks in this thread. Still down.

Code:
upsmon: error while loading shared libraries: libssl.so.1.1: wrong ELF class: ELFCLASS32

Entware sure did mess this up.
That *may* not be entirely Entware's issue. If NUT is still puking after running the script, and you've tried force-reinstalling nut-upsmon that means something that NUT depends on is not properly registering its dependence on libopenssl. What does '/opt/bin/opkg depends nut-upsmon' give you?
 

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