|
Post by Variaz on Apr 15, 2007 20:21:10 GMT -5
Right now, I cannot have access to other OS, so I cannot test compilation for Linux, MacOS, etc... So, if anybody out there compiles the program for these specific oses, would it be possible to send me the makefile they use to do so? Right now, most makefiles except the .bcc one will not work correctly to build the program, and that could affect the number of players playing... So if anyone can do that, I'll be grateful!
|
|
|
Post by chowanec on Dec 21, 2007 23:54:08 GMT -5
I'd love to. I wanted to get this running under Linux Mint (Ubuntu Variant). Thing is, I have no clue to how modify the makefiles... If it's something you can walk me through, I'd be happy to test it for you... I LOVED NewAngband... haven't checked out Portalis since a super early build.
|
|
|
Post by Variaz on Dec 22, 2007 11:34:04 GMT -5
For Linux, I think the standard "Makefile" can work fine. You might want to try it out. By default, it will compile a graphical build, so you need a graphical interface, but I know you can enable a pure ASCII build as well. I just don't remember what to modify at the moment.
|
|
|
Post by challtdow on Aug 19, 2008 10:28:33 GMT -5
I'm trying to get Portralis to compile under Ubuntu(HH) and I get the following error when I try to make using gcc.
gcc -Wall -O1 -pipe -g -D"USE_X11" -D"USE_GCU" -c -o z-util.o z-util.c gcc -Wall -O1 -pipe -g -D"USE_X11" -D"USE_GCU" -c -o z-virt.o z-virt.c gcc -Wall -O1 -pipe -g -D"USE_X11" -D"USE_GCU" -c -o z-form.o z-form.c gcc -Wall -O1 -pipe -g -D"USE_X11" -D"USE_GCU" -c -o z-rand.o z-rand.c gcc -Wall -O1 -pipe -g -D"USE_X11" -D"USE_GCU" -c -o z-term.o z-term.c In file included from angband.h:44, from z-term.c:13: types.h:1495: error: expected specifier-qualifier-list before ‘resistances’ In file included from angband.h:50, from z-term.c:13: new.h:144: warning: type defaults to ‘int’ in declaration of ‘init_feats’ In file included from angband.h:54, from z-term.c:13: script.h:34:43: warning: no newline at end of file z-term.c: In function ‘term_init’: z-term.c:2490: warning: value computed is not used make: *** [z-term.o] Error 1
Anyone have some suggestions?
Chall T. Dow
|
|
|
Post by challtdow on Aug 20, 2008 17:34:03 GMT -5
I just installed the Intel compiler, and it got alot further, but it still crashed with:
main-gcu.c(176): catastrophic error: could not open source file "curses.h" # include <curses.h>
Chall T. Dow
|
|
|
Post by Gando on Aug 20, 2008 20:15:49 GMT -5
Which seems ironic since that was just obsoleted I beleive...try commenting out the include statement in the source?
|
|
|
Post by challtdow on Aug 21, 2008 13:35:28 GMT -5
Ok, changing the makefile to not include curses fixed that. Now it's running into an error when main.c tries to call init_x11 on line 507. I found it in main-x11.c, and it looks like it's defined there. I normally program in F90/F95 so I don't know all the c syntax. What does errr mean? It's before int_x11 in main-x11.c on line 2378.
Chall T. Dow
|
|
|
Post by Gando on Aug 21, 2008 22:04:54 GMT -5
Perhaps you could post the exact error word for word? I cant say that would help but it might...its been about 12 years since I last did any C/C++ programming, but who knows?
|
|
|
Post by challtdow on Aug 22, 2008 9:34:35 GMT -5
Yeah, I know better than to not put the actual error. Here it is: /src/main.c:507: undefined reference to `init_x11' make: *** [testing] Error 1
Chall T. Dow
|
|
|
Post by Gando on Aug 22, 2008 10:07:17 GMT -5
Ah ok...in C/C++ you need to prototype everything. If you dont some compilers blow up I imagine thats what is happening here...init_x11 is probably a function and needs a line ina header somewhere such as void init_x11(void); something like that...the type void might be replaced by some other type in the return part (thats the beginning) and in the parameters section by other types and either pointer names or variable names. Id have to look at the code to know more and even then I wouldnt be sure without being very familliar with it. In any event look for it in the .h file you did not include because the compiler was giving an error with it? If its not there then it was probably missed as an oversight...or something but I doubt that.
|
|
|
Post by Gando on Aug 22, 2008 10:20:58 GMT -5
looking at the source I see what you meant by errr ...clearly it is a custom type for angband (I found it in a google search with the top item being an angband source file.) I googled this extern errr init_x11(int, char**); and got a whole bunch of different links to source files All angband related...now what I noticed is this is USUALLY defined in main.h but there is no main.h in the portralis source...maybe V can weigh in?
|
|
|
Post by Gando on Aug 22, 2008 10:22:49 GMT -5
|
|
|
Post by Variaz on Aug 23, 2008 8:55:54 GMT -5
The errr type is defined in h-type.h, and it is really an integer type, used mostly for error codes handling, with 0 = success, negative being failure, and positive being a problem. Then, some pointers that uses it are defined, and are used at various places in the code. X11 is actually something that used to work fine with Portralis, I had been able to compile to it before. I just wish I still had a linux machine to compile the newer versions on it...
|
|
dak
Rookie
Posts: 1
|
Post by dak on Jul 1, 2009 10:38:18 GMT -5
Hey, I tried to compile the source in Linux with modifications suggested on oook ( angband.oook.cz/forum/showthread.php?t=207), but following error occured: make: *** No rule to make target `mongen.c', needed by `mongen.o'. Stop. Any suggestions? :]
|
|
|
Post by Variaz on Jul 1, 2009 10:49:46 GMT -5
Mongen.c is no longer in the newer source code, so it will need to be removed from inside the makefile.
Unfortunately, I only have a Windows system at the moment, so most of the other makefiles are outdated.
|
|