Page 1 of 1

Unreal on HP-UX: Unsatisfied symbols

Posted: Fri Nov 03, 2006 9:10 am
by zibada
oot@zippo:/usr/Unreal3.2 uname -a
HP-UX zippo B.11.11 U 9000/811

root@zippo:/usr/Unreal3.2 make
Building src
cd modules; make all
gcc -I../include -I/usr/Unreal3.2/extras/regexp/include -I/usr/Unreal3.2/extras/c-ares/include -L../extras/c-ares/li
b -pipe -g -O2 -funsigned-char -fno-strict-aliasing -lV3 -fPIC -o commands.so l_commands.c \
m_sethost.o m_chghost.o m_chgident.o m_setname.o m_setident.o m_sdesc.o m_svsmode.o m_swhois.o m_svsmotd.o m_svsnli ne.o m_who.o m_mkpasswd.o m_away.o m_svsnoop.o m_svso.o m_svsnick.o m_adminchat.o m_akill.o m_chgname.o m_guest.o m_htm.o m_kill.o m_lag.o m_message.o webtv.o m_nachat.o m_oper.o m_pingpong.o m_quit.o m_rakill.o m_rping.o m_sendumode.o m_sqline.o m_tsctl.o m_unkline.o m_unsqline.o m_unzline.o m_whois.o m_tkl.o m_vhost.o m_cycle.o m_svsjoin.o m_svspart.o m_svsluse rs.o m_svswatch.o m_svssilence.o m_sendsno.o m_svssno.o m_sajoin.o m_sapart.o m_samode.o m_kick.o m_topic.o m_invite.o m_l ist.o m_time.o m_svskill.o m_sjoin.o m_pass.o m_userhost.o m_ison.o m_silence.o m_knock.o m_umode2.o m_squit.o m_protoctl.o m_addline.o m_addmotd.o m_addomotd.o m_wallops.o m_admin.o m_globops.o m_locops.o m_chatops.o m_trace.o m_netinfo.o m_links.o m_help.o m_rules.o m_close.o m_map.o m_eos.o m_server.o m_stats.o m_svsfline.o m_dccdeny.o m_undccdeny.o m_whowas.o m_connect.o m_dccallow.o m_userip.o m_nick.o m_user.o m_mode.o m_watch.o m_part.o m_join.o m_motd.o m_opermotd.o m_botmot d.o m_lusers.o m_names.o
/usr/ccs/bin/ld: Unsatisfied symbols:
Snomask_highest (data)
UMODE_HIDEWHOIS (data)
find_server (code)
AllUmodes (data)
Snomask_Table (data)
LastSlot (data)
debugmode (data)
banact_chartoval (code)
ModuleSetOptions (code)
sendto_one_nickcmd (code)
send_proto (code)
tklines (data)
clean_ban_mask (code)
hash_find_channel (code)
Auth_FindType (code)
Usermode_Table (data)
is_chan_op (code)
conf_allow_dcc (data)
cmodestring (data)
LockEventSystem (code)
place_host_ban (data)
make_server (code)
unreal_decodespace (code)
dcc_isdiscouraged (code)
motd (data)
add_server_to_table (code)
sendto_realops (code)
creation (data)
UMODE_COADMIN (data)
add_dccallow (code)
encode_ip (code)
banact_valtochar (code)
is_banned_with_nick (code)
conf_link (data)
make_virthost (code)
extcmode_get_struct (code)
tkl_synch (data)
on_dccallow_list (code)
is_half_op (code)
create_snomask (code)
conf_deny_link (data)
motd_tm (data)
Find_tld (code)
char_atribs (data)
conf_except (data)
sendto_serv_butone_sjoin (code)
conf_admin_tail (data)
currentrate2 (data)
add_client_to_list (code)
cFlagTab (data)
dontspread (data)
Find_vhost (code)
conf_allow (data)
add_invite (code)
sendto_one (code)
opermode (data)
find_str_match_link (code)
is_chanowner (code)
find_tkline_match (data)
find_member_link (code)
chanfloodtimer_del (code)
check_for_chan_flood (code)
conf_ulines (data)
tkl_typetochar (data)
remove_oper_snomasks (code)
iConf (data)
LRV (data)
UMODE_SADMIN (data)
verify_opercount (code)
conf_ban (data)
local (data)
UMODE_FAILOP (data)
del_ListItem (code)
SNO_SNOTICE (data)
currentrate (data)
tkl_add_line (data)
freelink (data)
get_sno_str (code)
do_join (data)
send_umode_out (code)
add_to_watch_hash_table (code)
SNO_SPAMF (data)
sendto_common_channels (code)
make_user_host (code)
get_snostr (code)
SNO_VHOST (data)
SNO_KILLS (data)
remove_user_from_channel (code)
hash_check_watch (code)
hash_whowas_name (code)
SNO_TKL (data)
do_nick_name (code)
is_chanprot (code)
conf_badword_channel (data)
modebuf (data)
set_mode (data)
loop (data)
banact_valtostring (code)
valid_host (code)
ircsprintf (code)
add_to_client_hash_table (code)
EfunctionAddMain (code)
m_umode (data)
make_link (code)
tolowertab (data)
pretty_time_val (code)
oper_fdlist (data)
sendto_channel_butserv (code)
conf_oper (data)
base64dec (code)
strlcpy (code)
unreal_free_hostent (code)
add_throttling_bucket (code)
CommandHash (data)
get_client_name2 (code)
chanfloodtimer_stopchantimers (code)
sendto_failops_whoare_opers (code)
SVSNOOP (data)
spamfilter_gettargets (code)
find_tkline_match_zap_ex (data)
Hooks (data)
RCallbacks (data)
hash_get_watch (code)
add_silence (code)
highest_rate (data)
noisy_htm (data)
sendto_snomask_normal (code)
stripbadwords_quit (data)
conf_badword_quit (data)
EXTMODE_STRIPBADWORDS (data)
stripbadwords_channel (data)
strtoken (code)
del_dccallow (code)
get_cptr_status (code)
DCCdeny_add (code)
sendto_serv_butone_nickcmd (code)
send_list (data)
sendanyways (data)
sendto_channelprefix_butone_tok (code)
add_history (code)
dbufblocks (data)
sendto_channelprefix_butone (code)
conf_tld (data)
channel_modef_string (code)
UMODE_WEBTV (data)
sendmodeto_one (code)
UMODE_DEAF (data)
StatsZ (data)
conf_offchans (data)
SNO_EYES (data)
spamf_ugly_vchanoverride (data)
sendto_message_one (code)
get_client_host (code)
UMODE_WHOIS (data)
is_skochanop (code)
UMODE_BOT (data)
read_file (code)
findmod_by_bantype (code)
channel (data)
WHOWASHASH (data)
spamfilter_target_inttostring (code)
get_channel (code)
find_or_add (code)
EventMod (code)
Find_uline (code)
ircstp (data)
date (code)
can_join (data)
UMODE_HELPOP (data)
IRCstats (data)
collapse (code)
getreply (code)
UMODE_HIDEOPER (data)
svsmotd (data)
check_channelmask (code)
find_match_server (code)
conf_allow_channel (data)
find_membership_link (code)
TokenHash (data)
stripbadwords_message (data)
parse_netmask (code)
set_snomask (code)
smycmp (code)
tkl_stats (data)
UMODE_WALLOP (data)
UMODE_SERVICES (data)
addto_fdlist (code)
SNO_CLIENT (data)
Inet_ia2p (code)
sendto_locfailops (code)
tkl_check_local_remove_shun (data)
add_Command (code)
parse (code)
HookAddMain (code)
unreal_buildspamfilter (code)
tkl_check_expire (data)
SNO_FNICKCHANGE (data)
rules (data)
free_str_list (code)
find_invex (code)
add_listmode (code)
sendnotice (code)
conf_deny_dcc (data)
tkl_hash (data)
find_server_b64_or_real (code)
op_can_override (code)
UMODE_OPER (data)
del_invite (code)
config_error (code)
convert_time (code)
lifesux (data)
helpign (data)
sbrk0 (data)
UMODE_NOCTCP (data)
find_qline (data)
myctime (code)
do_chanflood_action (code)
conf_deny_channel (data)
EXTMODE_JOINTHROTTLE (data)
getrandom32 (code)
dcc_sync (code)
unreal_encodespace (code)
langsinuse (data)
conf_class (data)
me_hash (data)
UMODE_VICTIM (data)
next_client (code)
rejoin_dojoinandmode (code)
make_user (code)
send_user_joins (code)
sendto_serv_butone_token_opt (code)
is_chanownprotop (code)
send_umode (code)
find_person (code)
sendto_ops_butone (code)
Auth_Make (code)
UMODE_STRIPBADWORDS (data)
iCstrip (code)
canonize (code)
getcloak (code)
tkl_expire (data)
base64enc (code)
UMODE_HIDE (data)
EventAddEx (code)
unreal_create_hostent (code)
conf_badword_message (data)
UMODE_SETHOST (data)
my_itoa (code)
strlncat (code)
StripControlCodes (data)
find_chasing (code)
get_history (code)
SendUmodes (data)
short_motd (code)
myncmp (code)
numeric_collides (code)
register_user (data)
sendto_ops (code)
zlinebuf (data)
sendto_match_butone (code)
tkl_del_line (data)
timeofday (data)
Find_ban (code)
find_server_by_base64 (code)
sendto_failops (code)
find_server_quickx (code)
sendto_serv_butone_token (code)
do_remote_nick_name (code)
config_checkval (code)
touppertab (data)
inetntoa (code)
UMODE_NETADMIN (data)
hash_del_watch_list (code)
sendto_fconnectnotice (code)
count_watch_memory (code)
has_voice (code)
del_from_client_hash_table (code)
rejoin_doparts (code)
max_connection_count (data)
main
Find_cgiirc (code)
UnlockEventSystem (code)
Find_link (code)
lastrecvK (data)
SNO_NICKCHANGE (data)
check_for_target_limit (code)
SNO_JUNK (data)
UMODE_ADMIN (data)
EventDel (code)
parse_help (code)
UMODE_SERVNOTICE (data)
parabuf (data)
add_CommandX (code)
delfrom_fdlist (code)
del_listmode (code)
me (data)
unreal_checkregex (code)
m_tkl (data)
umodestring (data)
join_channel (data)
Find_channel_allowed (code)
TS2ts (code)
del_from_watch_hash_table (code)
iNAH_host (code)
dospamfilter (data)
match (code)
cmodej_addentry (code)
sendto_umode (code)
get_mode_str (code)
del_silence (code)
flinks (data)
sendto_connectnotice (code)
HTMLOCK (data)
conf_deny_version (data)
is_banned (code)
IsupportStrings (data)
UMODE_LOCOP (data)
make_client (code)
get_access (code)
exit_client (code)
match_ip (code)
Find_banEx (code)
CommandAdd (code)
find_shun (data)
Find_deny_dcc (code)
extcmode_duplicate_paramlist (code)
conf_vhost (data)
do_chanflood (code)
channel_modes (code)
get_modestr (code)
extcmode_free_paramlist (code)
TSoffset (data)
MyMallocEx (code)
UMODE_KIX (data)
serv_fdlist (data)
client (data)
crule_eval (code)
nextping (data)
find_client (code)
sub1_from_channel (code)
Halfop_mode (code)
sendto_chanops_butone (code)
backupbuf (data)
find_nickserv (code)
make_nick_user_host (code)
free_ban (code)
opermotd (data)
dospamfilter_viruschan (data)
add_user_to_channel (code)
atime (code)
do_cmd (code)
sendto_serv_butone (code)
add_ListItem (code)
LCF (data)
DCCdeny_del (code)
UMODE_RGSTRONLY (data)
StripColors (data)
serveropts (data)
connect_server (code)
SNO_QLINE (data)
count_whowas_memory (code)
can_send (code)
hunt_server_token (code)
SNO_OPER (data)
get_client_name (code)
UMODE_INVISIBLE (data)
dcc_wipe_services (code)
ircd_log (code)
UMODE_REGNICK (data)
configfile (data)
Usermode_highest (data)
Channelmode_highest (data)
Auth_Check (code)
sendto_snomask_global (code)
Find_oper (code)
throttle_can_connect (code)
dcc_isforbidden (code)
do_mode (data)
highest_rate2 (data)
decode_ip (code)
clean_channelname (code)
version (data)
Channelmode_Table (data)
UMODE_SECURE (data)
oflagstr (code)
count_oper_sessions (code)
hunt_server_token_quiet (code)
sendto_snomask (code)
lastsendK (data)
Servers (data)
chmode_str (code)
cmdname_by_spamftarget (code)
check_client (code)
hash_get_chan_bucket (code)
sendto_prefix_one (code)
botmotd (data)
banact_stringtoval (code)
pretty_mask (code)
strlcat (code)
del_Command (code)
collect2: ld returned 1 exit status
*** Error exit code 1

