Setup from Zero
-
I am attempting to do this and have stumbled when it comes to the ./configure. Are there any updated helpfiles or am I on my own ?
-
When you say 'stumbled,' what exactly do you mean?
Do you have any output errors? Or do you simply have no response from the server?
One thing to make sure is that your game's files all have the right permissions. Sometimes if you just dropped everything into the server (or droplet or whatever you're using), they ended up read-only and you'll need to go through and adjust them to be writeable (and in the case of ones like configure, Startmux, etc... executable as well).
-
Some other resources.
https://github.com/pennmush/pennmush/wiki/Installing-PennMUSH-on-Unix - This is the current compilation of instructions for installing PennMUSH.
MUSH (mush.pennmush.org:4201) - Social MUSH for PennMUSH, the current Developer (Mike) is on most days (UK Evenings, Mid Afternoons US). Tons of channels to ask live questions on during the process (tons of channels, two for code; hardcode and softcode).
There are a few other social MU's for hard/soft code questions but most people on one are on the others.
Edit: Make sure you use the latest version of PennMUSH too, because: pennmush-webclient
-
What I have done so far:
sudo apt-get install git
get clone https://github.com/brazilofmux/tinymux.gitchanged to the src directory
What it says in the tutorial: ./configure --enable-stubslave --with-mysql-include=/usr/include/mysql --with-mysql-libs=/usr/lib/mysql --enable-inlinesql
... this is where I have my error.
-
@blackdahlia What's the error you're getting after running ./configure? (and I assume you did a git clone ...)
-
checking whether to enable Reality Levels... no
checking whether to enable WOD Realms... no
checking whether to enable Memory-Based Database... no
checking whether to enable Stub Slave... yes
checking whether to enable Firan MUX... no
checking whether to enable inline MySQL... yes
checking whether to perform expensive self-checking... no
checking for location of SQL header files... /usr/include/mysql
checking for location of SQL library files... /usr/lib/mysql
checking whether to enable SSL support... no
checking whether to enable deprecated features... no
checking for g++... no
checking for c++... no
checking for gpp... no
checking for aCC... no
checking for CC... no
checking for cxx... no
checking for cc++... no
checking for cl.exe... no
checking for FCC... no
checking for KCC... no
checking for RCC... no
checking for xlC_r... no
checking for xlC... no
checking whether the C++ compiler works... no
configure: error: in/home/mlaveau/tinymux/mux/src': configure: error: C++ compiler cannot create executables See
config.log' for more details -
@blackdahlia You don't have gcc++ installed.
Depending on your Linux distro you just need to install it.
Try apt-get install gcc gcc-c++ if you're on Ubuntu or similar.
-
You might want to try looking at Mocker. It is a barebones TinyMux, mySQL server, and mediawiki running under Docker containers. It should get you up are running in a couple of minutes (although I'm sure it will have its own hiccups. I've already discovered that it probably won't automatically get the databases setup correctly on the mySQL server due to race conditions and recognize that you need to go in and change some passwords for security).
-
@arkandel said in Setup from Zero:
apt-get install gcc gcc-c++
That worked. I got all the way to ...
Make depend ...
error: makefile: 207: recipe for target 'depend' failed
-
@blackdahlia said in Setup from Zero:
error: makefile: 207: recipe for target 'depend' failed
More information would be handy... paste more lines around that error, or look at the config.log file with
less config.log
and near the bottom it might give some details of what broke.
-
I guess a greater question might also be:
what's your overall setup? What sort of machine are you setting this up on?
Make sure you have all the required libraries (like gcc++ as mentioned above) first. Otherwise you're just going to keep going down the list, back and forth, installing things as you hit errors.
-
:~/tinymux/mux/src$ make depend
for i in _build.cpp alarm.cpp alloc.cpp attrcache.cpp boolexp.cpp bsd.cpp command.cpp comsys.cpp conf.cpp cque.cpp create.cpp db.cpp db_rw.cpp eval.cpp file_c.cpp flags.cpp funceval.cpp funceval2.cpp functions.cpp funmath.cpp game.cpp help.cpp htab.cpp local.cpp log.cpp look.cpp mail.cpp match.cpp mathutil.cpp mguests.cpp modules.cpp move.cpp muxcli.cpp netcommon.cpp object.cpp predicates.cpp player.cpp player_c.cpp plusemail.cpp powers.cpp quota.cpp rob.cpp pcre.cpp set.cpp sha1.cpp speech.cpp stringutil.cpp strtod.cpp svdrand.cpp svdhash.cpp timer.cpp timeabsolute.cpp timedelta.cpp timeparser.cpp timeutil.cpp timezone.cpp unparse.cpp utf8tables.cpp vattr.cpp walkdb.cpp wild.cpp wiz.cpp libmux.cpp version.cpp unsplit.cpp slave.cpp stubslave.cpp ; do g++ -E -g -O -M $i; done | ./unsplit > .depend~
Makefile:207: recipe for target 'depend' failed
make: *** [depend] Error 1 -
@blackdahlia Without knowing what the Makefile is trying to do it's hard to troubleshoot that. Check config.log to see if that helps. @Auspice is right that you are likely missing out a dependency somewhere, but the error you're pasting still doesn't point that out.
-
I got a different one this time:
~/tinymux/mux/src$ make depend
g++ -g -O -DSTUB_SLAVE -DINLINESQL -I/usr/include/mysql -c unsplit.cpp
g++ -g -O -DSTUB_SLAVE -DINLINESQL -I/usr/include/mysql -o unsplit unsplit.o
for i in _build.cpp alarm.cpp alloc.cpp attrcache.cpp boolexp.cpp bsd.cpp command.cpp comsys.cpp conf.cpp cque.cpp create.cpp db.cpp db_rw.cpp eval.cpp file_c.cpp flags.cpp funceval.cpp funceval2.cpp functions.cpp funmath.cpp game.cpp help.cpp htab.cpp local.cpp log.cpp look.cpp mail.cpp match.cpp mathutil.cpp mguests.cpp modules.cpp move.cpp muxcli.cpp netcommon.cpp object.cpp predicates.cpp player.cpp player_c.cpp plusemail.cpp powers.cpp quota.cpp rob.cpp pcre.cpp set.cpp sha1.cpp speech.cpp stringutil.cpp strtod.cpp svdrand.cpp svdhash.cpp timer.cpp timeabsolute.cpp timedelta.cpp timeparser.cpp timeutil.cpp timezone.cpp unparse.cpp utf8tables.cpp vattr.cpp walkdb.cpp wild.cpp wiz.cpp libmux.cpp version.cpp unsplit.cpp slave.cpp stubslave.cpp ; do g++ -E -g -O -DSTUB_SLAVE -DINLINESQL -I/usr/include/mysql -M $i; done | ./unsplit > .depend~
functions.cpp:26:10: fatal error: mysql.h: No such file or directory
#include <mysql.h>
^~~~~~~~~
compilation terminated.
game.cpp:30:10: fatal error: mysql.h: No such file or directory
#include <mysql.h>
^~~~~~~~~
compilation terminated.
Makefile:207: recipe for target 'depend' failed
make: *** [depend] Error 1 -
@blackdahlia Are you sure you installed libmysqlclient-dev like the post said?
Do an apt-get install -y libmysqlclient-dev and see what happens.
-
@blackdahlia said in Setup from Zero:
fatal error: mysql.h: No such file or directory
Sounds like you may not have MySQL / resulting libraries installed. I'd look at MariaDB, personally, but ultimately what you use is up to you.
Again, I suggest going back to start, looking through what all dependencies/libraries you need and getting them in place.
-
@arkandel said in Setup from Zero:
apt-get install -y libmysqlclient-dev
I tried this. Same error. But thank you for trying!
-
@blackdahlia If you do a
find /usr | grep mysql.h
what does it say? If the file's not installed at all then something hasn't gone well when you installed that package, so you can uninstall and reinstall it in case it fixes the issue.
If it is, then your compiler can't find it. You can pass an argument to g++ (i.e. gcc++ -I/usr/include/mysql ... for example) in the command that's failing above to fix it if something has changed since the documentation was originally written. But if you need to change the Makefile then other things might also not work any more compared to the guide.
-
says: /user/include/mysql/mysql.h
-