eezstreet / OpenD2

A project to open source Diablo 2.
GNU General Public License v3.0
573 stars 77 forks source link

Run on Elbrus #25

Open DJs3000 opened 5 years ago

DJs3000 commented 5 years ago

Pls see https://youtu.be/5nlhFKdTIR0 Is there a problem? Elbrus is a computer with an original CPU architecture. Maybe that's the problem. I compiled the code for Elbrus.

Nable80 commented 5 years ago

I think the main problem is its special compiler (LCC?) that only tries to be compatible with GCC but it's not GCC at all. Some compilation options should be adjusted.

Which version do you have? cc --version

Can you post the exact commands that you've used to build OpenD2?

DJs3000 commented 5 years ago

Elbrus fully supports the most popular instructions mmx, sse1-4.2, avx1-2 and so on. Now compatible GCC v5.5, soon to be compatible with GCC 7. In CMakeLists.txt switch off build D2 server. mkdie build cd build cmake .. make -j8

sskras commented 5 years ago

(Exact cc --version is still unknown:)

DJs3000 commented 5 years ago

cc --version

lcc:1.23.18:Apr-13-2019:e2k-v4-linux gcc (GCC) 5.5.0 compatible

Nable80 commented 5 years ago

Elbrus fully supports the most popular instructions mmx, sse1-4.2, avx1-2 and so on. Now compatible GCC v5.5, soon to be compatible with GCC 7.

Not so fast, please. There are two ways of using E2K machines:

Your output of CC gives the idea that you're running it in native mode, output of cat /proc/cpuinfo can provide additional proof for this.

The problem that I saw at the end of your video (btw, you can use scrot or any other simple tool to make screenshots and ffmpeg to record screen video) is with dynamic linking of libraries. Either name mangling is wrong somewhere, or required function was dropped by some compiler optimization or this function wasn't included to the list of exported ones. Can you post the Makefile that was generated by cmake? Can you make a statically-linked build of OpenD2?

Offtop: was this video recorded at Yandex museum?

DJs3000 commented 5 years ago

Yes, video from Yandex museum. I use native mode(e2k). Makefile.zip