Hello, I am trying to compile a program using the non-portable (np) pthread_setaffinity_np() call and I am running into problems with glibc.
With LinuxThreads, the call is not defined (as expected): gcc -Wall -O2 -g -pthread -D_GNU_SOURCE -c test.c test.c: In function 'pfms_thread_mainloop': test.c:147: warning: implicit declaration of function 'pthread_setaffinity_np' gcc -Wall -O2 -g -pthread -D_GNU_SOURCE -o test test.o -lm -lpthread test.o: In function `main':test.c:147: undefined reference to `pthread_setaffinity_np' forcing the use of NPTL, I run into another problem with the cancel calls which I do not quite understand. Apparently some of the calls are declared as hidden but I don't know why. Note that I do not explicitely refer to those __pthread*cancel() calls, instead I use the documented testcancel(), setcancelstate(), cancel(). is what I get: gcc -Wall -O2 -g -pthread -D_GNU_SOURCE -I/usr/include/nptl -c test.c gcc -Wall -O2 -g -pthread -D_GNU_SOURCE -I/usr/include/nptl -D_GNU_SOURCE -o test test.o -lm -lpthread test.o: In function `barrier_wait':test.c:93: undefined reference to `__pthread_register_cancel' :test.c:127: undefined reference to `__pthread_unregister_cancel' :test.c:127: undefined reference to `__pthread_unregister_cancel' test.o: In function `pfms_thread_mainloop':test.c:147: undefined reference to `pthread_setaffinity_np' I am runing Sarge/testing on i686: $ dpkg -i | fgrep libc6 ii libc6 2.3.5-13 GNU C Library: Shared libraries and Timezone ii libc6-dev 2.3.5-13 GNU C Library: Development Libraries and Hea ii libc6-i686 2.3.5-13 GNU C Library: Shared libraries [i686 optimi ii gcc 4.0.2-2 The GNU C compiler ii gcc-4.0 4.0.2-9 The GNU C compiler ii gcc-4.0-base 4.0.2-9 The GNU Compiler Collection (base package) ii libgcc1 4.0.2-9 GCC support library The same problem exists on Debian/testing on IA-64. Does anybody know what I am missing? Thanks. -- -Stephane -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]