Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
mitzone opened this issue Oct 15, 2017 · 9 comments

Comments

@mitzone
Copy link

mitzone commented Oct 15, 2017

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

@alllexx88
Copy link
Collaborator

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
Copy link
Author

mitzone commented Oct 15, 2017

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
Copy link
Collaborator

alllexx88 commented Oct 16, 2017

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
Copy link
Author

mitzone commented Oct 16, 2017 via email

@alllexx88
Copy link
Collaborator

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
Copy link
Author

mitzone commented Oct 16, 2017 via email

@alllexx88
Copy link
Collaborator

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
Copy link
Author

mitzone commented Oct 16, 2017

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
Copy link
Collaborator

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 😃

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants