2013-04-02 21 views
1

我試過很長一段時間來建立的Node.js到我的Synology DS1511 +。我讀過this tutorial along with the comments,但我仍然遇到一個奇怪的錯誤,我無法弄清楚如何構建它。我跑sudo make後運行約15至20分鐘構建精細,但後來我得到這個:錯誤不斷顯示出來,而試圖建立到的NodeJS羣暉DS1511 +

/volume1/homes/admin/node/out/../deps/uv/src/unix/thread.c:286: undefined reference to `pthread_condattr_setclock' 
collect2: ld returned 1 exit status 
make[1]: *** [/volume1/homes/admin/node/out/Release/node] Error 1 
make[1]: Leaving directory `/volume1/homes/admin/node/out' 
make: *** [node] Error 2 

從錯誤中,它好像它關係到並行線程庫,但我真的不知道如果是這樣的話,特別是因爲我根據教程替換了pthread庫。順便說一下,本教程演示瞭如何爲基於ARM的處理器構建節點,但我正在構建的Synology是i686。

任何人都知道我是如何克服對DS1511 +

回答

1

我只是碰到了同樣的問題,這個問題建築的node.js。它似乎默認的glibc libpthread.so(這是在RHEL 4上)不包括pthread_condattr_setclock(即使該man-page表示它應該做,並且包含文件也指定它),我快速瀏覽並發現鼻子版本(來自同一個glibc包)具有這種功能。我不知道的含義是什麼,但之後我跑配置的節點,我砍死PYG(出/ node.target.mk)腳本的樣子:

LDFLAGS_Debug := \ 
    -L/lib/tls/i686/nosegneg/ -lpthread-2.3.4 \ 
    -rdynamic \ 
    -m32 \ 
    -pthread 

LDFLAGS_Release := \ 
    -L/lib/tls/i686/nosegneg/ -lpthread-2.3.4 \ 
    -rdynamic \ 
    -m32 \ 
    -pthread 

LIBS := \ 
    -lc-2.3.4 \ 
    -lm-2.3.4 \ 
    -ldl \ 
    -lrt-2.3.4 

其中2.3.4是我們目前的glibc版本。節點現在編譯好了。將不得不做一些測試,看看它是否運行良好。

+0

謝謝。如果一切正常,請回復。我將嘗試使用node.target.mk文件。如果有效,我會確認你的答案! – ariestav

相關問題