4

I upgraded to Ubuntu 12.04 today and when I was about to login to my ftp (which is running vsftpd) i got an error:

libgcc_s.so.1 must be installed for pthread_cancel to work

I have upgraded and updated everything I can find. Don't know whats wrong...

Here is someone else with the same error: http://ubuntuforums.org/showthread.php?t=1937131

No one?! Really need some help :(

4 Answers 4

2

The bug seems unsolved to the date (oct 30). Switch to proftpd instead. It is not difficult to migrate the user database from vsftpd into proftpd.

At least is what I had to do in order to have my server up an running again (and asap)!

2

This might work: sudo apt-get install libgcc1-dbg.

4
  • but there again, it might not. Do you know, or are you guessing?
    – graham
    Jul 22, 2015 at 11:04
  • I got this error while I was writing a multi-threaded server program with multiple instances running each handling 1000 client connections (one per thread). After around 6000 connection it gave this error. Then I solved it the above way. I'm using Kubuntu 14.04. Jul 22, 2015 at 11:16
  • Thank you for clarifying. It always help to inspire confidence in the quality of your response.
    – graham
    Jul 22, 2015 at 11:27
  • 1
    @RahulBhartari edit your answer to put your comment into it.
    – guntbert
    Jul 22, 2015 at 21:37
1

I had the same problem, running vsftpd on Ubuntu 13.10, and none of the suggestions worked.

After a lot of googleing, I stumbled upon the same issue in the Redhat Bugzilla

Their solution, which worked for me: recompile the vsftpd package after modifying the source file defs.h (the DEFINE VSFTP_AS_LIMIT has to be changed to the value "400UL * 1024 * 1024"). I don't claim to understand what that does, but now everything works perfectly for me.

To recompile the package, follow these steps (this is for Ubuntu 13.10, but should work similar for other releases):

  1. add source repositories to /etc/apt/sources.list by adding the line deb-src http://archive.ubuntu.com/ubuntu saucy main universe restricted
  2. Update the package lists: sudo apt-get update
  3. Install some utilities needed for compiling stuff: sudo apt-get install fakeroot build-essential
  4. Get everything that is needed for compiling vsftpd: sudo apt-get build-dep vsftpd
  5. Get the vsftpd sources: apt-get source vsftpd (this works as a non-root user)
  6. Change VSFTP_AS_LIMIT in the defs.h file to the value 400UL * 1024 * 1024
  7. Commit the changes, or compile will fail: dpkg-source --commit. This will create a new patch file. You are then prompted to enter a name and info for that post.
  8. Re-build vsftpd: fakeroot buildpackage. It should compile, and there should be a new .deb-file created.
  9. Install this newly created package: dpkg --install vsftpd_3.0.2-1ubuntu2_amd64.deb (change the file name accordingly)

That's it, worked for me. It might be a good idea to put that package on hold so it will not be overwritten when a new official package is released by the Ubuntu team.

Update: I just tried this on Ubuntu 12.04 LTS, worked as well.

1
0
  1. Install: libpam-ldap
    You'll now get this error:
    500 OOPS: vsftpd: refusing to run with writable root inside chroot()

Because of this update in v2.3.4:

  • Add stronger checks for the configuration error of running with a writeable root directory inside a chroot(). This may bite people who carelessly turned on chroot_local_user but such is life.
  1. Solutions:
    2.1. Remove write access to root directory
    2.2. Or downgrade to an older version. 2.3.2 can be found here.
1
  • How is this answer related to the original question about vsftpd and ligcc_s/pthread? Jan 10, 2015 at 20:18

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .