View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0001856 | unreal | installing | public | 2004-06-03 05:23 | 2013-01-09 10:17 |
Reporter | ch | Assigned To | |||
Priority | normal | Severity | major | Reproducibility | always |
Status | resolved | Resolution | wont fix | ||
Platform | PA-RISC 9000/806 | OS | HP-UX | OS Version | 11.0 |
Product Version | 3.2 | ||||
Summary | 0001856: Unreal does not work/compile on HP-UX | ||||
Description | ha023wa@dumbo:~/Unreal3.2$ make Building src gcc -I../include -I/homes/ha023wa/Unreal3.2/extras/regexp/include -pipe -g -O2 -funsigned-char -c auth.c In file included from ../include/struct.h:799, from auth.c:21: ../include/modules.h:348: error: parse error before "shl_t" ../include/modules.h:348: warning: no semicolon at end of struct or union ../include/modules.h:360: error: parse error before '}' token *** Error exit code 1 Stop. *** Error exit code 1 Stop. ha023wa@dumbo:~/Unreal3.2$ | ||||
Steps To Reproduce | running make ;) | ||||
Additional Information | ./Config with an minimum of add ons, (no Anti-Spoof, no IPv6, no ziplinks, no ssl, no remote includes) Cofigured as Leaf If you need access to that machine... pls contact me at [email protected] | ||||
Tags | No tags attached. | ||||
3rd party modules | |||||
|
forgot: gcc version 3.3.2 |
|
Hmmm... fun. Looks like HP-UX gave dlopen/dlsym/etc with different names (shl_load, etc) [and different return types]... That requires an #include <dl.h>, this is done in modules.c but not in the header files (so for modules.h). Cat: Try adding this line: #include <dl.h> in include/struct.h, after line 45 (the '#include <sys/types.h>'). Obviously I've no idea if this is enough to fix all this ;). [On a sidenote, it seems that in HP-UX 11 the standard dlopen()/dlsym()/etc functions are also available now: http://www.calpoly.edu/cgi-bin/man-cgi?dlsym+3] |
|
Ah, finally someone who can test the HP-UX module support! I wrote that a long time ago, but I don't think anyone ever used it (we don't have any HP-UX shells) Try doing as Syzop suggested, hopefully that will work. |
|
syzop: testes that, worked for that error, but compile runs in other errors and tons of warnings <snip from irc log> Jun 03 19:10:05 <Cat> modules.c:1210: warning: passing arg 1 of `shl_findsym' from incompatible pointer type Jun 03 19:10:05 <Cat> modules.c:1210: warning: passing arg 3 of `shl_findsym' makes integer from pointer without a cast Jun 03 19:10:05 <Cat> modules.c:1210: error: too few arguments to function `shl_findsym' Jun 03 19:10:05 <Cat> *** Error exit code 1 Jun 03 19:10:05 <Cat> Jun 03 19:10:05 <Cat> Stop. Jun 03 19:10:05 <Cat> *** Error exit code 1 Jun 03 19:10:05 <Cat> Jun 03 19:10:05 <Cat> Stop. Jun 03 19:10:05 <Cat> ha023wa@dumbo:~/Unreal3.2$ Jun 03 19:10:11 <Cat> next error Jun 03 19:10:17 <codemastr> hmm Jun 03 19:10:39 <codemastr> what is like 1210? Jun 03 19:12:09 <Cat> 1204 void unload_all_modules(void) Jun 03 19:12:09 <Cat> 1205 { Jun 03 19:12:09 <Cat> 1206 Module *m; Jun 03 19:12:09 <Cat> 1207 int (*Mod_Unload)(); Jun 03 19:12:09 <Cat> 1208 for (m = Modules; m; m = m->next) Jun 03 19:12:09 <Cat> 1209 { Jun 03 19:12:09 <Cat> 1210 irc_dlsym(m->dll, "Mod_Unload", Mod_Unload); Jun 03 19:12:09 <Cat> 1211 if (Mod_Unload) Jun 03 19:12:09 <Cat> 1212 (*Mod_Unload)(0); Jun 03 19:12:09 <Cat> 1213 remove(m->tmp_file); Jun 03 19:12:09 <Cat> 1214 } Jun 03 19:12:09 <Cat> 1215 } Jun 03 19:14:16 <codemastr> ok Jun 03 19:14:20 <codemastr> open include/modules.h Jun 03 19:14:33 <codemastr> find: Jun 03 19:14:36 <codemastr> #define irc_dlsym(x,y,z) shl_findsym(x,y,z) Jun 03 19:15:09 <codemastr> change it to: Jun 03 19:15:59 <codemastr> #define irc_dlsym(x,y,z) shl_findsym(&x,y,TYPE_UNDEFINED,z) Jun 03 19:16:13 <codemastr> then run make again </snip> afterwards the stop error dissapears, but at least the compile doesnt work. for example ... modules.c: In function `Module_Create': modules.c:197: warning: passing arg 1 of `shl_findsym' from incompatible pointer type ... modules.c: In function `Module_SymEx': modules.c:636: warning: passing arg 1 of `shl_findsym' from incompatible pointer type *** modules.o removed. ha023wa@dumbo:~/Unreal3.2$ seems there are problems with `shl_findsym' regards Cat |
|
Funfunfun. Actually, can't we add a config check or something (or if we have one, actually use it ok)? Coz dl* stuff should work fine on HP-UX 11. |
|
The fix for that is simple. I just need to add a un_umodule_t that is HMODULE on win32, void * on *nix, and shl_t on HP-UX. I will fix it today. I'd rather not use dl*() on HP-UX, because, we'd still need the shl_* because not all versions support dl*(). |
|
I am still working on this, it's just your machine isn't exactly the most responsive, so it is taking longer than I had expected :) |
|
Just an update, Unreal now compiles just fine. However, it refuses to load modules because of the fact that it can't find the symbols. Apparently, on HP-UX gcc doesn't have --export-dynamic. If you have any idea of how to emulate this, or where I could go to find out how HP-UX handles it, let me know, otherwise, for the time being, I'm at a deadend. |
|
Any update on this one? |
|
no plans to fix this on our end |
Date Modified | Username | Field | Change |
---|---|---|---|
2004-06-03 05:23 | ch | New Issue | |
2004-06-03 05:28 | ch | Note Added: 0006546 | |
2004-06-03 11:18 | syzop | Note Added: 0006547 | |
2004-06-03 12:36 |
|
Note Added: 0006551 | |
2004-06-04 04:24 | ch | Note Added: 0006574 | |
2004-06-04 11:30 | syzop | Note Added: 0006579 | |
2004-06-04 13:38 |
|
Note Added: 0006585 | |
2004-06-06 00:13 |
|
Note Added: 0006604 | |
2004-06-17 00:19 |
|
Note Added: 0006666 | |
2004-06-17 17:29 |
|
Status | new => assigned |
2004-06-17 17:29 |
|
Assigned To | => codemastr |
2005-08-19 14:43 | syzop | Summary | compile runs into stop error => Unreal does not work/compile on HP-UX |
2007-04-29 18:56 | vonitsanet | Note Added: 0013939 | |
2013-01-09 10:17 | syzop | Note Added: 0017317 | |
2013-01-09 10:17 | syzop | Status | assigned => resolved |
2013-01-09 10:17 | syzop | Resolution | open => wont fix |