From: Darren B. <dm...@gm...> - 2008-10-06 03:25:21
|
Darren Blaber wrote: > Hey, I'm running ubuntu 8.04 hardy for PPC, and I can't seem to build > sheepshaver (kernel 2.6.24). It fails with sheepthreads.c . I try not > building sheepthreads.c (by editing makefile) and sheepshaver fails > when loading the rom with SIGUSR2 signal. I don't understand how this > low level thread library works, so I am unable to fix it. > > 1. > gcc -I../include -I. -I../slirp -DHAVE_CONFIG_H -D_REENTRANT > -DDATADIR=\"/usr/local/share/SheepShaver\" -g -O2 -c > Linux/sheepthreads.c -o obj/sheepthreads.o > 2. > Linux/sheepthreads.c:53: error: field ‘__sem_lock’ has incomplete > type > 3. > Linux/sheepthreads.c:55: error: expected specifier-qualifier-list > before ‘_pthread_descr’ > 4. > Linux/sheepthreads.c: In function ‘fastlock_init’: > 5. > Linux/sheepthreads.c:190: error: dereferencing pointer to > incomplete type > 6. > Linux/sheepthreads.c:191: error: dereferencing pointer to > incomplete type > 7. > Linux/sheepthreads.c: In function ‘fastlock_try_acquire’: > 8. > Linux/sheepthreads.c:197: error: dereferencing pointer to > incomplete type > 9. > Linux/sheepthreads.c:198: error: dereferencing pointer to > incomplete type > 10. > Linux/sheepthreads.c:199: error: dereferencing pointer to > incomplete type > 11. > Linux/sheepthreads.c:203: error: dereferencing pointer to > incomplete type > 12. > Linux/sheepthreads.c: In function ‘fastlock_acquire’: > 13. > Linux/sheepthreads.c:211: error: dereferencing pointer to > incomplete type > 14. > Linux/sheepthreads.c: In function ‘fastlock_release’: > 15. > Linux/sheepthreads.c:218: error: dereferencing pointer to > incomplete type > 16. > Linux/sheepthreads.c:219: error: dereferencing pointer to > incomplete type > 17. > Linux/sheepthreads.c:219: error: dereferencing pointer to > incomplete type > 18. > Linux/sheepthreads.c:219: error: invalid lvalue in asm output 0 > 19. > Linux/sheepthreads.c:219: error: memory input 1 is not directly > addressable > 20. > Linux/sheepthreads.c: In function ‘pthread_mutex_init’: > 21. > Linux/sheepthreads.c:229: error: ‘pthread_mutex_t’ has no member > named ‘__m_lock’ > 22. > Linux/sheepthreads.c:230: error: ‘pthread_mutex_t’ has no member > named ‘__m_kind’ > 23. > Linux/sheepthreads.c:230: error: ‘pthread_mutexattr_t’ has no > member named ‘__mutexkind’ > 24. > Linux/sheepthreads.c:231: error: ‘pthread_mutex_t’ has no member > named ‘__m_count’ > 25. > Linux/sheepthreads.c:232: error: ‘pthread_mutex_t’ has no member > named ‘__m_owner’ > 26. > Linux/sheepthreads.c: In function ‘pthread_mutex_destroy’: > 27. > Linux/sheepthreads.c:243: error: ‘pthread_mutex_t’ has no member > named ‘__m_kind’ > 28. > Linux/sheepthreads.c:245: error: ‘pthread_mutex_t’ has no member > named ‘__m_lock’ > 29. > Linux/sheepthreads.c: In function ‘pthread_mutex_lock’: > 30. > Linux/sheepthreads.c:258: error: ‘pthread_mutex_t’ has no member > named ‘__m_kind’ > 31. > Linux/sheepthreads.c:260: error: ‘pthread_mutex_t’ has no member > named ‘__m_lock’ > 32. > Linux/sheepthreads.c: In function ‘pthread_mutex_trylock’: > 33. > Linux/sheepthreads.c:274: error: ‘pthread_mutex_t’ has no member > named ‘__m_kind’ > 34. > Linux/sheepthreads.c:276: error: ‘pthread_mutex_t’ has no member > named ‘__m_lock’ > 35. > Linux/sheepthreads.c: In function ‘pthread_mutex_unlock’: > 36. > Linux/sheepthreads.c:289: error: ‘pthread_mutex_t’ has no member > named ‘__m_kind’ > 37. > Linux/sheepthreads.c:291: error: ‘pthread_mutex_t’ has no member > named ‘__m_lock’ > 38. > Linux/sheepthreads.c: In function ‘pthread_mutexattr_init’: > 39. > Linux/sheepthreads.c:305: error: ‘pthread_mutexattr_t’ has no > member named ‘__mutexkind’ > 40. > Linux/sheepthreads.c: In function ‘sem_init’: > 41. > Linux/sheepthreads.c:336: error: ‘sem_t’ has no member named > ‘__sem_waiting’ > 42. > Linux/sheepthreads.c: In function ‘sem_destroy’: > 43. > Linux/sheepthreads.c:351: error: ‘sem_t’ has no member named > ‘__sem_waiting’ > 44. > Linux/sheepthreads.c:356: error: ‘sem_t’ has no member named > ‘__sem_waiting’ > 45. > Linux/sheepthreads.c: In function ‘sem_wait’: > 46. > Linux/sheepthreads.c:377: error: ‘sem_t’ has no member named > ‘__sem_waiting’ > 47. > Linux/sheepthreads.c:377: error: ‘sem_t’ has no member named > ‘__sem_waiting’ > 48. > Linux/sheepthreads.c: In function ‘sem_post’: > 49. > Linux/sheepthreads.c:400: error: ‘sem_t’ has no member named > ‘__sem_waiting’ > 50. > Linux/sheepthreads.c:401: error: ‘sem_t’ has no member named > ‘__sem_waiting’ > 51. > Linux/sheepthreads.c:401: error: ‘sem_t’ has no member named > ‘__sem_waiting’ > > > Well, it seems that this probably has to do with the modern linux distros using nptl which has some compatibility problems with sheepthreads (which expects linuxthreads). Is this correct? |