2017年3月9日 星期四

Compile出現error: incompatible types when assigning to type &int * from type &kuid_t * pOSFSInfo->fsuid = current_fsuid();錯誤

主要是新版linux kernel,current_fsuid() function有修改。

這function定義在
/usr/src/linux-headers-X.XX.X-XX/include/linux/cred.h
struct cred {
...
kuid_t fsuid;   /* UID for VFS ops */
kgid_t fsgid; /* GID for VFS ops */

/usr/src/linux-headers-3.19.0-32/include/linux/uidgid.h
typedef struct {
uid_t  val;
} kuid_t;

可依下面方式更改解決此問題。
os/linux/xxx_linux.c
pOSFSInfo->fsuid = current_fsuid().val;
pOSFSInfo->fsgid = current_fsgid().val;
或是

include/os/xxx_linux.h
typedef struct _OS_FS_INFO_
{
kuid_t                     fsuid;
  kgid_t                     fsgid;
  mm_segment_t      fs;
} OS_FS_INFO;

2017年3月8日 星期三

Compile出現arm-none-eabi-gcc: not found /bin/sh: 4:錯誤

一直以為這訊息是沒有找到這檔案,
但檔案明明有在 ><
查了Google後才知道並不是指檔案沒找到 Orz

原來是自己的Ubuntu是64位元版本,
而gcc是32位元版本,才出現這樣的錯誤訊息。

安裝ia32-libs就解決了 ...

判斷Linux執行檔為32-bit或64-bit



> file filename

2017年1月10日 星期二

VirtualBox發生Start tag expected, '<' not found錯誤

VirtualBox執行時顯示Start tag expected, '<' not found,
無法開啟VirtualBox。

刪除
C:\Users\account\.VirtualBox\VirtualBox.xml

C:\Users\victorlin.TWNB15035\.VirtualBox\VirtualBox.xml-prev
更名為
C:\Users\account\.VirtualBox\VirtualBox.xml

2016年7月18日 星期一

編譯原始碼錯誤



編譯原始碼錯誤,錯誤訊息又看不出什麼錯誤,

可確認gcc版本是否適合


Install & Config
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.X X
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.X X

sudo update-alternatives --config gcc
sudo update-alternatives --config g++

2016年6月7日 星期二

Linux Trace Source Code

vim + ctags + taglist + cscope有點麻煩
想找方便的工具,
安裝KDE後,發現Kate蠻方便的。

Kate有Projects及CTags Plugin支援。
搜尋Google後得知作法。

1. Settings > Configure Kate
2. 安裝CTags, Build and Project Plugin
3. 目前並無GUI可增加新專案,需手動增加
    a. 在專案的根目錄增加.kateproject檔案
    b. 可以filter檔案並增加build功能
    c.  檔案內容如下
    {
      "name": "Project Name",
      #使用絕對目錄
      "directory": "/home/user/project",
      "files": [ { "filters": ["*.c", "*.h", "*.mk"], "recursive": 1 } ],
      "build": {
        "directory": "/home/user/project",
        "build": "/home/user/project/build.sh project",
        "clean": "/home/user/project/build.sh clean"
      }
    }
4. 在專案底下隨便開啟檔案,就可以看到Project了。
    也可使用CTags與Build等等功能。

2016年1月26日 星期二

瀏覽網頁出現網站憑證過期

很瞎,原來是系統時間不正確,
改為正確時間就可以了。

時間不正確還造成,
作業系統線上啟用失敗及Office線上啟用失敗。