• atexit compilation errors?

    From Ryan Fantus@VERT to All on Sun Sep 3 02:10:13 2023
    Hey friends,ããI've been trying to compile Synchronet addons in the sbbs git repo using modern Ubuntu, but have also tried 20.04, 22.04, 22.10, and Debian 12. The way to reproduce the error I'm dealing with is to go into the /sbbs/repo/src/odoors directory and type "make". It'll fail on the 'ex_chat' compilation with an atexit symbol error.ããAnyone else find a way to deal with this, by chance? I'd really like to get some games to compile :)ããThanks!ãã--- Mystic BBS v1.12 A49 2023/02/26 (Linux/64)ã * Origin: m O N T E R E Y b B S . c O M (1:218/820)ã þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.netã
  • From Digital Man@VERT to Ryan Fantus on Sun Sep 3 15:34:55 2023
    Re: atexit compilation errors?ã By: Ryan Fantus to All on Sun Sep 03 2023 02:10 amãã > I've been trying to compile Synchronet addons in the sbbs git repo usingã > modern Ubuntu, but have also tried 20.04, 22.04, 22.10, and Debian 12. Theã > way to reproduce the error I'm dealing with is to go into theã > /sbbs/repo/src/odoors directory and type "make". It'll fail on the 'ex_chat'ã > compilation with an atexit symbol error.ã >ã > Anyone else find a way to deal with this, by chance? I'd really like to getã > some games to compile :)ããThe 'ex_chat' is just an example ODoors program. You could've just removed references to ex_chat from odoors/GNUmakefile, but it would've then failed to build the other examples too.ããI added a fix (using the '-shared' option) for that issue, but I also observed that the build was failing to find the xpdev library. I added a hack for that (assume the build target is an x64 system). And even with that hack, I had to add "LD=gcc" to the make command-line, but it did work for me:ãã$ make LD=gccãcc -fPIC -O2 -Llibs-Linux/ -I../xpdev -shared -Wall -DHAS_INTTYPES_H ex_vote.c ../xpdev/filewrap.c -o exe-Linux/ex_vote -lODoors -DMULTINODE_AWAREã-- ã digital man (rob)ããSynchronet "Real Fact" #121:ãSynchronet v2.20a for DOS was released on Aug 31, 1995 (5 months after v2.11a)ãNorco, CA WX: 76.9øF, 59.0% humidity, 10 mph SSE wind, 0.00 inches rain/24hrsã---ã þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.netã
  • From Ryan Fantus@VERT to Digital Man on Mon Sep 4 16:39:24 2023
    The 'ex_chat' is just an example ODoors program. You could've justã DM> removed references to ex_chat from odoors/GNUmakefile, but it would'veã DM> then failed to build the other examples too.ããYeah, and I'm finding some other games that rely on ODoors have the same problem (clans, for example).ãã DM> I added a fix (using the '-shared' option) for that issue, but I alsoã DM> observed that the build was failing to find the xpdev library. I added aã DM> hack for that (assume the build target is an x64 system). And even withã DM> that hack, I had to add "LD=gcc" to the make command-line, but it didã DM> work for me:ããThanks! I'll give this a whirl.ããBTW, how necessary is calling 'atexit' in OpenDoors? I commented out the line and compiled without `-shared` and it compiled fine. Wondering if it's truly needed, especially for linux x64?ãã--- Mystic BBS v1.12 A49 2023/02/26 (Linux/64)ã * Origin: m O N T E R E Y b B S . c O M (1:218/820)ã þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.netã
  • From fusion@VERT/CFBBS to Ryan Fantus on Tue Sep 5 01:54:00 2023
    On 04 Sep 2023, Ryan Fantus said the following...ã ã RF> BTW, how necessary is calling 'atexit' in OpenDoors? I commented out theã RF> line and compiled without `-shared` and it compiled fine. Wondering ifã RF> it's truly needed, especially for linux x64?ããatexit is a way to create a stack of functions that are called when a programãexits.ããmy guess is since it's a door library (and they don't necessarily control the program flow, the door programmed with it does) they want to ensure if the door game just abruptly decides to do exit(), odoors can at least clean up after itself.ããthe other option would be to make the door programmer responsible for it.. they'd call the atexit()-ed functions themselves when they're finishing up.ãã--- Mystic BBS v1.12 A47 2021/12/25 (Windows/32)ã * Origin: cold fusion - cfbbs.net - grand rapids, miã