test.cc:(.text+0x3123): relocation truncated to fit: R_X86_64_PC32 against symbol `offset' defined in .bss section test.o 흔히 나오는 에러는 아닌데 x86_64에서 .data section의 크기 limit는 2G다. (여기서 .data는 일반적으로 부르는 .data와 .bss를 합친 영역으로 보임) 일단 뭔가 메모리를 무시무시하게 잡아먹는다는 이야기. 뭘 억지로 변경해서 컴파일 되게 하려고 하지말고, (커널 파라미터 중 limit 값을 찾아서 변경한다던지...) 코드 리뷰를 통해 문제 되는 부분을 수정 하는게 낫다. dynamic하게 사용할 수 있도록 allocate 하는것도 방법인듯. PS 예제 코드 만들..
mariadb-10.0.19 를 mips로 cross-compile 하면서 발생 된 문제를 몇가지 기록해봅니다. 일단 개발서버 환경은 32bit, 타겟은 mips(64bit) 입니다.기본적으로 mariadb 소스를 받으면 BUILD 폴더 밑에 mips관련 configure가 있지만..위 환경에서는 정상적인 동작을 못하는듯.. 그래서 하나하나 error를 잡아가며 compile을 시도 했습니다. 1) 컴파일은 일반 버전(?)과 동일하게 컴파일 폴더를 만들고 그 폴더 내에서 cmake를 진행합니다. - 그 과정은 여기를 참고 - 단, CC, CXX 등은 환경에 맞는 컴파일러를 사용합니다. - 제 경우 개발서버 환경이 32bit 머신이기 때문에 n32 옵션 사용. 이 옵션은 gcc, gcc+ 양쪽에 다 들어가..
kernel에 개발을 하던 중 아래와 같은 error가 발생했습니다.error: invalid use of undefined type ‘struct address_space’ /proc/meminfo 의 정보 중 Cached 필드 값을 얻는 모듈을 가져다 쓰는 과정에서 발생을 했는데요,Cached는 아래와 같이 구해집니다. cached = global_page_state(NR_FILE_PAGES) - total_swapcache_pages - i.bufferram; 이 cached를 구하는 연산을 가져다 쓰려는데, total_swapcache_pages가 문제가 됐습니다.해당 define은 include/linux/swap.h 에 되어 있었고, 해당 파일은 정상적으로 include 되어있었는데 말이죠, ..
target board가 mips 환경인 경우 python을 mips용 컴파일러로 컴파일을 해야하는데요,컴파일 도중 아래와 같은 에러가 발생 했습니다. Include/pyport.h:243:13: error: #error "This platform's pyconfig.h needs to define PY_FORMAT_LONG_LONG" 관련해서 google의 도움을 청해보니, 이미 등록 된 버그로 패치버전이 나왔네요,여기를 참조하도록 합니다. 제가 갖고 있는 버전의 경우 python2.7.3 이기 때문에 아래와 같이 패치버전을 받고,wget http://randomsplat.com/wp-content/uploads/2012/10/Python-2.7.3-xcompile.patch build 환경에서 아래와..
공식 mount 명령어가 필요해서, (package 로 받으면 소스가 없어서..) 우선 source를 다운 받아 보았습니다. 소스 다운로드는 아래 링크ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.23/ 관련 소스(util-linux-2.23-rc2.tar.bz2)를 다운받은 이후 configure와 make를 차례로 수행, make 도중 이래저래 include관련 에러가 있었지만, 중간에 발견 된 특이한 에러는 아래와 같습니다, (처음보는 함수인데?) CC lib/libuuid_la-randutils.lo CCLD libuuid.la CCLD libblkid.lacopying selected object files to avoid basename confli..
# /usr/sbin/lighttpd -f /etc/lighttpd.conf/usr/sbin/lighttpd: symbol lookup error: /usr/sbin/lighttpd: undefined symbol: EVP_md2# lighttpd 를 compile한 이후에 정상적으로 데몬이 올라가지 않는 증상이 있습니다,이는 config파일인 /etc/lighttpd.conf에 아래 구문 때문.ssl.pemfile = "/etc/utm.pem" 해당 구문을 처리하기 위해서 openssl을 사용하는데, lighttpd를 compile하면서 openssl이 정상적으로 연동되지 않은 것입니다, compile시에 configure 에 --with-openssl-libs="openssl이 설치 된 경로" 를 추..
python버전을 올리고자 최신 release 버전인 3.3.0을 다운로드 받고 ./configure이후 make 했을 때 발생한 에러메시지. LookupError: unknown encoding: EUC-KR make: *** [Lib/_sysconfigdata.py] 중지됨 해결 방안은 아래와 같이 export 설정 해준 이후에 make # export LC_ALL=c # make [OK]
gethostbyname() 함수 몸통을 좀 수정 할 일이 있어서 glibc를 빌드 하는데, configure에서 발생되는 에러입니다. configure: error: you must configure in a separate build directory 직역하면 반드시 다른 디렉토리에서 configure하라는 뜻인데 아래와 같은 방법으로 해결 하도록 합니다. $mkdir test $cd test $../configure checking build system type... i686-pc-linux-gnu checking host system type... i686-pc-linux-gnu configure: running configure fragment for add-on nptl checking sy..
Bandwidth 측정 tool인 iperf compile시에 아래와 같은 오류를 만날 때가 있습니다, 사실.. 포스팅 할 내용도 아니지만.. 혹시라도 검색의 힘을 빌리는 개발자가 있다면.. 약간의 도움이라도 주고자 포스팅...! 오류 내용은 아래와 같습니다. [root@app32 iperf-2.0.4]$ make make all-recursive make[1]: Entering directory `/root/app/iperf/iperf-2.0.4' Making all in compat make[2]: Entering directory `/root/app/iperf/iperf-2.0.4/compat' make[2]: `all'를 위해 할 일이 없습니다 make[2]: Leaving directory `/..
- Total
- Today
- Yesterday