...
compile 된 app의 bit 수 알아내기
OS가 Linux나 Un*x 계열에서 현재 app 가 몇 비트인지는 다음 명령어를 통해 알아낼 수 있다.
...
Code Block |
---|
$ uname -m x86_64 |
getconf 를 통해 LFS 를 지원하는데 필요한 compiler flag 를 알아 낼수 있다. 64bit Linux는 기본적으로 app 도 64bit 로 compile 하므로 (-m32를 주지 않는 이상) 별도의 compiler flags 가 필요없다.
source 가 64bit 로 porting 되지 않아서 32bit 로 build 하거나 할 경우에 LFS 지원이 필요하면 다음 macro를 추가해서 빌드하면 된다.
- 현재 Linux의 FILESIZEBITS 알아 보기
- getconf FILESIZEBITS /usr
Code Block __USE_LARGEFILE Define correct standard I/O things. __USE_LARGEFILE64 Define LFS things with separate names. __USE_FILE_OFFSET64 Define 64bit interface as default.
Solaris
- lfcompile
...
Code Block | ||||
---|---|---|---|---|
| ||||
-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE _FILE_OFFSET_BITS=64 |
Solaris
Solaris 의 32bit app 에서 LFS 를 사용하려면 compile flags 에 다음 getconf 명령어를 추가한다.
Code Block | ||||
---|---|---|---|---|
| ||||
getconf LFS_CFLAGS |
Code Block | ||||
---|---|---|---|---|
| ||||
getconf LFS_LIBS
getconf LFS_CFLAGS |
더 자세한 내용은 man lfcompile 을 참고한다.