View Issue Details

IDProjectCategoryView StatusLast Update
0001856unrealinstallingpublic2013-01-09 10:17
Reporterch Assigned Tocodemastr 
PrioritynormalSeveritymajorReproducibilityalways
Status resolvedResolutionwont fix 
PlatformPA-RISC 9000/806OSHP-UXOS Version11.0
Product Version3.2 
Summary0001856: Unreal does not work/compile on HP-UX
Descriptionha023wa@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 Reproducerunning 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]
TagsNo tags attached.
3rd party modules

Activities

ch

2004-06-03 05:28

reporter   ~0006546

forgot:
gcc version 3.3.2

syzop

2004-06-03 11:18

administrator   ~0006547

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]

codemastr

2004-06-03 12:36

reporter   ~0006551

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.

ch

2004-06-04 04:24

reporter   ~0006574

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

syzop

2004-06-04 11:30

administrator   ~0006579

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.

codemastr

2004-06-04 13:38

reporter   ~0006585

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*().

codemastr

2004-06-06 00:13

reporter   ~0006604

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 :)

codemastr

2004-06-17 00:19

reporter   ~0006666

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.

vonitsanet

2007-04-29 18:56

reporter   ~0013939

Any update on this one?

syzop

2013-01-09 10:17

administrator   ~0017317

no plans to fix this on our end

Issue History

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 codemastr 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 codemastr Note Added: 0006585
2004-06-06 00:13 codemastr Note Added: 0006604
2004-06-17 00:19 codemastr Note Added: 0006666
2004-06-17 17:29 codemastr Status new => assigned
2004-06-17 17:29 codemastr 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