From: Darren B. <dm...@gm...> - 2008-10-05 21:05:04
|
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’ |
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? |