Fedora Core 5 build issues...

NOTICE: This forum is archived as read only.
Please use the Github Discussions at https://github.com/exult/exult/discussions
Forum rules
NOTICE: This forum is archived as read only.
Please use the Github Discussions at https://github.com/exult/exult/discussions
Locked
GT500
Posts: 5
Joined: Thu May 14, 2020 1:34 pm

Fedora Core 5 build issues...

Post by GT500 »

I have tried the source for version 1.4 and for 1.2, as well as the SRPM for version 1.2, and none of them will build in Fedora Core 5.

In the source fro 1.4, the configure script is created by autoconf, but it errors out with the following message:

Code: Select all

configure: error: cannot find install-sh or install.sh in . ./.. ./../..
I've done a search, and those files were not included with the source from CVS.

In the source for version 1.2 it configures properly, and here is the output it gave for my system:

Code: Select all

Exult v1.2

SDL ....................... : 1.2.9
GLIB ...................... : 2.10.1
GTK+ ...................... : 2.8.15
libGlade .................. : 2.5.1

Build tools................ : yes
Build ExultStudio.......... : no
It even makes it most of the way through building with 'make', but fails after a minute or two with these errors:

Code: Select all

../hash_utils.h:32: error: 'std::hash_map' has not been declared
../hash_utils.h:50: error: 'std::hash_set' has not been declared
../game.h:60: error: ISO C++ forbids declaration of 'hash_map' with no type
../game.h:60: error: expected ';' before '<' token
../game.h:61: error: ISO C++ forbids declaration of 'hash_map' with no type
../game.h:61: error: expected ';' before '<' token
bodies.cc: In static member function 'static int Body_lookup::find(int, int&, int&)':
bodies.cc:424: error: expected initializer before '<' token
bodies.cc:429: error: 'htable' was not declared in this scope
bodies.cc:432: error: expected type-specifier before 'hash_set'
bodies.cc:432: error: expected `;' before 'hash_set'
bodies.cc:456: error: 'hash_set' was not declared in this scope
bodies.cc:456: error: expected primary-expression before 'short'
bodies.cc:456: error: expected `;' before 'short'
bodies.cc:461: error: 'it' was not declared in this scope
bodies.cc:461: error: 'htable' was not declared in this scope
make[2]: *** [bodies.lo] Error 1
make[2]: Leaving directory `/home/GT500/Downloads/games/Ultima_VII/Exult/exult-1.2/shapes'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/GT500/Downloads/games/Ultima_VII/Exult/exult-1.2'
make: *** [all] Error 2
The SRPM for version 1.2 has an error in it's spec file. The line for the licence should read Licence: GPL and rpmbuild exits with an error with the current licence. Unfortunetely, even if you fix the spec, the SRPM errors out after a couple of minutes of build time. This error I don't have available to copy and paste.

I was rather looking forward to building Exult with GCC 4, but the way things are going it doesn't look like I'm going to get the chance.

Also, it looks like your Linux readme is about 4 years old. Unfortunetely, things seem to have changed enough in 4 years to make that readme file useless...
wjp
Site Admin
Posts: 1708
Joined: Thu May 14, 2020 1:34 pm

Re: Fedora Core 5 build issues...

Post by wjp »

For current CVS: don't run autoconf manually, but use ./autogen.sh or autoreconf.
GT500
Posts: 5
Joined: Thu May 14, 2020 1:34 pm

Re: Fedora Core 5 build issues...

Post by GT500 »

Thanks for the tip. I now get an configure script that runs without error.

Unfortunetely, after a couple of minutes of build time, make error out:

Code: Select all

../cheat.h:104: error: extra qualification 'Cheat::' on member 'move_chunk'
../cheat.h:105: error: extra qualification 'Cheat::' on member 'move_selected_chunks'
../actors.h:482: error: extra qualification 'Actor::' on member 'is_immune'
make[3]: *** [intrinsics.lo] Error 1
make[3]: Leaving directory `/home/GT500/Downloads/games/Ultima_VII/Exult/exult/usecode'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/GT500/Downloads/games/Ultima_VII/Exult/exult/usecode'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/GT500/Downloads/games/Ultima_VII/Exult/exult'
make: *** [all] Error 2
I'm not having good luck with this in Fedora Core 5. The Windows binary of version 1.2 won't even run in Wine...
drcode
Site Admin
Posts: 2267
Joined: Thu May 14, 2020 1:34 pm

Re: Fedora Core 5 build issues...

Post by drcode »

Those look like errors. Try deleting the "Cheat::" and "Actor::", and I'll try to fix it tonight in CVS.
GT500
Posts: 5
Joined: Thu May 14, 2020 1:34 pm

Re: Fedora Core 5 build issues...

Post by GT500 »

Thanks for the suggestion. That helped me get a minute or two further along in building the source. But another error has cropped up:

Code: Select all

./../include/ucfunc.h:209: error: extra qualification ‘UCFunc::’ on member ‘output_ucs_funcname’
make[4]: *** [ucdata.o] Error 1
make[4]: Leaving directory `/home/GT500/Downloads/games/Ultima_VII/Exult/exult-1.4/usecode/ucxt/src'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/home/GT500/Downloads/games/Ultima_VII/Exult/exult-1.4/usecode/ucxt'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/GT500/Downloads/games/Ultima_VII/Exult/exult-1.4/usecode'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/GT500/Downloads/games/Ultima_VII/Exult/exult-1.4'
make: *** [all] Error 2
I will try removing the 'UCFunc::' and see if it will finish building this time. If I get any more errors, I'll post them for you to take a look at.
GT500
Posts: 5
Joined: Thu May 14, 2020 1:34 pm

Re: Fedora Core 5 build issues...

Post by GT500 »

Much longer build time after that edit, but still another error. This one I'm not too sure about. But then again, I never bothered learning to program in a language other than Java...

I wasn't too sure if I properly seperated the error from the normal build output, but here's what I think is the entire error message:

Code: Select all

combat.cc: In member function ‘std::_List_iterator Combat_schedule::find_protected_attacker()’:
combat.cc:383: error: conversion from ‘int’ to non-scalar type ‘std::_List_iterator’ requested
make[2]: *** [combat.o] Error 1
make[2]: Leaving directory `/home/GT500/Downloads/games/Ultima_VII/Exult/exult-1.4'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/GT500/Downloads/games/Ultima_VII/Exult/exult-1.4'
make: *** [all] Error 2
wjp
Site Admin
Posts: 1708
Joined: Thu May 14, 2020 1:34 pm

Re: Fedora Core 5 build issues...

Post by wjp »

Replace line 383 in combat.cc ("return 0;") by

return opponents.end();
wjp
Site Admin
Posts: 1708
Joined: Thu May 14, 2020 1:34 pm

Re: Fedora Core 5 build issues...

Post by wjp »

I fixed some more gcc 4.1 compilation errors, and current CVS builds fine for me in FC5 now. Thanks for letting us know we needed to fix some build issues in gcc 4.1.
GT500
Posts: 5
Joined: Thu May 14, 2020 1:34 pm

Re: Fedora Core 5 build issues...

Post by GT500 »

Thanks for the help.

It's nice to finally get to play Serpent's Isle. I had never seen anything but occasional refferences to it.

Now I just need to bum the manual off of my brother, and I'll be all set.

BTW: The game's running perfectly so far. Although I haven't gotten very far yet, but from what I've seen you guys have done a good job with version 1.4.
Locked