• Building Synchronet with SSH (libcl.a)

    From JORDANJM@VERT to ALL on Wed Sep 10 20:59:38 2025
    Hello,

    I'm trying to build Synchronet with SSH support.
    I see libcl.a being builf but SSH doesn't start, or bind to port. Telnet binds to port 23, as expected.

    ~/sbbs/exec$ ldd sbbs
    linux-vdso.so.1 (0x000076f813a5a000)
    libsbbs.so => /opt/sbbs/sbbs/exec/libsbbs.so (0x000076f812200000)
    libftpsrvr.so => /opt/sbbs/sbbs/exec/libftpsrvr.so (0x000076f8139ef000)
    libwebsrvr.so => /opt/sbbs/sbbs/exec/libwebsrvr.so (0x000076f8139ad000)
    libmailsrvr.so => /opt/sbbs/sbbs/exec/libmailsrvr.so (0x000076f81396e000)
    libservices.so => /opt/sbbs/sbbs/exec/libservices.so (0x000076f813944000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x000076f811e00000)
    libnspr4.so => /lib/x86_64-linux-gnu/libnspr4.so (0x000076f8138f7000)
    libarchive.so.13 => /lib/x86_64-linux-gnu/libarchive.so.13 (0x000076f81212c000)
    libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x000076f811a00000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x000076f81203f000)
    libmvec.so.1 => /lib/x86_64-linux-gnu/libmvec.so.1 (0x000076f811d07000)
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x000076f8138c7000)
    /lib64/ld-linux-x86-64.so.2 (0x000076f813a5c000)
    libnettle.so.8 => /lib/x86_64-linux-gnu/libnettle.so.8 (0x000076f813872000)
    libacl.so.1 => /lib/x86_64-linux-gnu/libacl.so.1 (0x000076f813868000)
    liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x000076f811cd3000)
    libzstd.so.1 => /lib/x86_64-linux-gnu/libzstd.so.1 (0x000076f811942000)
    liblz4.so.1 => /lib/x86_64-linux-gnu/liblz4.so.1 (0x000076f811cb1000)
    libbz2.so.1.0 => /lib/x86_64-linux-gnu/libbz2.so.1.0 (0x000076f812029000)
    libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x000076f811c93000)
    libxml2.so.2 => /lib/x86_64-linux-gnu/libxml2.so.2 (0x000076f8117b3000)
    libxxhash.so.0 => /lib/x86_64-linux-gnu/libxxhash.so.0 (0x000076f811c80000)
    libicuuc.so.74 => /lib/x86_64-linux-gnu/libicuuc.so.74 (0x000076f811400000)
    libicudata.so.74 => /lib/x86_64-linux-gnu/libicudata.so.74 (0x000076f80f600000)

    I have checked and the libcl.a is not linking to the executable.
    I'm building on Ubuntu 24.10.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Digital Man@VERT to JORDANJM on Wed Sep 10 23:53:16 2025
    Re: Building Synchronet with SSH (libcl.a)
    By: JORDANJM to ALL on Wed Sep 10 2025 08:59 pm

    Head's up: you're posting directly here using a QWKnet account, not your "regular" user account on Vertrauen (Jordanjm42) that you created.

    I'm trying to build Synchronet with SSH support.
    I see libcl.a being builf but SSH doesn't start, or bind to port.

    Does sbbs display or log an error binding to the configured SSH port?

    I have checked and the libcl.a is not linking to the executable.

    ldd wouldn't show you that.

    I'm building on Ubuntu 24.10.

    ldd shows dynamically linked shared objects (*.so files), not static link libraries (*.a files) - so that is normal.
    --
    digital man (rob)

    Steven Wright quote #20:
    If Barbie is so popular, why do you have to buy her friends?
    Norco, CA WX: 64.1øF, 84.0% humidity, 1 mph NW wind, 0.00 inches rain/24hrs
    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Jordanjm42@VERT to Digital Man on Thu Sep 11 20:16:36 2025
    Ive watched sbbs run, there is no attempt to bind to port.
    I've checked all the logs I could find with the same result, nothing indicating an issue. This leaves me to believe the Terminal server is not attempting to bind to the ssh port.

    make -f install-sbbs.mk SYMLINK=1 works
    I tried: make -f install-sbbs.mk SYMLINK=1 STATIC=1 which failed with relocation R_X86_64_32 against hidden symbol `__TMC_END__' can not be used when making a shared object


    libcl.a is built in /opt/sbbs/repo/3rdp/build

    gcc --version  GCC 14.x
    gcc (Ubuntu 14.2.0-4ubuntu2) 14.2.0
    Copyright (C) 2024 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


    sudo apt install -y build-essential git wget libssl-dev libcrypto++-dev \
    libncurses-dev zlib1g-dev libbz2-dev liblzma-dev \
    libarchive-dev libicu-dev libxml2-dev nettle-dev

    (Note: installer originally tried libnettle-dev, but on Ubuntu 24.04/25.04
    it's replaced by nettle-dev.)

    I believe since these do not show results, that libcl.a isn't being built in. nm -A sbbs | grep cl_
    objdump -t sbbs | grep cl_

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Jordanjm42@VERT to Digital Man on Thu Sep 11 20:17:25 2025
    also, if there is output you want to see, just let me know and I'll be glad to look it up and share.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Digital Man@VERT to Jordanjm42 on Thu Sep 11 22:54:43 2025
    Re: Building Synchronet with SSH (libcl.a)
    By: Jordanjm42 to Digital Man on Thu Sep 11 2025 08:16 pm

    Ive watched sbbs run, there is no attempt to bind to port.

    Are you sure about that? If Telnet and RLogin are working, then you'd see the attempts to bind to *those* ports. And if you have SSH enabled (which is enabled by default), then you'd see it attempting to bind to *that* port too, like this:

    2025-09-09T13:33:54.256530-07:00 git sbbs: term Initializing on Tue Sep 9 13:33:54 2025 with options: 13020
    2025-09-09T13:33:54.256581-07:00 git sbbs: term Loading configuration files from /sbbs/ctrl
    2025-09-09T13:33:54.533201-07:00 git sbbs: term Telnet Server listening on socket 71.95.196.36 port 23
    2025-09-09T13:33:54.792812-07:00 git sbbs: term RLogin Server listening on socket 2600:6c88:8c40:5b::5bb5 port 513
    2025-09-09T13:33:54.904038-07:00 git sbbs: term SSH Server listening on socket 127.0.0.1 port 22

    I've checked all the logs I could find with the same result, nothing indicating an issue. This leaves me to believe the Terminal server is not attempting to bind to the ssh port.

    Only if you have SSH listening disabled for some reason.

    (Note: installer originally tried libnettle-dev, but on Ubuntu 24.04/25.04 it's replaced by nettle-dev.)

    I believe since these do not show results, that libcl.a isn't being built in. nm -A sbbs | grep cl_
    objdump -t sbbs | grep cl_

    You're on the wrong the track. Just look more closely at the log or console output from sbbs and your configuration in SCFG->Servers->Terminal Server and the output of 'netstat -l' or 'ss -l'.
    https://wiki.synchro.net/monitor:index
    --
    digital man (rob)

    Rush quote #36:
    Raging at unreachable glory, straining at invisible chains
    Norco, CA WX: 64.7øF, 83.0% humidity, 2 mph NW wind, 0.00 inches rain/24hrs
    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Digital Man@VERT to Jordanjm42 on Thu Sep 11 22:55:13 2025
    Re: Building Synchronet with SSH (libcl.a)
    By: Jordanjm42 to Digital Man on Thu Sep 11 2025 08:17 pm

    also, if there is output you want to see, just let me know and I'll be glad to look it up and share.

    The console or log output of the sbbs terminal server when it first starts up. --
    digital man (rob)

    Synchronet/BBS Terminology Definition #73:
    SIGHUP = Hangup signal sent to a process when its controlling terminal is closed
    Norco, CA WX: 64.7øF, 83.0% humidity, 2 mph NW wind, 0.00 inches rain/24hrs
    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net