14 Apr, 2014, Fayos wrote in the 1st comment:
Votes: 0
Hello,

Im a newbie to all things coding, currently i have two left feet so to speak.

But i have a desire to learn Python and am learning a fair bit. Much to the point i feel i can start to work on a MUD idea i've had for years - i think the best way for me to put what i've learnt into practice is to try and develop a mud, i've picked NakedMUD as my engine.

Problem is, i can't get the damn thing to compile on my macbook pro. Can someone please give me a step by step guide on what i need to do so i can get it up on my local computer so i can check my work? Baby steps please. programs i might need to download, etc etc.

Thanks in advance.
14 Apr, 2014, plamzi wrote in the 2nd comment:
Votes: 0
While you're waiting, you can learn even more by googling the specific compilation errors you are seeing. Lots of people are trying to compile Linux code on Darwin, so there's a good chance that your issues are well-known.

I have managed to compile several C codebases on Darwin, and in my recollection, it did not require code modifications, only compiler config stuff. It should be a good exercise for someone just starting out.
16 Apr, 2014, Fayos wrote in the 3rd comment:
Votes: 0
Alright, i don't think my problem is NakedMUD itself, its more to do with GCC. I don't think i've installed it correctly or know how to use it.

Can anyone please give me some tips on installing GCC - its very confusing.
16 Apr, 2014, Davion wrote in the 4th comment:
Votes: 0
Fayos said:
Alright, i don't think my problem is NakedMUD itself, its more to do with GCC. I don't think i've installed it correctly or know how to use it.

Can anyone please give me some tips on installing GCC - its very confusing.


You might want to check out installing a VM. There's a rant about it in the Python Rom Thread. I think it starts here. Vagrantup is pretty cool!

Your problem is likely the core of NakedMUD is written in a language that isn't platform independent. It probably wouldn't take much to get it working, but you gotta know C, and configuring GCC for that. It's a little outside the realm of learning python.

Have you considered running something that's purely python like evennia?
16 Apr, 2014, plamzi wrote in the 5th comment:
Votes: 0
Fayos said:
Alright, i don't think my problem is NakedMUD itself, its more to do with GCC. I don't think i've installed it correctly or know how to use it.

Can anyone please give me some tips on installing GCC - its very confusing.


