분류 전체보기62 Ubuntu(우분투) fail to start load kernel module이 일어난 문제점 중 하나.. 커널을 컴파일하여 변경한 후 이것저것 설정을 건들다가 fail to start load kernel module 와 같은 오류가 뜨고 실행이 되었습니다. >systemctl status systemd-modules-load.service 실행해보면 kernel module load에 실패했다는 여러 메세지와 함께 disable 상태 일 때.. 찾았던 해결방안 중 하나입니다. 구글링을 통해 여러 방안들을 찾아서 실행해봤지만 해결이 되지 않았는데, 오류 메세지를 읽고 차근차근 파일들을 확인한 결과 > sudo vi /etc/modules-load.d/modules.conf ( ubuntu의 화면이 제대로 켜지지 않는다면, ssh로 원격으로 터미널에 접속하거나, ctrl + F2릍 통해 tty2 터미널을 실행.. 2020. 3. 4. Linux C/C++ shared library 컴파일하기 fPIC 옵션 GOT, PLT c++ g++ -shared -fPIC -o g++ -shared fPIC -o lib.so code.cpp c gcc -shared [-fPIC] -o gcc -shared [-fPIC] -o lib.so code.c -fPIC 생략가능 하지만 공유라이브러리를 만들 때는 -fPIC 옵션 사용을 권장합니다. (컴파일 종류에 따라서 -fPIC는 필수 옵션입니다.) fPIC를 사용하지 않을경우 재배치 기법을 사용하게 되는데, 간략하게 라이브러리의 주소를 현재 사용하려는 프로세스 주소에서 접근가능하게 재배치 한다는 개녑입니다. 단점은 1. 여러 프로세스가 공유라이버리를 공유하게되면 각 프로세스가 로드 할때마다 공유라이브러리의 text section(프로세스의 코드가 있는 영역)가 변해야하는데 이는 불가능하다... 2020. 2. 6. Ubuntu 부팅시 자동실행 by rc.local $ sudo vi /etc/rc.local rc.local 파일에 실행하고 싶은 명령어를 넣습니다. 저는 스크립트를 실행하기위해서 코드를 짰습니다. 1줄의 #!/bin/sh는 sh 형식으로 스크립트(.sh)를 실행하겠다는 뜻입니다. (bash는 #!/bin/bash) 3줄에는 auto_jupyter.sh 라는 스크립트 파일을 실행시켰습니다. sudo chmod 755 /etc/rc.local 반드시 실행권한을 줍니다. 755는 equal effective User에게는 모든권한, 같은 그룹과 others에게는 읽기와 실행권한입니다. 자동실행시 권한이 없어 실패 할 수 있기 때문에 꼭 넣어 줍니다. (아마 실행(exec)권한이 없어서 안되는 거기 때문에 chmod +x /etc/rc.local 도 괜춘) .. 2020. 1. 17. Nodejs python-shell binary 연동, 바이트 파일 주고받기, Base64, example opencv image 변경 다른 포스팅에서는 opencv형태로 image를 전송하기위해 json을 이용하여 bytes 배열을 보내는 방법을 사용하였다. 표준입출력의 특성상 어쨌든 보내면 문자열로 변하는 문제가 있어 결국 파싱의 문제가 생겨 우회했던 방법인데, ( 바이트 코드 xFFx16을 전송할때 "xFFx16"의 문자열로 보내기 때문에 이를 다시 그대로 byte로 디코딩하면 "xFFx16"문자열의 바이트코드 즉 아스키코드 값이 나오는 문제점!! ) 바이너리를 직접 문자열으로 인코딩 디코딩 하는 좋은 방법인 base64를 소개합니다. Base64는 바이트코드를 64진법 ascii 코드로 인코딩하고, 다시 bytes 정보로 디코딩 하는 기법중 하나입니다. 즉, Database나 표준입출력과 같이 문자열으로서 통신할때 바이너리를 손쉽.. 2020. 1. 17. 이전 1 ··· 9 10 11 12 13 14 15 16 다음