Attention is currently required from: Timur Davydov, laforge, neels. pespin has posted comments on this change by Timur Davydov. ( https://gerrit.osmocom.org/c/libosmocore/+/41813?usp=email )
Change subject: Add Emscripten build support and JS callback logging backend ...................................................................... Patch Set 7: (8 comments) Commit Message: https://gerrit.osmocom.org/c/libosmocore/+/41813/comment/30386498_18ab323e?usp=email : PS5, Line 7: Add Emscripten build support and JS callback logging backend > Thanks for pointing this out. […] I'm still lacking a rationale here on why do you want to run libosmocore on a web environment. Can you explain what's your exact final aim? what are you trying to exactly accomplish with this? You want to run eg. osmo-sgsn on a web browser? What's the benefit of running osmo-sgsn in a browser instead of directly on linux? Please understand I need to understand the big picture before being able to figure out whether this patch is the correct step towards that approach. File src/core/Makefile.am: https://gerrit.osmocom.org/c/libosmocore/+/41813/comment/ed7d6e4c_38b04362?usp=email : PS7, Line 49: logging_emscripten.c \ You need to add it conditionally based on the autoconf variable. File src/core/logging_emscripten.c: https://gerrit.osmocom.org/c/libosmocore/+/41813/comment/f33f3ed8_9f6c2d44?usp=email : PS7, Line 24: /*! \addtogroup logging This file should actually not even compiled in whenever not building for EMSCRIPTEN. You need to add it conditionally in src/core/Makefile.am based on the autoconf variable. Then you can remove the "if defined(__EMSCRIPTEN__) from this file". File src/core/netdev.c: https://gerrit.osmocom.org/c/libosmocore/+/41813/comment/0e031e8f_60eeccc2?usp=email : PS5, Line 67: #if (!EMBEDDED) && !defined(__EMSCRIPTEN__) > Fully agree, that's cleaner and more in line with the rest of the library. […] Do you mind sharing why can't you compile netdev.c in emscripten? due to some API not available? Then I'd prefer testing for that culprit in configure.ac and disable build of netdev based on that here maybe. Let's first figure out what's blocking you from adding it. File src/core/socket.c: https://gerrit.osmocom.org/c/libosmocore/+/41813/comment/1573951b_947db1c1?usp=email : PS5, Line 2050: #ifdef HAVE_LIBSCTP > Explained in the comment for the function > `osmo_sock_multiaddr_get_ip_and_port` Submit a new separate patch with proper description of the problem and the fix. https://gerrit.osmocom.org/c/libosmocore/+/41813/comment/ad16e25a_28cc9b5d?usp=email : PS5, Line 1928: #ifdef HAVE_LIBSCTP > However, libosmo-netif uses some of them without the same HAVE_LIBSCTP guards Do you mind sharing where does that happen? this should be fixed. IIRC we do test the "no libsctp" configuration in jenkins builds. In any case, please submit separate patches for each of those problems, so we can discuss them independently. File src/core/socket.c: https://gerrit.osmocom.org/c/libosmocore/+/41813/comment/1b558d89_a4bbf348?usp=email : PS7, Line 1698: #if defined(__linux__) || defined(__EMSCRIPTEN__) this is becoming more complex, we should ideally have a configure.ac test trying to compile a sample program using struct in6_addr s6_addr32 field and then set a HAVE_IN6_ADDR_s6_addr32 define. File src/vty/Makefile.am: https://gerrit.osmocom.org/c/libosmocore/+/41813/comment/04bf4db6_ab6abbd9?usp=email : PS5, Line 36: libosmovty_la_SOURCES += telnet_interface_dummy.c > In Emscripten there are no sockets so telnet_interface.c fails to compile. How it comes you are building socket.c just fine then? To me it sounds that the culprit is more specific. Let's properly identify it before understanding what needs to be done, then probably submit a separate patch. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/41813?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: comment Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia8d5f4bb6570b5e055826f3a051e5e5896866e31 Gerrit-Change-Number: 41813 Gerrit-PatchSet: 7 Gerrit-Owner: Timur Davydov <[email protected]> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <[email protected]> Gerrit-Reviewer: neels <[email protected]> Gerrit-Reviewer: pespin <[email protected]> Gerrit-CC: laforge <[email protected]> Gerrit-Attention: neels <[email protected]> Gerrit-Attention: laforge <[email protected]> Gerrit-Attention: Timur Davydov <[email protected]> Gerrit-Comment-Date: Tue, 13 Jan 2026 12:58:16 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin <[email protected]> Comment-In-Reply-To: Timur Davydov <[email protected]>
