Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 831354 - net-dialup/ppp: cannot find rp-pppoe.so
Summary: net-dialup/ppp: cannot find rp-pppoe.so
Status: CONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: Normal normal (vote)
Assignee: Gentoo Linux Gnome Desktop Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-01-17 12:14 UTC by Tim Mohlmann
Modified: 2022-01-17 13:21 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
emerge --info net-dialup/ppp (file_831354.txt,16.73 KB, text/plain)
2022-01-17 12:14 UTC, Tim Mohlmann
Details
journalctl -u NetworkManager.service -f (file_831354.txt,1.42 KB, text/plain)
2022-01-17 12:16 UTC, Tim Mohlmann
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Tim Mohlmann 2022-01-17 12:14:15 UTC
Created attachment 762396 [details]
emerge --info net-dialup/ppp

While using net-misc/networkmanager for a PPPoE connection, 
the connection fails. The output of logs shows:

# journalctl -u NetworkManager.service -f
Jan 17 13:45:27 rog NetworkManager[934]: <info>  [1642419927.4882] ppp-manager: pppd started with pid 3272
Jan 17 13:45:27 rog NetworkManager[3272]: /usr/sbin/pppd: /usr/lib64/pppd/2.4.9/rp-pppoe.so: cannot open shared object file: No such file or directory
Jan 17 13:45:27 rog NetworkManager[3272]: /usr/sbin/pppd: Couldn't load plugin rp-pppoe.so
Jan 17 13:45:27 rog pppd[3272]: /usr/lib64/pppd/2.4.9/rp-pppoe.so: cannot open shared object file: No such file or directory
Jan 17 13:45:27 rog NetworkManager[934]: <warn>  [1642419927.4921] ppp-manager: pppd pid 3272 exited with error 2: pppd options error
Jan 17 13:45:27 rog pppd[3272]: Couldn't load plugin rp-pppoe.so
Jan 17 13:45:27 rog NetworkManager[934]: <info>  [1642419927.4922] device (enp4s0): state change: ip-config -> failed (reason 'ppp-failed', sys-iface-state: 'managed')
Jan 17 13:45:27 rog NetworkManager[934]: <info>  [1642419927.4927] manager: NetworkManager state is now CONNECTED_LOCAL
Jan 17 13:45:27 rog NetworkManager[934]: <warn>  [1642419927.4929] device (enp4s0): Activation: failed for connection 'New pppoe connection'
Jan 17 13:45:27 rog NetworkManager[934]: <info>  [1642419927.4935] device (enp4s0): state change: failed -> disconnected (reason 'none', sys-iface-state: 'managed')
Jan 17 13:45:33 rog NetworkManager[934]: <info>  [1642419933.4894] device (enp4s0): state change: disconnected -> unavailable (reason 'carrier-changed', sys-iface-state: 'managed')


Indeed, this file does not exist:

$ ls /usr/lib64/pppd/2.4.9/rp-pppoe.so
ls: cannot access '/usr/lib64/pppd/2.4.9/rp-pppoe.so': No such file or directory

I've re-merged net-dialup/ppp and this gives the hint:

 * Messages for package net-dialup/ppp-2.4.9-r5:
 * Log file: /var/tmp/portage/logs/net-dialup:ppp-2.4.9-r5:20220117-120814.log
...
 * "rp-pppoe.so" plugin has been renamed to "pppoe.so"

So the shared object is renamed within the package, but the executable pppd still point to the old file.

As a workaround, I created a symlink:

# cd /usr/lib64/pppd/2.4.9/
# ln -s pppoe.so rp-pppoe.so

PPPoE started to work again.
Comment 1 Tim Mohlmann 2022-01-17 12:16:24 UTC
Created attachment 762397 [details]
journalctl -u NetworkManager.service -f

Attaching the logs for better readability
Comment 2 Jaco Kroon 2022-01-17 13:21:28 UTC
net-dialup/ppp renamed the plugin to pppoe.so to avoid conflicts with net-dialup/rp-pppoe.

This was an upstream change.

```commit 610a7bd76eb1f99f22317541b35001b1e24877ed
Author: pali <7141871+pali@users.noreply.github.com>
Date:   Fri Jul 30 05:29:01 2021 +0200

    pppoe: Remove rp-pppoe.so symlink to not conflict with real rp-pppoe.so plugin (#304)
    
    Backward compatibility symlink is there already for one ppp release. Remove
    it for next ppp release to not conflict with real rp-pppoe.so plugin. So
    both ppp's pppoe.so and rp's rp-pppoe.so plugins can be installed together.
    
    Now when conversion to automake was done, it is a good time to drop this
    problematic symlink from default installation.
    
    Signed-off-by: Pali Rohár <pali@kernel.org>

```

If you *really* want (or need) the rp-pppoe plugin version, merge >=net-dialup/rp-pppoe-3.15-r1.  I would state that the pppoe.so that ships with pppd is just fine, it was (from what I can infer) forked from the original rp-pppoe.so plugin anyway.  rp-pppoe package seems like a one-person show at this point, with myself possibly being the only other submitter of patches (infrequent) at this stage.  The ONLY component from rp-pppoe package which in my opinion is really still needed is the server component.

If there is documentation stating that pppoe connections should set plugin rp-pppoe.so then we better fix that to just state plugin pppoe.so

Possibly (probably) net-misc/networkmanager needs some fixing to reference pppoe.so instead of rp-pppoe.so?  Specifically:

src/core/ppp/nm-ppp-manager.c requires s/rp-pppoe/pppoe/ to be actioned against it from what I've read of the code.

I don't use networkmanager so cannot assist beyond that.  Towards that, I'm also dropping myself from CC.

I do not believe any changes to net-dialup/ppp nor net-dialup/rp-pppoe is required.  It's networkmanager that should be fixed.  I'm marking this to confirmed due to code inspection.