I believe that if you install XCode with "Developer Tools" checked, you'll get GCC, and that will be by far the easiest way to get it. You can grab XCode from the AppStore app on your Macbook.
17 Apr, 2014, quixadhal wrote in the 6th comment:
Votes: 0
I've heard that newer OS X installations don't support gcc any more, as they've moved to using clang… thus gcc may be stuck at an older version (which isn't always bad when dealing with decades old MUD code).
21 Apr, 2014, Fayos wrote in the 7th comment:
Votes: 0
[quote=[url=/topic-4564-69498#p69498]Davion[/url]

Have you considered running something that's purely python like evennia?[/quote]

Mostly ignored Evennia because of all the extra stuff you need to download, i was told twisted and Django can be a headache and memory intensive if not used correctly.
21 Apr, 2014, quixadhal wrote in the 8th comment:
Votes: 0
That's the danger of using frameworks.

I'm writing a small MUD in perl… the goal is actually to be a work-alike for my old DikuMUD, because I hate C and C++ these days, but I do like my old MUD. My general rule is, if I can use somebody else's module to do something that's a bit of work, I will… but if it takes me more than an afternoon to understand how to use it, I could probably write it myself and have one less dependancy.

Sure, my logging module isn't as cool and flexible as Log4perl, but it's also small and easy to use.

That said, replacing the C part of nakedmud with a pure python part isn't impossible. The core of any MUD is only a few dozen lines of socket and event handling code… the only tricky part is sandboxing the python scripts. NakedMUD works, if I remember right, by running the main game in C and having various event hooks that call python modules. To keep those reloadable and secure, you need to embed python in python. Some languages make that easy…others make it really annoying.
21 Apr, 2014, Tyche wrote in the 9th comment:
Votes: 0
You can compile Python using clang, visual C and gcc.
22 Apr, 2014, Fayos wrote in the 10th comment:
Votes: 0
Getting kinda close:

Can anyone decipher/tell me what path issue i have with this?

Getting kinda close:

Can anyone decipher/tell me what path issue i have with this?

[codeKedas-MacBook-Pro:~ Trance$ cd /Users/Trance/Desktop/nakedmud/src
Kedas-MacBook-Pro:src Trance$ make
Makefile:113: gameloop.d: No such file or directory
Makefile:113: mud.d: No such file or directory
Makefile:113: utils.d: No such file or directory
Makefile:113: interpret.d: No such file or directory
Makefile:113: handler.d: No such file or directory
Makefile:113: inform.d: No such file or directory
Makefile:113: action.d: No such file or directory
Makefile:113: save.d: No such file or directory
Makefile:113: socket.d: No such file or directory
Makefile:113: io.d: No such file or directory
Makefile:113: strings.d: No such file or directory
Makefile:113: event.d: No such file or directory
Makefile:113: races.d: No such file or directory
Makefile:113: log.d: No such file or directory
Makefile:113: auxiliary.d: No such file or directory
Makefile:113: world.d: No such file or directory
Makefile:113: character.d: No such file or directory
Makefile:113: room.d: No such file or directory
Makefile:113: exit.d: No such file or directory
Makefile:113: extra_descs.d: No such file or directory
Makefile:113: object.d: No such file or directory
Makefile:113: body.d: No such file or directory
Makefile:113: zone.d: No such file or directory
Makefile:113: room_reset.d: No such file or directory
Makefile:113: account.d: No such file or directory
Makefile:113: list.d: No such file or directory
Makefile:113: property_table.d: No such file or directory
Makefile:113: hashtable.d: No such file or directory
Makefile:113: map.d: No such file or directory
Makefile:113: storage.d: No such file or directory
Makefile:113: set.d: No such file or directory
Makefile:113: buffer.d: No such file or directory
Makefile:113: bitvector.d: No such file or directory
Makefile:113: numbers.d: No such file or directory
Makefile:113: prototype.d: No such file or directory
Makefile:113: hooks.d: No such file or directory
Makefile:113: parse.d: No such file or directory
Makefile:113: near_map.d: No such file or directory
Makefile:113: command.d: No such file or directory
Makefile:113: filebuf.d: No such file or directory
Makefile:113: dyn_vars/dyn_vars.d: No such file or directory
Makefile:113: set_val/set_val.d: No such file or directory
Makefile:113: olc2/olc.d: No such file or directory
Makefile:113: olc2/redit.d: No such file or directory
Makefile:113: olc2/zedit.d: No such file or directory
Makefile:113: olc2/esedit.d: No such file or directory
Makefile:113: olc2/medit.d: No such file or directory
Makefile:113: olc2/oedit.d: No such file or directory
Makefile:113: olc2/bedit.d: No such file or directory
Makefile:113: olc2/accedit.d: No such file or directory
Makefile:113: olc2/pcedit.d: No such file or directory
Makefile:113: olc2/protedit.d: No such file or directory
Makefile:113: olc2/olc_extender.d: No such file or directory
Makefile:113: editor/editor.d: No such file or directory
Makefile:113: editor/notepad.d: No such file or directory
Makefile:113: items/items.d: No such file or directory
Makefile:113: items/portal.d: No such file or directory
Makefile:113: items/iedit.d: No such file or directory
Makefile:113: items/container.d: No such file or directory
Makefile:113: items/furniture.d: No such file or directory
Makefile:113: items/worn.d: No such file or directory
Makefile:113: scripts/scripts.d: No such file or directory
Makefile:113: scripts/pychar.d: No such file or directory
Makefile:113: scripts/pyobj.d: No such file or directory
Makefile:113: scripts/pymud.d: No such file or directory
Makefile:113: scripts/pymudsys.d: No such file or directory
Makefile:113: scripts/pyhooks.d: No such file or directory
Makefile:113: scripts/pyroom.d: No such file or directory
Makefile:113: scripts/pyexit.d: No such file or directory
Makefile:113: scripts/pyaccount.d: No such file or directory
Makefile:113: scripts/pysocket.d: No such file or directory
Makefile:113: scripts/script_editor.d: No such file or directory
Makefile:113: scripts/pyplugs.d: No such file or directory
Makefile:113: scripts/pyevent.d: No such file or directory
Makefile:113: scripts/pystorage.d: No such file or directory
Makefile:113: scripts/pyauxiliary.d: No such file or directory
Makefile:113: scripts/triggers.d: No such file or directory
Makefile:113: scripts/trigedit.d: No such file or directory
Makefile:113: scripts/trighooks.d: No such file or directory
Makefile:113: scripts/pyolc.d: No such file or directory
Makefile:113: time/time.d: No such file or directory
Makefile:113: socials/socials.d: No such file or directory
Makefile:113: socials/socedit.d: No such file or directory
Makefile:113: alias/alias.d: No such file or directory
Makefile:113: help2/help.d: No such file or directory
Makefile:113: help2/hedit.d: No such file or directory
Building dependencies for help2/hedit.c
Building dependencies for help2/help.c
In file included from help2/help.c:25:
help2/../scripts/scripts.h:25:10: fatal error: 'Python.h' file not found
#include <Python.h>
^
1 error generated.
Building dependencies for alias/alias.c
In file included from alias/alias.c:26:
alias/../scripts/scripts.h:25:10: fatal error: 'Python.h' file not found
#include <Python.h>
^
1 error generated.
Building dependencies for socials/socedit.c
Building dependencies for socials/socials.c
Building dependencies for time/time.c
time/time.c:9:10: fatal error: 'Python.h' file not found
#include <Python.h> // to add Python hooks
^
1 error generated.
Building dependencies for scripts/pyolc.c
In file included from scripts/pyolc.c:11:
scripts/scripts.h:25:10: fatal error: 'Python.h' file not found
#include <Python.h>
^
1 error generated.
Building dependencies for scripts/trighooks.c
In file included from scripts/trighooks.c:21:
scripts/scripts.h:25:10: fatal error: 'Python.h' file not found
#include <Python.h>
^
1 error generated.
Building dependencies for scripts/trigedit.c
In file included from scripts/trigedit.c:13:
scripts/scripts.h:25:10: fatal error: 'Python.h' file not found
#include <Python.h>
^
1 error generated.
Building dependencies for scripts/triggers.c
In file included from scripts/triggers.c:14:
scripts/scripts.h:25:10: fatal error: 'Python.h' file not found
#include <Python.h>
^
1 error generated.
Building dependencies for scripts/pyauxiliary.c
scripts/pyauxiliary.c:11:10: fatal error: 'Python.h' file not found
#include <Python.h>
^
1 error generated.
Building dependencies for scripts/pystorage.c
scripts/pystorage.c:10:10: fatal error: 'Python.h' file not found
#include <Python.h>
^
1 error generated.
Building dependencies for scripts/pyevent.c
scripts/pyevent.c:12:10: fatal error: 'Python.h' file not found
#include <Python.h>
^
1 error generated.
Building dependencies for scripts/pyplugs.c
scripts/pyplugs.c:12:10: fatal error: 'Python.h' file not found
#include <Python.h>
^
1 error generated.
Building dependencies for scripts/script_editor.c
In file included from scripts/script_editor.c:17:
scripts/scripts.h:25:10: fatal error: 'Python.h' file not found
#include <Python.h>
^
1 error generated.
Building dependencies for scripts/pysocket.c
In file included from scripts/pysocket.c:15:
scripts/scripts.h:25:10: fatal error: 'Python.h' file not found
#include <Python.h>
^
1 error generated.
Building dependencies for scripts/pyaccount.c
In file included from scripts/pyaccount.c:16:
scripts/scripts.h:25:10: fatal error: 'Python.h' file not found
#include <Python.h>
^
1 error generated.
Building dependencies for scripts/pyexit.c
In file included from scripts/pyexit.c:18:
scripts/scripts.h:25:10: fatal error: 'Python.h' file not found
#include <Python.h>
^
1 error generated.
Building dependencies for scripts/pyroom.c
scripts/pyroom.c:11:10: fatal error: 'Python.h' file not found
#include <Python.h>
^
1 error generated.
Building dependencies for scripts/pyhooks.c
In file included from scripts/pyhooks.c:13:
scripts/scripts.h:25:10: fatal error: 'Python.h' file not found
#include <Python.h>
^
1 error generated.
Building dependencies for scripts/pymudsys.c
scripts/pymudsys.c:9:10: fatal error: 'Python.h' file not found
#include <Python.h>
^
1 error generated.
Building dependencies for scripts/pymud.c
scripts/pymud.c:14:10: fatal error: 'Python.h' file not found
#include <Python.h>
^
1 error generated.
Building dependencies for scripts/pyobj.c
scripts/pyobj.c:10:10: fatal error: 'Python.h' file not found
#include <Python.h>
^
1 error generated.
Building dependencies for scripts/pychar.c
scripts/pychar.c:10:10: fatal error: 'Python.h' file not found
#include <Python.h>
^
1 error generated.
Building dependencies for scripts/scripts.c
In file included from scripts/scripts.c:28:
scripts/scripts.h:25:10: fatal error: 'Python.h' file not found
#include <Python.h>
^
1 error generated.
Building dependencies for items/worn.c
In file included from items/worn.c:44:
items/../scripts/scripts.h:25:10: fatal error: 'Python.h' file not found
#include <Python.h>
^
1 error generated.
Building dependencies for items/furniture.c
In file included from items/furniture.c:29:
items/../scripts/scripts.h:25:10: fatal error: 'Python.h' file not found
#include <Python.h>
^
1 error generated.
Building dependencies for items/container.c
In file included from items/container.c:30:
items/../scripts/scripts.h:25:10: fatal error: 'Python.h' file not found
#include <Python.h>
^
1 error generated.
Building dependencies for items/iedit.c
In file included from items/iedit.c:29:
items/../scripts/scripts.h:25:10: fatal error: 'Python.h' file not found
#include <Python.h>
^
1 error generated.
Building dependencies for items/portal.c
In file included from items/portal.c:32:
items/../scripts/scripts.h:25:10: fatal error: 'Python.h' file not found
#include <Python.h>
^
1 error generated.
Building dependencies for items/items.c
In file included from items/items.c:30:
items/../scripts/scripts.h:25:10: fatal error: 'Python.h' file not found
#include <Python.h>
^
1 error generated.
Building dependencies for editor/notepad.c
In file included from editor/notepad.c:24:
editor/../scripts/scripts.h:25:10: fatal error: 'Python.h' file not found
#include <Python.h>
^
1 error generated.
Building dependencies for editor/editor.c
In file included from editor/editor.c:24:
editor/../scripts/scripts.h:25:10: fatal error: 'Python.h' file not found
#include <Python.h>
^
1 error generated.
Building dependencies for olc2/olc_extender.c
In file included from olc2/olc_extender.c:20:
olc2/../scripts/scripts.h:25:10: fatal error: 'Python.h' file not found
#include <Python.h>
^
1 error generated.
Building dependencies for olc2/protedit.c
In file included from olc2/protedit.c:24:
olc2/../scripts/scripts.h:25:10: fatal error: 'Python.h' file not found
#include <Python.h>
^
1 error generated.
Building dependencies for olc2/pcedit.c
Building dependencies for olc2/accedit.c
Building dependencies for olc2/bedit.c
Building dependencies for olc2/oedit.c
In file included from olc2/oedit.c:33:
olc2/../scripts/scripts.h:25:10: fatal error: 'Python.h' file not found
#include <Python.h>
^
1 error generated.
Building dependencies for olc2/medit.c
In file included from olc2/medit.c:31:
olc2/../scripts/scripts.h:25:10: fatal error: 'Python.h' file not found
#include <Python.h>
^
1 error generated.
Building dependencies for olc2/esedit.c
Building dependencies for olc2/zedit.c
Building dependencies for olc2/redit.c
In file included from olc2/redit.c:36:
olc2/../scripts/scripts.h:25:10: fatal error: 'Python.h' file not found
#include <Python.h>
^
1 error generated.
Building dependencies for olc2/olc.c
In file included from olc2/olc.c:35:
olc2/../scripts/scripts.h:25:10: fatal error: 'Python.h' file not found
#include <Python.h>
^
1 error generated.
Building dependencies for set_val/set_val.c
Building dependencies for dyn_vars/dyn_vars.c
Building dependencies for filebuf.c
Building dependencies for command.c
command.c:11:10: fatal error: 'Python.h' file not found
#include <Python.h>
^
1 error generated.
Building dependencies for near_map.c
Building dependencies for parse.c
In file included from parse.c:19:
./scripts/scripts.h:25:10: fatal error: 'Python.h' file not found
#include <Python.h>
^
1 error generated.
Building dependencies for hooks.c
Building dependencies for prototype.c
In file included from prototype.c:26:
./scripts/scripts.h:25:10: fatal error: 'Python.h' file not found
#include <Python.h>
^
1 error generated.
Building dependencies for numbers.c
Building dependencies for bitvector.c
Building dependencies for buffer.c
Building dependencies for set.c
Building dependencies for storage.c
Building dependencies for map.c
Building dependencies for hashtable.c
Building dependencies for property_table.c
Building dependencies for list.c
Building dependencies for account.c
Building dependencies for room_reset.c
In file included from room_reset.c:36:
./scripts/scripts.h:25:10: fatal error: 'Python.h' file not found
#include <Python.h>
^
1 error generated.
Building dependencies for zone.c
Building dependencies for body.c
Building dependencies for object.c
Building dependencies for extra_descs.c
Building dependencies for exit.c
Building dependencies for room.c
Building dependencies for character.c
Building dependencies for world.c
Building dependencies for auxiliary.c
Building dependencies for log.c
Building dependencies for races.c
Building dependencies for event.c
Building dependencies for strings.c
Building dependencies for io.c
Building dependencies for socket.c
In file included from socket.c:25:
./scripts/scripts.h:25:10: fatal error: 'Python.h' file not found
#include <Python.h>
^
1 error generated.
Building dependencies for save.c
Building dependencies for action.c
Building dependencies for inform.c
Building dependencies for handler.c
In file included from handler.c:32:
./scripts/scripts.h:25:10: fatal error: 'Python.h' file not found
#include <Python.h>
^
1 error generated.
Building dependencies for interpret.c
In file included from interpret.c:22:
./scripts/scripts.h:25:10: fatal error: 'Python.h' file not found
#include <Python.h>
^
1 error generated.
Building dependencies for utils.c
Building dependencies for mud.c
Building dependencies for gameloop.c
In file included from gameloop.c:39:
./scripts/scripts.h:25:10: fatal error: 'Python.h' file not found
#include <Python.h>
^
1 error generated.
Compiling gameloop.c
In file included from gameloop.c:39:
./scripts/scripts.h:25:10: fatal error: 'Python.h' file not found
#include <Python.h>
^
1 error generated.
make: *** [gameloop.o] Error 1
Kedas-MacBook-Pro:src Trance$ ./NakedMud
-bash: ./NakedMud: No such file or directory
[/code]
23 Apr, 2014, Fayos wrote in the 11th comment:
Votes: 0
And getting closer still, what am i missing?:
Kedas-MacBook-Pro:~ Trance$ cd /Users/Trance/Desktop/nakedmud/src
Kedas-MacBook-Pro:src Trance$ make
Compiling gameloop.c
In file included from gameloop.c:39:
./scripts/scripts.h:25:10: fatal error: 'Python.h' file not found
#include <Python.h>
^
1 error generated.
make: *** [gameloop.o] Error 1
Kedas-MacBook-Pro:src Trance$


Im pretty sure i have python.h - do i need to #include it in the new directory?
23 Apr, 2014, quixadhal wrote in the 12th comment:
Votes: 0
Make sure it's Python.h and not python.h… case matters on unix systems (OS X is a BSD derivative).

I know some systems make a distinction between the interpreter package and the "dev" package, so make sure you have ALL the python bits installed, not just the runtime part.

And yeah, you might need to add another directory to the -I list in the Makefile. If the python stuff got installed in a place make doesn't look by default (/usr, /usr/local, etc).
0.0/12