Stop.
*** Error exit code 1

Stop.
*** Error exit code 1

Stop.


What is it?

Re: Unsatisfied symbols

Posted: Fri Nov 03, 2006 12:19 pm
by Jobe
zibada wrote:root@zippo:/usr/Unreal3.2 make
Well for a start don't compile as root. :)

Posted: Fri Nov 03, 2006 1:05 pm
by zibada
Well for a start don't compile as root
That's the reason?

Posted: Fri Nov 03, 2006 4:41 pm
by Jobe
Possibly, but it is reccomended you dont compile or run UnrealIRCd as root so it may have an effect.

Posted: Fri Nov 03, 2006 4:51 pm
by Syzop
I'm not sure if Unreal even compiles/runs on HP-UX :P

Posted: Fri Nov 03, 2006 5:24 pm
by zibada
I compilling UnrealIRC on my linux 2.6 under root, and all was well
I know, that reason not in user
I'm not sure if Unreal even compiles/runs on HP-UX :P
so, for what this lines? :

Unreal3.2/include/config.h , line 489
#ifdef __hpux
#define HPUX
#endif

Unreal3.2/include/modules.h , line 35
#elif defined(HPUX)
#define MOD_EXTENSION "so"
#define irc_dlopen(x,y) shl_load(x,y,0L)
#define irc_dlsym(x,y,z) shl_findsym(x,y,z)
#define irc_dlclose shl_unload
#define irc_dlerror() strerror(errno)

