linktree Atrinik.org - Multiplayer Online Role Playing Game  >  Community  >  Support
linktree Topic: server compile : Can't open bmaps file
Pages: [1] 2   Go Down
  Print  
Author Topic: server compile : Can't open bmaps file  (Read 6589 times)
0 Members and 1 Guest are viewing this topic. Bookmarked by 0 members.
Offline ab2
Posts: 7
« on: April 26, 2013, 12:02:03 am »

Hi! Trying to compile the Atrinik server. It is croaking on missing files. I've been (probably crudely) just creating them:

shrew 519% ./server.sh
[18:34:22.681800] ERROR [read_bmap_names:92] Can't open bmaps file: ./lib/bmaps
shrew 520% touch ./lib/bmaps
shrew 521% ./server.sh
[18:34:47.548428] ERROR [init_materials:176] Could not open materials file: ./lib/materials
shrew 522% touch ./lib/materials
shrew 523% ./server.sh
[18:34:55.560551] ERROR [init_anim:88] Can not open animations file ./lib/animations.
shrew 524% touch ./lib/animations
shrew 525% ./server.sh
[18:35:02.399415] ERROR [load_archetypes:427] Can't open archetype file.

I spent 10 minutes glancing at the code to try to figure out where that file was, but I'm a Perl guy and not so comfy in this code. I considered changing the error message to explicitly tell me where the file is (BTW, where do log messages go?), but figured I've probably already perverted the system by tossing in the zero byte files.

Have I done something wrong? I followed, exactly AFAICT, the instructions here:

https://www.atrinik.org/page/compiling_atrinik_server

Do I need to install other code? I noted an arch gz.tar somewhere.

