Mudos under Ubuntu

Note: This is an old post in a blog with a lot of posts over a long span of time. The world has changed, technologies have changed, and I've changed. It's likely this is out of date, the code doesn't work, the ideas haven't aged well, or the ideas were terrible to begin with. Let me know if you think this is something that needs updating.

I installed Mudos on my laptop which is running Ubuntu Edgy. I had two problems compiling the source for v22.2b14.

The first issue is this error when running make:

make: *** No rule to make target `obj/malloc.o', needed by `driver'.  Stop.

The solution, bizarrely, is to just run make again. I don't know what the issue is, but discovered this in the depths of the mailing list archives.

The second issue I get when compiling is this error:

socket_efuns.c: In function 'get_socket_addres':
socket_efuns.c:1198: error: invalid lvalue in unary '&'
make: *** [obj/socket_efuns.o] Error 1

Doing this change fixes the issue:

$ diff socket_efuns.c.orig socket_efuns.c
1198c1198,1199
<     addr_in = &amp;(local ? lpc_socks[fd].l_addr : lpc_socks[fd].r_addr);
---
>     // addr_in = &amp;(local ? lpc_socks[fd].l_addr : lpc_socks[fd].r_addr);
>     addr_in = local ? &amp;lpc_socks[fd].l_addr : &amp;lpc_socks[fd].r_addr;

After that, everything works wonderfully.

Want to comment? Send an email to willkg at bluesock dot org. Include the url for the blog entry in your comment so I have some context as to what you're talking about.