185 lines
		
	
	
		
			5.2 KiB
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			185 lines
		
	
	
		
			5.2 KiB
		
	
	
	
		
			Python
		
	
	
	
| Build Notes for POSIX Test Suite
 | |
| ================================
 | |
| Last update : 2010-07-10 updated for LTP-head (based off of posixtestsuite 1.40)
 | |
| 
 | |
| The POSIX Test Suite should be able to be run independently of any given
 | |
| OS, so the OS-specific steps for configuring the POSIX Test Suite to run
 | |
| are currently manual.
 | |
| 
 | |
| IN GENERAL
 | |
| ==========
 | |
| In general, when calling *make:
 | |
| - If you need to pass in any header locations, preprocessor definitions, etc,
 | |
|   set the value via CFLAGS.
 | |
| - If you need to pass in any libraries for linking, set the value via LDLIBS.
 | |
| - If you need to pass any other values to the linker, set the value via LDFLAGS.
 | |
| - Each subdirectory optionally contains one of the above files to denote the
 | |
|   fact that it needs special linker flags, preprocessor defines, etc. This is
 | |
|   done in this fashion to ensure that the requirements for each subdirectory is
 | |
|   correctly tuned in a deterministic manner.
 | |
| 
 | |
| FREEBSD
 | |
| =======
 | |
| 
 | |
| ================
 | |
| Asynchronous I/O
 | |
| ================
 | |
| Realtime asynchronous I/O has been available in FreeBSD since 5.x. Please add:
 | |
| 
 | |
| options		VFS_AIO
 | |
| 
 | |
| to your kernel conf or build, install, and load the aio module.
 | |
| 
 | |
| ================
 | |
| Message Queues
 | |
| ================
 | |
| POSIX message queues have been available in FreeBSD since 6.x. Please add:
 | |
| 
 | |
| options		P1003_1B_MQUEUE
 | |
| 
 | |
| to your kernel conf or build and install the mqueue module, and load it with:
 | |
| 
 | |
| kldload mqueuefs
 | |
| 
 | |
| ================
 | |
| Realtime Support
 | |
| ================
 | |
| Realtime support has been available for a long time (I think 3.x). Please add:
 | |
| 
 | |
| options		_KPOSIX_PRIORITY_SCHEDULING
 | |
| 
 | |
| to your kernel conf. There isn't a corresponding module for this feature.
 | |
| 
 | |
| ================
 | |
| Semaphores
 | |
| ================
 | |
| POSIX semaphores have been available in FreeBSD since 5.x. Please add:
 | |
| 
 | |
| options		P1003_1B_SEMAPHORES
 | |
| 
 | |
| to your kernel conf or build, install, and load the sem module.
 | |
| 
 | |
| LINUX
 | |
| =====
 | |
| Notes for running POSIX Test Suite against Linux implementations of
 | |
| POSIX functionality.  (Note:  If these implementations are accepted into
 | |
| the kernel, then the manual intervention will no longer apply, and we will
 | |
| update this document.)
 | |
| 
 | |
| Please refer to your linux distribution's manual for the kernel and
 | |
| library information.
 | |
| 
 | |
| Notes for each test section are here. It is targeted for general linux
 | |
| kernel 2.6 and glibc-2.3.3.
 | |
| 
 | |
| =======
 | |
| Threads
 | |
| =======
 | |
| 
 | |
| LinuxThreads
 | |
| -------------
 | |
| If LinuxThreads is the default POSIX thread implementation,
 | |
| to build against LinuxThreads, add '-lpthread' to LDLIBS.
 | |
| 
 | |
| NPTL
 | |
| ----
 | |
| If NPTL is the default POSIX thread implementation, add '-lpthread' to LDLIBS.
 | |
| 
 | |
| Otherwise, to build against NPTL, export the following variable:
 | |
| 
 | |
| export GLIBCDIR=/path/to/NPTL/libc-build
 | |
| 
 | |
| Then in LDFLAGS, add the following lines:
 | |
| 
 | |
| $GLIBCDIR/nptl/libpthread.so.0 $GLIBCDIR/libc.so.6 -Wl,-rpath,$GLIBCDIR:$GLIBCDIR/nptl:$GLIBCDIR/elf,-dynamic-linker,$GLIBCDIR/elf/ld-linux.so.2
 | |
