golang 獨立打包(不依賴系統動態連結庫)
為了減少golang部署對作業系統動態連結庫的依賴,我決定對自己的兩個golang專案進行獨立打包。
環境:Centos6.7 amd64
go版本:1.8
1. 首先,檢查使用普通打包方式build的出的二進位制檔案是否有依賴,我這裡是linux平臺使用ldd, os請使用otools工具。
[[email protected] main]$ ldd agent-server
linux-vdso.so.1 => (0x00007ffe069cd000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x000000308ac00000)
libc.so.6 => /lib64/libc.so.6 (0x000000308a800000)
/lib64/ld-linux-x86-64.so.2 (0x000000308a400000)
2. 獨立打包
[[email protected] main]$ go build -o agent-server -ldflags '-linkmode "external" -extldflags "-static"' agent-server.go
# command-line-arguments
/usr/local/go/pkg/tool/linux_amd64/link: running gcc failed: exit status 1
/usr/bin/ld: cannot find -lpthread
collect2: ld returned 1 exit status
在獨立打包的過程中,出現上述錯誤,經過查詢資料發現作業系統少了glibc-static包造成的
直接使用yum安裝: yum install glibc-static -y
安裝後再次執行上述命令已經不報錯了。
然後繼續使用ldd命令檢查,發現已經沒有動態連結庫依賴。
[[email protected] main]$ ldd agent-server
not a dynamic executable
相關推薦
golang 獨立打包(不依賴系統動態連結庫)
為了減少golang部署對作業系統動態連結庫的依賴,我決定對自己的兩個golang專案進行獨立打包。 環境:Centos6.7 amd64 go版本:1.8 1. 首先,檢查使用普通打包方式build的出的二進位制檔案是否有依賴,我這裡是linux平臺使用ldd, os請
mysql5.7壓測工具sysbench dbt2安裝找不到lmysqlclient動態連結庫
問題 近期安裝linux centos6安裝mysql5.7後想用sysbench、dbt2進行壓測,死活安裝不上 cd /usr/local/sysbench make && make install 出現錯誤,lmysqlclient檔
Linux將命令新增到PATH中及PA LD_LIBRARY_PATH用於指定查詢共享庫(動態連結庫)時除了預設路徑之外的其他路徑
Linux將命令新增到PATH中部落格分類:linuxLinuxApacheBash簡單說PATH就是一組路徑的字串變數,當你輸入的命令不帶任何路徑時,LINUX會在PATH記錄的路徑中查詢該命令。有的話則執行,不存在則提示命令找不到。比如在根目錄/下可以輸入命令ls,在/u
一個動態小導航欄(好看的,用C3)(不依賴js,點擊小圖切換大的背景圖)
width ima line auto fashion put spl body sha <!DOCTYPE HTML><htmllang="en-US"> <head> <meta charset="UTF-8
discuz新的單點論壇(不依賴UCenter)
web應用 之前 .net emp linux時間 論壇 自己的 ng- define discuz 本身提供UCENTER用戶中心能夠實現單點登錄。可是其它應用要單點登錄到discuz還是存在若幹問題: 須要2次激活。可能造成server無響應,論壇顯示的最新註冊用戶
socket實現兩臺FTP服務器指定目錄下的文件轉移(不依賴第三方jar包)
gets util new ram ali ftp文件 turn tps lap 通過socket實現兩臺FTP服務器指定目錄下的文件轉移,其中包含了基礎了ftp文件列表顯示、上傳和下載。這裏僅供學習用,需掌握的點有socket、ftp命令、文件流讀取轉換等 完整代碼如下:
前端jsp頁面 列舉類 搜尋 和 查詢結果動態展示 (完全依賴介面 無需任何改動)
前端頁面 應對列舉類 搜尋 和 查詢結果展示 (完全依賴介面 無需任何改動) 【問題現象產生】:後臺介面方提供的列舉型別總是變動,導致前端頁面如果寫死列舉型別,容易展示出問題(搜尋和查詢展示),具體就是少展示或多展示 【問題應對方案】:採
前端jsp頁面 列舉類 搜尋 和 查詢結果動態展示 (完全依賴介面 無需任何改動)
前端頁面 應對列舉類 搜尋 和 查詢結果展示 (完全依賴介面 無需任何改動) 【問題現象產生】:後臺介面方提供的列舉型別總是變動,導致前端頁面如果寫死列舉型別,容易展示出問題(搜尋和查詢展示),具體就是少展示或多展示 【問題應對方案】:採用前端頁面直接載入後臺介
【轉】Ubuntu系統python3安裝模組(不修改python2的軟連線)
ubuntu系統是自帶python2.7(預設)和python3.4的,可以使用python -V和python3 -V檢視已安裝python版本。 但是在不同版本的python中ubuntu預設沒有安裝pip,所以需要自己手動安裝pip。 (1)在不同版本中安裝pip,可以使用一下命令:
android 自定義類似91遊,360應用內懸浮球(不使用系統懸浮框)
專案需要,製作類似360,UC類似遊戲內的懸浮球 1.開始使用的是系統的懸浮,新增系統許可權android.permission.SYSTEM_ALERT_WINDOW,獲取windowManager , 設定佈局引數,新增view來實現, 優點:處於系統最上層,一次新增,
DoubleLinkedList獨立實現,不依賴任何包
public class DoubleLinkedList<E> { class Node<E> { E element; Node prev; Node next; public Node(E element)
Android系統啟動時間(不是系統當前時間)的獲取
1》.查裡很多資料,並沒有找到直接獲取系統啟動時間(不是系統當前時間)的ApI; 思路轉換為:接收系統的開機廣播,在廣播裡面獲取當前的時間; 2》.注意幾點: 1.BootUPReceiver廣播類
apk重打包(不使用apktool)
使用工具: ununtu系統 smali.jar baksmali.jar signapk.jar 步驟: unzip crackme1.apk -d crackme1 //將apk檔案解壓到crackme1資料夾 cd crackme1/ java -ja
Golang 學習筆記(不定期更新)
本文主要記錄作者使用 Go 開發過程中的問題及總結。 1)不同檔案屬於同一個 package,每個 go 檔案如果有 init(), 則全部 init() 會預設執行,根據包的匯入先後及遞進關係來先後執行;同一個檔案可以有多個同名 init 函式,即不會出現重
java中呼叫本地動態連結庫(*.DLL)的兩種方式詳解和not found library、打包成jar,war包dll無法載入等等問題解決辦法
我們經常會遇到需要java呼叫c++的案例,這裡就java呼叫DLL本地動態連結庫兩種方式,和載入過程中遇到的問題進行詳細介紹 1、通過System.loadLibrary("dll名稱,不需要字尾名
Java Swing 圖形界面實現驗證碼(驗證碼可動態刷新)
string ble urn repaint xtend efault event adapt 內容 import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.awt.To
Windows 10卸載Edge瀏覽器(不成功的別試了)
develop style pre 系統 log -a mode disable evel 在命令行輸入: PowerShell dir $env:LOCALAPPDATA\Packages\*edge*^|ren -newname MicrosoftEdge.old
過濾當前目錄下的一級目錄(不包含目錄下的目錄)
一級目錄方法一[[email protected]/* */ ~]# ls -ltotal 56drwxr-xr-x. 2 root root 4096 Jul 2 09:48 a-rw-------. 1 root root 1079 Jun 9 07:12 anaconda-ks.cf
點擊不同按鈕,加載不同的頁面(不使用iframe的情況下)
lis button sco oos cati 情況 main style pla <button id="button1">Load Html1</button> <button id="button2">Load Html2<
java學習之路--繼承(多態的動態綁定)
程序 有一個 完全 報錯 參數類型 其中 完全匹配 一個 執行過程 動態綁定過程中,對象調用對象方的執行過程 1:編譯器查看對象的聲明類型和方法名。有可能有多個方法名相同,但參數類型不一樣的重載方法。 2:編譯器查看調用方法時提供的參數類型。該過程叫重載解析,在相同