>
>
>> Has anybody successfully ported the GNU Portable Threads (Pth) library to
>> Linux/390? I've tried with versions 1.3.7 and 1.4.0.
>>
>> I have both the TurboLinux and SuSE 390 distrbutions and I get the same
>> compile errors on each distrbuition. The configurator does figure out the
>> system correctly as "s390-ibm-linux-gnu2.2glibc2.1".
>>
>> Thought I'd ask before jumping into the code.
>
> What compile errors do you get?
> It compiles out of the box on Debian, and "make check" succeeds. Maybe it
> is just a matter of building against a more up-to-date toolchain and
> libraries.
According to the Debian web page they don't have a "released" s390
version. And I know
it makes on Intel versions of Linux. I need this because I'm really
trying to port the Jabber
server and it requires the Pth libraries.
The errors I get are:
./shtool scpp -o pth_p.h -t pth_p.h.in -Dcpp -Cintern -M '==#=='
pth_compat.c pth_debug.c pth_syscall.c pth_errno.c pth_ring.c pth_mctx.c
pth_clean.c pth_time.c pth_tcb.c pth_util.c pth_pqueue.c pth_event.c
pth_sched.c pth_data.c pth_msg.c pth_cancel.c pth_sync.c pth_attr.c
pth_lib.c pth_fork.c pth_high.c pth_ext.c pth_string.c
./libtool --mode=compile --quiet gcc -c -I. -O2 -pipe pth_debug.c
In file included from pth_debug.c:29:
pth_debug.c:52: unbalanced `#endif'
pth_syscall.c:43: unbalanced `#endif'
pth_syscall.c:56: unbalanced `#endif'
pth_syscall.c:90: unbalanced `#endif'
pth_syscall.c:115: unbalanced `#endif'
pth_syscall.c:176: unbalanced `#endif'
pth_syscall.c:195: unbalanced `#endif'
pth_syscall.c:212: unbalanced `#endif'
pth_syscall.c:228: unbalanced `#endif'
pth_syscall.c:244: unbalanced `#endif'
pth_syscall.c:260: unbalanced `#endif'
pth_syscall.c:276: unbalanced `#endif'
pth_syscall.c:312: unbalanced `#endif'
pth_syscall.c:328: unbalanced `#endif'
pth_errno.c:51: unbalanced `#endif'
pth_ring.c:57: unbalanced `#endif'
pth_ring.c:63: unbalanced `#endif'
pth_ring.c:69: unbalanced `#endif'
pth_ring.c:75: unbalanced `#endif'
pth_ring.c:81: unbalanced `#endif'
pth_ring.c:87: unbalanced `#endif'
pth_ring.c:177: unbalanced `#endif'
pth_ring.c:210: unbalanced `#endif'
pth_mctx.c:137: unbalanced `#endif'
pth_time.c:36: unbalanced `#endif'
pth_time.c:71: unbalanced `#endif'
pth_time.c:116: unbalanced `#endif'
pth_time.c:127: unbalanced `#endif'
pth_tcb.c:82: unbalanced `#endif'
pth_util.c:33: unbalanced `#endif'
pth_pqueue.c:38: unbalanced `#endif'
pth_pqueue.c:167: unbalanced `#endif'
pth_pqueue.c:201: unbalanced `#endif'
pth_pqueue.c:207: unbalanced `#endif'
pth_event.c:52: unbalanced `#endif'
pth_msg.c:39: unbalanced `#endif'
pth_attr.c:46: unbalanced `#endif'
pth_lib.c:43: unbalanced `#endif'
pth_p.h.in:107: unbalanced `#endif'
In file included from pth_debug.c:29:
pth_mctx.c: In function `pth_cleanup_push':
pth_mctx.c:167: `pth_cleanup_t' undeclared (first use in this function)
pth_mctx.c:167: (Each undeclared identifier is reported only once
pth_mctx.c:167: for each function it appears in.)
pth_mctx.c:167: `cleanup' undeclared (first use in this function)
pth_mctx.c:171: parse error before `)'
pth_mctx.c: At top level:
pth_mctx.c:172: parse error before `while'
pth_mctx.c: In function `pth_cleanup_pop':
pth_mctx.c:182: `pth_cleanup_t' undeclared (first use in this function)
pth_mctx.c:182: `cleanup' undeclared (first use in this function)
pth_mctx.c:183: parse error before `int'pth_mctx.c:182: `cleanup'
undeclared (first use in this function)
pth_mctx.c:183: parse error before `int'
pth_mctx.c:185: `rc' undeclared (first use in this function)
pth_mctx.c:186: `pth_current' undeclared (first use in this function)
pth_tcb.c: At top level:
pth_tcb.c:76: parse error before `pth_cleanup_t'
pth_tcb.c:76: warning: no semicolon at end of struct or union
pth_tcb.c:80: parse error before `}'
pth_event.c: In function `pth_wait':
pth_event.c:398: `pth_current' undeclared (first use in this function)
pth_msg.c: In function `pth_msgport_create':
pth_msg.c:58: `pth_current' undeclared (first use in this function)
pth_lib.c: In function `pth_init':
pth_lib.c:52: `pth_initialized' undeclared (first use in this function)
pth_lib.c:70: `pth_sched' undeclared (first use in this function)
pth_lib.c:70: `pth_scheduler' undeclared (first use in this function)
pth_lib.c:72: `pth_errno_storage' undeclared (first use in this function)
pth_lib.c:72: `pth_errno_flag' undeclared (first use in this function)
pth_lib.c:86: `pth_main' undeclared (first use in this function)
pth_lib.c:103: `pth_current' undeclared (first use in this function)
pth_lib.c: In function `pth_kill':
pth_lib.c:114: `pth_current' undeclared (first use in this function)
pth_lib.c:114: `pth_main' undeclared (first use in this function)
pth_lib.c:119: `pth_initialized' undeclared (first use in this function)
pth_lib.c:120: `pth_sched' undeclared (first use in this function)
pth_lib.c: In function `pth_ctrl':
pth_lib.c:136: `pth_NQ' undeclared (first use in this function)
pth_lib.c:138: `pth_RQ' undeclared (first use in this function)
pth_lib.c:142: `pth_WQ' undeclared (first use in this function)
pth_lib.c:144: `pth_SQ' undeclared (first use in this function)
pth_lib.c:146: `pth_DQ' undeclared (first use in this function)
pth_lib.c:150: `pth_loadval' undeclared (first use in this function)
pth_lib.c:154: dereferencing pointer to incomplete type
pth_lib.c:158: dereferencing pointer to incomplete type
pth_lib.c: In function `pth_spawn_trampoline':
pth_lib.c:178: `pth_current' undeclared (first use in this function)
pth_lib.c: In function `pth_spawn':
pth_lib.c:204: warning: assignment makes pointer from integer without a cast
pth_lib.c:210: dereferencing pointer to incomplete type
pth_lib.c:211: dereferencing pointer to incomplete type
pth_lib.c:212: dereferencing pointer to incomplete type
pth_lib.c:213: dereferencing pointer to incomplete type
pth_lib.c:215: `pth_current' undeclared (first use in this function)
pth_lib.c:217: dereferencing pointer to incomplete type
pth_lib.c:218: dereferencing pointer to incomplete type
pth_lib.c:219: dereferencing pointer to incomplete type
pth_lib.c:220: dereferencing pointer to incomplete type
pth_lib.c:226: dereferencing pointer to incomplete type
pth_lib.c:227: dereferencing pointer to incomplete type
pth_lib.c:228: dereferencing pointer to incomplete type
pth_lib.c:229: dereferencing pointer to incomplete type
pth_lib.c:235: dereferencing pointer to incomplete type
pth_lib.c:235: dereferencing pointer to incomplete type
pth_lib.c:235: dereferencing pointer to incomplete type
pth_lib.c:236: dereferencing pointer to incomplete type
pth_lib.c:236: dereferencing pointer to incomplete type
pth_lib.c:236: dereferencing pointer to incomplete type
pth_lib.c:237: `pth_time_zero' undeclared (first use in this function)
pth_lib.c:237: dereferencing pointer to incomplete typepth_lib.c:237:
`pth_time_zero' undeclared (first use in this function)
pth_lib.c:237: dereferencing pointer to incomplete type
pth_lib.c:237: dereferencing pointer to incomplete type
pth_lib.c:237: dereferencing pointer to incomplete type
pth_lib.c:240: dereferencing pointer to incomplete type
pth_lib.c:243: dereferencing pointer to incomplete type
pth_lib.c:244: dereferencing pointer to incomplete type
pth_lib.c:247: dereferencing pointer to incomplete type
pth_lib.c:248: dereferencing pointer to incomplete type
pth_lib.c:251: dereferencing pointer to incomplete type
pth_lib.c:254: dereferencing pointer to incomplete type
pth_lib.c:255: dereferencing pointer to incomplete type
pth_lib.c:258: dereferencing pointer to incomplete type
pth_lib.c:259: dereferencing pointer to incomplete type
pth_lib.c:262: dereferencing pointer to incomplete type
pth_lib.c:265: dereferencing pointer to incomplete type
pth_lib.c:266: dereferencing pointer to incomplete type
pth_lib.c:267: dereferencing pointer to incomplete type
pth_lib.c:267: dereferencing pointer to incomplete type
pth_lib.c:267: dereferencing pointer to incomplete type
pth_lib.c:268: `pth_errno_storage' undeclared (first use in this function)
pth_lib.c:268: `pth_errno_flag' undeclared (first use in this function)
pth_lib.c:275: `pth_scheduler' undeclared (first use in this function)
pth_lib.c:276: dereferencing pointer to incomplete type
pth_lib.c:277: `pth_NQ' undeclared (first use in this function)
pth_lib.c:277: dereferencing pointer to incomplete type
pth_lib.c: In function `pth_self':
pth_lib.c:290: `pth_current' undeclared (first use in this function)
pth_lib.c: In function `pth_raise':
pth_lib.c:298: `pth_current' undeclared (first use in this function)
pth_lib.c:309: dereferencing pointer to incomplete type
pth_lib.c:310: dereferencing pointer to incomplete type
pth_lib.c:311: dereferencing pointer to incomplete type
pth_debug.c: At top level:
pth_p.h.in:109: warning: This file contains more `}'s than `{'s.
pth_debug.c: In function `__pth_dumpstate':
pth_debug.c:90: dereferencing pointer to incomplete type
pth_debug.c: In function `__pth_dumpqueue':
pth_debug.c:110: dereferencing pointer to incomplete type
make: *** [pth_debug.lo] Error 1
--
Dave Pitts PULLMAN: Travel and sleep in safety and comfort.
[EMAIL PROTECTED] My other RV IS a Pullman (Colorado Pine).
http://www.cozx.com/~dpitts