Unreal3.2/include/modules.c , line 42
#elif defined(HPUX)
#include <dl.h>

P.S. sorry for my poor English :(

Posted: Fri Nov 03, 2006 5:39 pm
by Syzop
I know.

Check Changes.old... codemastr was adding support without even having an HP-UX box ;)
Check unreal32docs.html with supported OS's, HP-UX is not in the list.

Ask around, if someone else with HP-UX has it working, perhaps he/she can help, if he/she can feed that back to us so it works for all HP-UX users, perhaps we can then add HP-UX to the supported OS list.

Posted: Sun Nov 05, 2006 6:57 am
by zibada
Today I finished compilling
In file ../src/modules/Makefile I change line:

MODULEFLAGS=-fPIC

to

MODULEFLAGS=-fPIC -shared

and compillation finished normally

after run ircd i get:

root@zippo:/usr/local/ircd ./ircd
_ _ _ ___________ _____ _
| | | | | |_ _| ___ \/ __ \ | |
| | | |_ __ _ __ ___ __ _| | | | | |_/ /| / \/ __| |
| | | | '_ \| '__/ _ \/ _` | | | | | / | | / _` |
| |_|| | | | | | __/ (_| | |_| |_| |\ \ | \__/\ (_| |
\__/|_| |_|_| \___|\__,_|_|\___/\_| \_| \____/\__,_|
v3.2.5
using TRE 0.7.2 (GPL)
using zlib 1.2.3

* Loading IRCd configuration ..
* unrealircd.conf:36: loadmodule modules/cloak.so: failed to load: Unresolved symbol: char_atribs (data) from tmp/F3A27132.cloak.so
[error] IRCd configuration failed to load

also i tryed to use keys -lV3 and -lm, but is had no effect

is any ideas?

IT WORKS !!! ;)

Posted: Mon Nov 06, 2006 11:04 pm
by zibada
Maybe this information will need to somebody.

First, about my system:

root@zippo:/ uname -a
HP-UX zippo B.11.11 U 9000/811 2008107514 unlimited-user license

root@zippo:/ gcc -v
Reading specs from /usr/bin/../lib/gcc-lib/hppa2.0w-hp-hpux11.00/3.0.1/specs
Configured with: ../gcc-3.0.1/configure --prefix=/opt/precompiled/gcc-3.0.1-32 --with-gnu-as --with-as=/opt/precompiled/gcc-3.0.1-32/bin/as
--with-ld=/usr/ccs/bin/ld --enable-version-specific-runtime-libs --enable-languages=c,c++,f77
Thread model: single
gcc version 3.0.1

I take it from here: ftp://sunsite.informatik.rwth-aachen.de ... 00.tar.bz2

root@zippo:/ ld -V
92453-07 linker command s800.sgs ld PA64 B.11.18 REL 000922
ld: 92453-07 linker linker ld B.11.18 000922
ld: Usage: ld [options] [flags] files

zlib taked from here: http://hpux.connect.org.uk/hppd/hpux/Misc/zlib-1.2.3/

1. First problem - socket.h

...
configure: creating ./config.status
config.status: creating Makefile
config.status: creating config.h
config.status: executing depfiles commands
compiling c-ares resolver library
gmake all-am
gmake[1]: Entering directory `/usr/Unreal3.2/extras/c-ares-1.3.0'
if /bin/sh ./libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -MT ares_fds.lo -MD -MP -MF ".deps/ares_fds.Tpo"
-c -o ares_fds.lo ares_fds.c; \
then mv -f ".deps/ares_fds.Tpo" ".deps/ares_fds.Plo"; else rm -f ".deps/ares_fds.Tpo"; exit 1; fi
gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -MT ares_fds.lo -MD -MP -MF .deps/ares_fds.Tpo -c ares_fds.c -o ares_fds.o
In file included from ares.h:39,
from ares_fds.c:23:
/usr/include/sys/socket.h:484: parse error before "sendfile"
/usr/include/sys/socket.h:484: parse error before "bsize_t"
/usr/include/sys/socket.h:486: parse error before "sendpath"
/usr/include/sys/socket.h:486: parse error before "bsize_t"
gmake[1]: *** [ares_fds.lo] Error 1
gmake[1]: Leaving directory `/usr/Unreal3.2/extras/c-ares-1.3.0'
gmake: *** [all] Error 2

in file /usr/include/sys/socket.h i just comment this block:
extern sbsize_t sendfile __((int, int, off_t, bsize_t,
const struct iovec *, int));
extern sbsize_t sendpath __((int, char *, off_t, bsize_t,
const struct iovec *, int));


2. Second problem - #define HPUX

...
gcc -I../include -I/usr/Unreal3.2/extras/regexp/include -I/usr/Unreal3.2/extras/c-ares/include -L../extras/c-ares/lib -pipe -g -O2
-funsigned-char -fno-strict-aliasing -I/usr/local/include -DZIP_LINKS -Wl,-E -L/usr/local/lib -c timesynch.c
In file included from ../include/struct.h:872,
from timesynch.c:21:
../include/modules.h:411: parse error before "shl_t"
../include/modules.h:411: warning: no semicolon at end of struct or union
../include/modules.h:424: parse error before '}' token
timesynch.c: In function `unreal_time_synch':
timesynch.c:220: warning: passing arg 2 of `select' from incompatible pointer type
*** Error exit code 1

in file modules.h i comment block:

#elif defined(HPUX)
shl_t dll;

...
gcc -I../include -I/usr/Unreal3.2/extras/regexp/include -I/usr/Unreal3.2/extras/c-ares/include -L../extras/c-ares/lib -pipe -g -O2
-funsigned-char -fno-strict-aliasing -I/usr/local/include -DZIP_LINKS -Wl,-E -L/usr/local/lib -c modules.c
modules.c: In function `Module_Create':
modules.c:344: warning: passing arg 3 of `shl_findsym' makes integer from pointer without a cast
modules.c:344: too few arguments to function `shl_findsym'
modules.c:362: warning: passing arg 3 of `shl_findsym' makes integer from pointer without a cast
modules.c:362: too few arguments to function `shl_findsym'
modules.c:375: warning: passing arg 3 of `shl_findsym' makes integer from pointer without a cast
modules.c:375: too few arguments to function `shl_findsym'
modules.c:414: warning: passing arg 3 of `shl_findsym' makes integer from pointer without a cast
modules.c:414: too few arguments to function `shl_findsym'
modules.c:420: warning: passing arg 3 of `shl_findsym' makes integer from pointer without a cast
modules.c:420: too few arguments to function `shl_findsym'
modules.c:426: warning: passing arg 3 of `shl_findsym' makes integer from pointer without a cast
modules.c:426: too few arguments to function `shl_findsym'
modules.c:437: warning: passing arg 3 of `shl_findsym' makes integer from pointer without a cast
modules.c:437: too few arguments to function `shl_findsym'
modules.c:440: warning: passing arg 3 of `shl_findsym' makes integer from pointer without a cast
modules.c:440: too few arguments to function `shl_findsym'
modules.c: In function `Init_all_testing_modules':
modules.c:527: warning: passing arg 3 of `shl_findsym' makes integer from pointer without a cast
modules.c:527: too few arguments to function `shl_findsym'
modules.c: In function `Unload_all_loaded_modules':
modules.c:562: warning: passing arg 3 of `shl_findsym' makes integer from pointer without a cast
modules.c:562: too few arguments to function `shl_findsym'
modules.c: In function `Module_Unload':
modules.c:798: warning: passing arg 3 of `shl_findsym' makes integer from pointer without a cast
modules.c:798: too few arguments to function `shl_findsym'
modules.c: In function `Module_SymEx':
modules.c:834: warning: passing arg 3 of `shl_findsym' makes integer from pointer without a cast
modules.c:834: too few arguments to function `shl_findsym'
modules.c: In function `Module_Sym':
modules.c:856: warning: passing arg 3 of `shl_findsym' makes integer from pointer without a cast
modules.c:856: too few arguments to function `shl_findsym'
modules.c: In function `Module_SymX':
modules.c:878: warning: passing arg 3 of `shl_findsym' makes integer from pointer without a cast
modules.c:878: too few arguments to function `shl_findsym'
modules.c: In function `module_loadall':
modules.c:910: warning: passing arg 3 of `shl_findsym' makes integer from pointer without a cast
modules.c:910: too few arguments to function `shl_findsym'
modules.c: In function `unload_all_modules':
modules.c:1544: warning: passing arg 3 of `shl_findsym' makes integer from pointer without a cast
modules.c:1544: too few arguments to function `shl_findsym'
*** Error exit code 1

Stop.
*** Error exit code 1

Stop.

in file modules.h i comment block:

#elif defined(HPUX)
#define MOD_EXTENSION "so"
#define irc_dlopen(x,y) shl_load(x,y,0L)
#define irc_dlsym(x,y,z) shl_findsym(x,y,z)
#define irc_dlclose shl_unload
#define irc_dlerror() strerror(errno)

in file modules.c comment this block:
#elif defined(HPUX)
#include <dl.h>
#define RTLD_NOW BIND_IMMEDIATE

3. Third problem - Unsatisfied symbols
I get it, cause .../src/modules/Makefile key MODULEFLAGS looked as:
MODULEFLAGS=-fPIC
but on my linux-compillation key was:
MODULEFLAGS=-fPIC -shared -DPIC

i changed it


4. Fourth problem - Unresolved symbol

i add -export-dynamic -Wl,-E keys to XCFLAGS in Unreal3.2/Makefile
(-Wl,-E - for my ld - it so old, and can't recognize option -export-dynamic)



So, after that, i get working UnrealIRCD on my HPUX
If any developers want to get my compillation logs, i can mail them