I have the client running ok AFAICT (again compiled by source, no debs for oneiric.

Thanks!
 Logged
Online Cleo
Developer
Alex Tokar

Posts: 580
Gender: Male
« Reply #1 on: April 26, 2013, 07:40:48 am »

Hi,

I think the server installation instructions are slightly outdated, since you need arch.tar.gz and tools.tar.gz (extracted into their respective directories, so you should end up with a main directory that contains server, client, arch and tools).

You can download them here:

https://launchpad.net/atrinik/trunk/3.0/+download/arch.tar.gz
https://launchpad.net/atrinik/trunk/3.0/+download/tools.tar.gz

After extracting them, run collect.py script in the tools directory and then server.sh should work.
 Logged
Offline ab2
Posts: 7
« Reply #2 on: April 27, 2013, 01:33:35 am »

Ok, that seems to have helped. I ended up nuking all previous directories, and downloading and extracting all the tar.gz files here:

https://launchpad.net/atrinik/trunk/3.0/

... then going into server/ and cmake/make. Just doing that, when I run server.sh (from within server/) I get:

[20:22:14.258078] BUG [hiscore_load:279] Cannot open highscore file ./data/highscore: No such file or directory
[20:22:14.258240] ERROR [init_spells:63] Could not find required archetype spell_firestorm.


I presume the highscore file will fix itself. I am not sure what to do with the archetype error. After extracting all the archives I ran collect.py sucessfully; I am not sure where to direct the output to, though. Running with no arguments runs without error, but does not help with server.sh (not sure where it does go). I see the -o option, but am unsure where I should point the output; pointing it to ../server or ../server/lib did not help. It is making files, though.

AFAICT the "missing" spell is in "client_spells", which I have all over the place:

shrew 807% find ./ -name client_spells -exec grep -H 'firestorm' {} \;
./Collected/client_spells:"firestorm"
./arch/client_spells:"firestorm"
./server/lib/client_spells:"firestorm"
./server/client_spells:"firestorm"
./server/arch/client_spells:"firestorm"


("Collected" was made with a test of -o on collect.py). Suggestions? I suspect I am close and just have to put the parts in the right places.

Thanks!
-CAT


 Logged
Online Cleo
Developer
Alex Tokar

Posts: 580
Gender: Male
« Reply #3 on: April 27, 2013, 03:49:41 pm »

Could you attach the output of 'find ./' as a compressed file to this post? I suspect something is missing or in the wrong place, but I'm not quite sure what.
 Logged
Offline ab2
Posts: 7
« Reply #4 on: April 27, 2013, 04:12:34 pm »

Ok, done. Thanks for helping!

Again, "Collected" was a test directory I made to capture output from collect.py.

* atrinikFiles.txt.gz (126.7 KB - downloaded 149 times.)
 Logged
Online Cleo
Developer
Alex Tokar

Posts: 580
Gender: Male
« Reply #5 on: April 27, 2013, 08:51:45 pm »

Ok, as far as I can see, the issue is that you downloaded development version of the server, which is incompatible with the version 3.0 archetypes which you got from https://launchpad.net/atrinik/trunk/3.0/. As long as you also use the server version from that page it should work.
 Logged
Offline ab2
Posts: 7
« Reply #6 on: April 28, 2013, 01:35:53 pm »

Alright... I nuked the directory again, keeping only the gz files from the launchpad page (ignoring the windows .exe). I verified md5s for each (ok, I was lazy, I just checked the last 4-5 hexes). I gunziped all. When I try to run the server ( inside server/), I get:

shrew 843% ./server.sh
./server.sh: 27: ./atrinik-server: not found

I went back to tools, tried to run collect.py, tried server again, stil fails.

shrew 844% cd ../tools
shrew 845% ./collect.py
shrew 846% cd ../server
shrew 847% ./server.sh
./server.sh: 27: ./atrinik-server: not found

The dev gz had included the atrinik-server folder, I believe? I know it's a mismatch, but maybe it means not all the .gz's are in the launchpad repository?
 Logged
Online Cleo
Developer
Alex Tokar

Posts: 580
Gender: Male
« Reply #7 on: April 28, 2013, 05:28:22 pm »

atrinik-server is a file generated by compiling; since you re-extracted the server directory, you need to re-compile it using 'cmake . && make'.
 Logged
Offline ab2
Posts: 7
« Reply #8 on: April 29, 2013, 02:07:06 am »

Oh right... Ok, cmake/make'd both server and client and they both now run and interact! Thanks!

The server build did throw an error:

Scanning dependencies of target plugin_python
[ 94%] Building C object CMakeFiles/plugin_python.dir/src/plugins/plugin_python/atrinik_archetype.c.o
In file included from /usr/include/python3.2/Python.h:52:0,
                 from /media/HalfHeight/Programs/AtrinikServer/server/src/plugins/plugin_python/include/plugin_python.h:33,
                 from /media/HalfHeight/Programs/AtrinikServer/server/src/plugins/plugin_python/atrinik_archetype.c:30:
/usr/include/python3.2/pyatomic.h: In function ‘_Py_ANNOTATE_MEMORY_ORDER’:
/usr/include/python3.2/pyatomic.h:59:48: error: unused parameter ‘address’ [-Werror=unused-parameter]
cc1: all warnings being treated as errors

make[2]: *** [CMakeFiles/plugin_python.dir/src/plugins/plugin_python/atrinik_archetype.c.o] Error 1
make[1]: *** [CMakeFiles/plugin_python.dir/all] Error 2
make: *** [all] Error 2

The game generally seems to run ok, but I am basically stuck on the island - I have only been able to interact with the first NPC (monk?), for other people "hi", "hello" or using the mouse-hello does nothing, and the server reports something like:

[Bug]    event object with unknown plugin: Twitriel, the weapon master, plugin Python
[Bug]    event object with unknown plugin: Marshart, the gatekeeper, plugin Python

I don't know if that's related to make failing at the end? If I read the error right it's complaining about my local install of Python 3.2; Do I need a different version of Python installed? To my untutored eye pyatomic.h looked fine to me; address is a method parameter, and it is referenced in the method, so it's unclear why it would be considered "unused"...


 Logged
Online Cleo
Developer
Alex Tokar

Posts: 580
Gender: Male
« Reply #9 on: April 29, 2013, 09:35:54 am »

Try editing server/build.config and change the following line:

Code: [Select]
set(DISABLE_WARNING_ERRORS false)


to:

Code: [Select]
set(DISABLE_WARNING_ERRORS true)


That should make the Python plugin compile successfully (you need to run make) and you should be able to talk to NPCs.
 Logged
Offline ab2
Posts: 7
« Reply #10 on: April 30, 2013, 02:46:40 am »

Everything is working very well now! I summarized your guidance in a new post; thanks for all your help!
 Logged
Online Cleo
Developer
Alex Tokar

Posts: 580
Gender: Male
« Reply #11 on: April 30, 2013, 06:40:14 am »

Glad it's working for you now and thanks for making an instructions post about it. :)
 Logged
Offline Sonic-NKT
Posts: 3
« Reply #12 on: March 20, 2014, 03:45:15 pm »

Hey,
i just compiled the server on my linux mint 14 box... compile went fine after following this thread.
I also had to symlink pyconfig.h (located at /usr/include/i386-linux-gnu/python3.3m/pyconfig.h to /usr/include/python3.3m/pyconfig.h)

But now no errors, but the npcs still wont talk to me, yes i changed the part with the errors warning and compiled the server again, still nothing.

I get this error after starting the server:
[Info]   Loading plugin libplugin_python.so
[Bug]    Error while trying to load .//libplugin_python.so, returned: .//libplugin_python.so: undefined symbol: PyUnicode_FromFormat

And then the same bug info about the npcs:
[Bug]    event object with unknown plugin: Twitriel, the weapon master, plugin Python

Any idea?
i am running python 3.3 if this helps... Thanks!
 Logged
Offline ddhanna
Main Server Mod
Contributor

Posts: 184
Gender: Male
« Reply #13 on: March 20, 2014, 06:25:32 pm »

Thank you for your post. A Dev will look into this and reply as soon as they are able to.  8)
 Logged
Online Cleo
Developer
Alex Tokar

Posts: 580
Gender: Male
« Reply #14 on: March 21, 2014, 08:44:24 am »

Hi,

From what I can see, the compiler for some reason decided to use Python 3.3 header files, but Python 2.x (perhaps 2.6 or some older version even, not sure) libs. Thus it's trying to use functions found in Python 3.3, but the linked version is 2.x, which doesn't have those functions. I'd suggest looking into your installation of Python 3.3, perhaps there's another error (you might need to symlink some lib file).

Could you paste the contents of the "server/CMakeFiles/plugin_python.dir/link.txt" file? This should contain the information about what Python version it's linking against. On my server machine it's /usr/local/lib/libpython3.1.so.

Thanks,
Cleo
 Logged
Pages: [1] 2   Go Up
  Print  
 
Jump to: