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: RESOLVED FIXED
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: 2023-10-13 14:00 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.
Comment 3 Jaco Kroon 2023-02-24 04:37:56 UTC
Just to add to this, it looks like the rp-pppoe from the rp-pppoe package itself will be going away going forward, so previous advise on installing rp-pppoe to obtain the plugin will most likely from version 3.16 of rp-pppoe no longer be valid.

This has been quite a debate between ppp and rp-pppoe projects, and upon code inspection (by myself), the pppoe plugin in the ppp project and the rp-pppoe plugin from rp-pppoe are very much similar and are essentially the same module.  Most important, the OPTIONS they expose are identical, and the functioning of the two have diverged slightly (most code refactoring so it LOOKS different but it still WORKS the same).

It's highly recommended that networkmanager is updated to use "plugin pppoe" and not "plugin rp-pppoe", even if that has to be patched in Gentoo side until upstream catches up.
Comment 4 Jaco Kroon 2023-10-13 14:00:51 UTC
I believe this has been adequately sorted out now.