Optware / Optware-ng

279 stars 52 forks source link

Segmentation fault when running ipkg after updating to latest glibc-opt_2.25-1_i686.ipk #219

Closed mitzone closed 6 years ago

mitzone commented 6 years ago

Using ipkg bootstrap on a syno i686. Thanks, Mihai.

alllexx88 commented 6 years ago

Hi Mihai,

ipkg is a static binary, so it doesn't depend on glibc-opt, or any other shared libraries, so glibc-opt version doesn't matter at all here. ipkg should work on any x86 (or x86_64) Linux 3.2+ (what's the output of uname -a on your box?). Also, if it worked prior to the upgrade, I don't see how any library upgrade could break ipkg. btw, I have an Intel Syno too (DS412+), and I'm not experiencing any segfaults.

Alex

mitzone commented 6 years ago

Hello, Thanks for your reply. I manually installed libnsl - 2.21-3 and glibc-opt - 2.21-4. Keeping those at this version does not brake things.

Here's the output f uname -a:

Linux corevault-1 3.10.102 #15152 SMP Fri Oct 6 18:13:57 CST 2017 x86_64 GNU/Linux synology_bromolow_3615xs

Also, I attached the list of packages currently installed. Everything works fine. I'll test an ipkg upgrade tomorrow and will let you know. Any idea if ldd will be available?

installed_working.txt

alllexx88 commented 6 years ago

Mihai,

Can you please be more specific as to what segfaults exactly? Like I said, ipkg doesn't rely on libnsl or glibc-opt, so it's not ipkg, right? Some other package? Nothing segfaults on my side.

ldd is available in the feeds: it's a bash script for glibc targets.

Alex

mitzone commented 6 years ago

If I install libnsl and glibc-opt (latest versions available) then just by running ipkg with no options, I get a Segmentation fault (core dumped) error. As I said, I installed the previous N-1 versions of those 2 packages and it's working as expected.

Maybe it's just on my side if noone but me said anything until now. Cheers, Mihai.

On 16 October 2017 at 14:07, alllexx88 notifications@github.com wrote:

Mohai,

Can you please be more specific as to what segfaults exactly? Like I said, ipkg doesn't rely on libnsl or glibc-opt, so it's not ipkg, right? Some other package? Nothing segfaults on my side.

ldd is available in the feeds: it's a bash script for glibc targets.

Alex

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/Optware/Optware-ng/issues/219#issuecomment-336854731, or mute the thread https://github.com/notifications/unsubscribe-auth/AI03y_yHmNeHCZSPgi9IzCm7E3_2ETxTks5sszkLgaJpZM4P5qUZ .

alllexx88 commented 6 years ago

Hm, looks like you're using some dynamically linked ipkg. Maybe, it's old Optware ipkg? Let's try the current bootstrap script:

wget -O - http://ipkg.nslu2-linux.org/optware-ng/bootstrap/buildroot-i686-bootstrap.sh | sh

It installs static ipkg:

# file /opt/bin/ipkg
/opt/bin/ipkg: ELF 32-bit LSB executable, Intel 80386, version 1 (GNU/Linux), statically linked, for GNU/Linux 2.6.32, stripped
mitzone commented 6 years ago

I think you are corect. I have a bootstrap script I always used. I just changed the sources to point to yours after the script ran. I'll give it a go and will let you know. Thanks, Mihai.

On 16 October 2017 at 15:35, alllexx88 notifications@github.com wrote:

Hm, looks like you're using some dynamically linked ipkg. Maybe, it's old Optware ipkg? Let's try the current bootstrap script:

wget -O - http://ipkg.nslu2-linux.org/optware-ng/bootstrap/buildroot-i686-bootstrap.sh | sh

It installs static ipkg:

file /opt/bin/ipkg

/opt/bin/ipkg: ELF 32-bit LSB executable, Intel 80386, version 1 (GNU/Linux), statically linked, for GNU/Linux 2.6.32, stripped

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/Optware/Optware-ng/issues/219#issuecomment-336873342, or mute the thread https://github.com/notifications/unsubscribe-auth/AI03y2M8IOKVuDqeWQt8UqkGI14pFw4hks5ss02vgaJpZM4P5qUZ .

alllexx88 commented 6 years ago

It's OK to use old Optware bootstrap script to do platform-specific things (like adding rc scenario to mount /volume1/@optware as /opt that syno-i686 bootstrap script does), but you should run Optware-ng bootstrap afterwards, which simply unpacks Optware-ng static ipkg (which is opkg actually) to /opt.

mitzone commented 6 years ago

Hello, I confirm that using the old script, then the new one fixes it. Those are the steps I followed, maybe those will help others as well :

  1. Ran the script located here http://ipkg.nslu2-linux.org/feeds/optware/syno-i686/cross/unstable/syno-i686-bootstrap_1.2-7_i686.xsh That makes sure /etc/rc.local gets updated, /opt is mounted at boot, etc, things specific to syno
  2. Ran the new script located at http://ipkg.nslu2-linux.org/optware-ng/bootstrap/buildroot-i686-bootstrap.sh
  3. Edit /opt/etc/ipkg/cross-feed.conf and delete the old sources.
  4. Ran ipkg update, made sure only optware-ng sources are used.
  5. Installed my ipkg packages.

Thanks again for your help.

alllexx88 commented 6 years ago

Hi Mihai,

Your steps look god except that step 3. is not needed: /opt/etc/ipkg/cross-feed.conf is not used, you can either ignore it, or delete it altogether.

You're welcome 😃