| 
 | |
| NGPT
 | |
| ----
 | |
| To build against NGPT, export the following variables:
 | |
| 
 | |
| export LD_PRELOAD=libpthread.so.0
 | |
| export LD_LIBRARY_PATH="/usr/lib:/lib:$LD_LIBRARY_PATH"
 | |
| 
 | |
| Then make sure to add '-lpthread' to LDLIBS.
 | |
| 
 | |
| ==============
 | |
| Message Queues
 | |
| ==============
 | |
| POSIX Message Queue (Wronski/Benedyczak's implementation) has been
 | |
| included into linux kernel since 2.6.4-rc1-mm1.
 | |
| But you still need to install a user library at the time of writing this
 | |
| document.
 | |
| 
 | |
| posix1b
 | |
| -------
 | |
| To build against the posix1b message queues, see the semaphores information for posix1b.
 | |
| Also, add -I/usr/include/posix1b/ to CPPFLAGS.
 | |
| 
 | |
| Wronski/Benedyczak
 | |
| ------------------
 | |
| To build against the Michal Wronski/Krzysztof Benedyczak message queues,
 | |
| install the kernel patches from http://www.mat.uni.torun.pl/~wrona/posix_ipc/
 | |
| and then build the user library from the same site.  Add '-lmqueue' to
 | |
| LDLIBS to run tests.
 | |
| To create the message queue file system, do:
 | |
| # mkdir /dev/mqueue
 | |
| # mount -t mqueue none /dev/mqueue
 | |
| 
 | |
| ==========
 | |
| Semaphores
 | |
| ==========
 | |
| NPTL
 | |
| ----
 | |
| If NPTL is installed as default POSIX thread library, set '-lpthread -lrt' in
 | |
| LDLIBS.
 | |
| 
 | |
| Otherwise, to build against NPTL, export the following variable:
 | |
| 
 | |
| export GLIBCDIR=/path/to/NPTL/libc-build
 | |
| 
 | |
| Then set the following to LDFLAGS:
 | |
| 
 | |
| $GLIBCDIR/nptl/libpthread.so.0 $GLIBCDIR/libc.so.6 -Wl,-rpath,$GLIBCDIR:$GLIBCDIR/nptl:$GLIBCDIR/elf,-dynamic-linker,$GLIBCDIR/elf/ld-linux.so.2
 | |
| 
 | |
| 
 | |
| posix1b
 | |
| -------
 | |
| To run the semaphore test suite against posix1b, you will need to download
 | |
| and install the posix1b library.
 | |
| 
 | |
| Start downloading it from: http://www.garret.ru/~knizhnik/posix1b.tar.gz
 | |
| Once you have the library compiled and installed in /usr/lib.
 | |
| Add '-lposix1b' to LDLIBS:
 | |
| 
 | |
| Make sure /usr/lib/ is in your PATH.
 | |
| 
 | |
| =======
 | |
| Signals
 | |
| =======
 | |
| 
 | |
| For the signals-related interfaces that start with "pthread_", refer to
 | |
| the Threads section above to learn how to build those particular tests.
 | |
| 
 | |
| Also, please note that if you using version of gcc older than version 3.2-7,
 | |
| you may run into lots of build and link errors. Please use gcc version 3.2-7
 | |
| or newer.
 | |
| 
 | |
| =====
 | |
| XCOFF
 | |
| =====
 | |
| 
 | |
| Since the XCOFF main is called .main, the line:
 | |
| 64          nm -g --defined-only $< | grep -q " T main" || exit 0; \
 | |
| 
 | |
| needs to replace main with .main to get these tests to compile.
 | |
| 
 | |
| Maintainers:	Julie Fleischer
 | |
| 		Rolla Selbak
 | |
| 		Salwan Searty
 | |
| 		Majid Awad
 | |
| 		Crystal Xiong
 | |
| 		Adam Li
 | |
| Contributors:	Jerome Marchand
 | |
| 		Ulrich Drepper
 | |
| 		Ngie Cooper
 |