1. 다운로드
wget http://download.zeromq.org/zeromq-4.1.3.tar.gz
tar -zxvf zeromq-4.1.3.tar.gz
2. thread stack size 변경
: 메모리 점유율을 낮추려고 튜닝한 것이므로 생략 가능.
vi ./zeromq-4.1.3/src/thread.cpp
---------------------------------------
void zmq::thread_t::start (thread_fn *tfn_, void *arg_)
{
tfn = tfn_;
arg = arg_;
+ size_t stacksize;
+ pthread_attr_t p_attr;
+ pthread_attr_init(&p_attr);
+ stacksize = 1024 * 1024; //1024KB
+ if(!pthread_attr_setstacksize(&p_attr, stacksize))
+ {
int rc = pthread_create (&descriptor, &p_attr, thread_routine, this);
posix_assert (rc);
+ }
}
3. 라이브러리 설치할 디렉토리 생성
cd zeromq-4.1.3
mkdir ./build
4. Makefile 생성
./configure CC=arm-hisiv400-linux-gnueabi-gcc \
AR=arm-hisiv400-linux-gnueabi-ar \
RANLIB=arm-hisiv400-linux-gnueabi-ranlib \
LD=arm-hisiv400-linux-gnueabi-ld \
--host=arm-hisiv400-linux-gnueabi \
--prefix=/data1/khb/etc/zeromq-4.1.3/build/ \
--without-libsodium
또는
./configure --host=arm-hisiv400-linux-gnueabi \
--prefix=/data1/khb/etc/zeromq-4.1.3/build/ \
--without-libsodium
5. 빌드
make
make install
6. 타겟 파일시스템에 복사 (libzmq)
cp -ra ./build/* /data1/khb/filesys_ncx3/usr
7. 타겟 파일시스템에 복사 (libstdc++)
: 타겟 파일리스템에 들어있던 libstdc++과 호환되지 않아서 컴파일러쪽의 libstdc++을 복사함
# 기존 라이브러리 제거
rm -f ~/filesys_ncx3/lib/libstdc*
# cross complier 디렉토리의 libstdc++ 라이브러리 복사
cp -a /home/opt/hisilicon/arm-hisiv400-linux/arm-hisiv400-linux/arm-hisiv400-linux-gnueabi/lib/libstdc*.so* \
~/filesys_ncx3/lib
libzmq 라이브러리 테스트
1. libzmq 사용하여 소켓을 열고 닫는 예제
2. 빌드
# arm-hisiv400-linux-gnueabi-gcc server.c -L/data1/khb/filesys_ncx3/lib -L/data1/khb/filesys_ncx3/usr/lib -lzmq -lstdc++ -I/data1/khb/filesys_ncx3/usr/include -o server
# arm-hisiv400-linux-gnueabi-gcc client.c -L/data1/khb/filesys_ncx3/lib -L/data1/khb/filesys_ncx3/usr/lib -lzmq -lstdc++ -I/data1/khb/filesys_ncx3/usr/include -o client
3. 실행
./server
./client
'Linux' 카테고리의 다른 글
sshd 디버깅 로그 보기 (0) | 2017.07.05 |
---|---|
openssl arm cross complie (0) | 2017.01.10 |
rabbitmq-c arm cross complie (0) | 2017.01.10 |
Ubuntu 16.04 Samba 설정 (1) | 2016.06.14 |
Linux 계정만 생성하고 shell 로그인은 차단하기 (0) | 2016.05.20 |