国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

samba-3.3.16 在海思平臺(tái)(SS528)交叉編譯及問題解決

這篇具有很好參考價(jià)值的文章主要介紹了samba-3.3.16 在海思平臺(tái)(SS528)交叉編譯及問題解決。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。


samba-3.3.16 在海思平臺(tái)(SS528)交叉編譯及問題解決

一、概述

遠(yuǎn)程開關(guān)機(jī)功能需要用到samba里面的一個(gè)工具net,所以需要交叉編譯samba,并將該工具放到SS528海思開發(fā)板上運(yùn)行。由于新的代碼太大且 3.3.16 的版本已經(jīng)夠用,所以就沒用最新的代碼。

編譯系統(tǒng):Linux virtual-machine 5.4.0-84-generic #94~18.04.1-Ubuntu SMP Thu Aug 26 23:17:46 UTC 2021
編譯器:aarch64-mix210-linux-gcc (gcc version 7.3.0 (20220321) )
編譯源碼:samba-samba-3.3.16

  • 源碼在 gitee下載地址:https://gitee.com/AndroidTony/samba/tags?page=27
  • 在 GitHub 的下載地址:https://github.com/samba-team/samba/releases/tag/samba-3.3.16

本文只要介紹 amba-samba-3.3.16.zip怎么交叉編譯,以及在編譯過程中遇到的三個(gè)問題怎樣解決。

samba-3.3.16 在海思平臺(tái)(SS528)交叉編譯及問題解決

二、編譯步驟

??2.1 解壓縮,進(jìn)入源碼目錄

unzip samba-samba-3.3.16.zip
cd samba-samba-3.3.16/source/

??2.2 配置

source目錄,先執(zhí)行./autogen.sh生成configure,然后配置

./autogen.sh
./configure --prefix=`pwd`/../../result_samba CC=aarch64-mix210-linux-gcc --host=aarch64-mix210-linux --enable-static --enable-shared=no
  • --prefix=pwd/../../result_samba:指定安裝目錄在../../result_samba;
  • CC=aarch64-mix210-linux-gcc:指定編譯器,--host指定運(yùn)行主機(jī);
  • --enable-static:允許編譯靜態(tài)庫
  • --enable-shared=no:不允許編譯動(dòng)態(tài)態(tài)庫

??2.3 問題一

報(bào)錯(cuò)

報(bào)錯(cuò):machine 'aarch64-mix210' not recognized
samba-3.3.16 在海思平臺(tái)(SS528)交叉編譯及問題解決

錯(cuò)誤原因分析:

錯(cuò)誤原因分析:
aarch64-mix210 不被識(shí)別,這是指明運(yùn)行主機(jī)的,嘗試改成其他。

解決方案:

解決方案:
改為 --host=arm-mix210-linux,改完命令如下:

./configure --prefix=`pwd`/../../result_samba CC=aarch64-mix210-linux-gcc --host=arm-mix210-linux --enable-static --enable-shared=no

??2.4 問題二

報(bào)錯(cuò)

報(bào)錯(cuò):cannot run test program while cross compiling
錯(cuò)誤打印如下:

checking that the C compiler understands volatile... yes
checking that the C compiler understands negative enum values... configure: error: in `/home/samba/01_libCompile/002_samba/samba-samba-3.3.16/source':
configure: error: cannot run test program while cross compiling
See `config.log' for more details

錯(cuò)誤原因分析:

錯(cuò)誤原因分析:
從打印看,是交叉編譯時(shí)無法運(yùn)行測(cè)試程序,交叉編譯的程序肯定無法在Ubuntu運(yùn)行,想辦法規(guī)避。
1、執(zhí)行grep "checking that the C compiler understands negative enum values" -rnw ./,查看為什么會(huì)打印這個(gè),搜索結(jié)果如下:

./configure:7289:{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that the C compiler understands negative enum values" >&5
./configure:7290:$as_echo_n "checking that the C compiler understands negative enum values... " >&6; }
./config.log:4462:configure:7289: checking that the C compiler understands negative enum values

2、通過搜索結(jié)果可以看到打印在./configure:7290,執(zhí)行命令vi ./configure +7290打開該位置,看到只要 samba_cv_CC_NEGATIVE_ENUM_VALUES沒設(shè)置值就會(huì)執(zhí)行else去運(yùn)行測(cè)試程序,我們要設(shè)法跳過這個(gè)判斷。

7291 if ${samba_cv_CC_NEGATIVE_ENUM_VALUES+:} false; then :
7292   $as_echo_n "(cached) " >&6
7293 else

解決方案:

解決方案:
./configure 命令前加上samba_cv_CC_NEGATIVE_ENUM_VALUES=yes

samba_cv_CC_NEGATIVE_ENUM_VALUES=yes ./configure --prefix=`pwd`/../../result_samba CC=aarch64-mix210-linux-gcc --host=arm-mix210-linux --enable-static --enable-shared=no

??2.5 問題三

報(bào)錯(cuò):

報(bào)錯(cuò):cannot run test program while cross compiling

samba-3.3.16 在海思平臺(tái)(SS528)交叉編譯及問題解決

checking for creat64... yes
checking for prctl... yes
configure: error: in `/home/samba/01_libCompile/002_samba/samba-samba-3.3.16/source':
configure: error: cannot run test program while cross compiling
See `config.log' for more details

錯(cuò)誤原因分析:

錯(cuò)誤原因分析:

錯(cuò)誤原因和上個(gè)問題一樣,也是運(yùn)行時(shí)交叉編譯的測(cè)試程序

1、先搜索checking for prctl,查看為什么會(huì)打印這個(gè),

grep "checking for prctl" -rnw ./
./config.log:67357:configure:15050: checking for prctl

2、通過搜索結(jié)果可以看到在configure:15050會(huì)檢查prctl,執(zhí)行命令vi ./configure +15050打開該位置,然后往下翻,大概在15090的位置看到執(zhí)行測(cè)試程序的代碼,我們要設(shè)法跳過這些語句。

15085 case "$host_os" in
15086     *linux*)
15087        # glibc <= 2.3.2 has a broken getgrouplist
15088        if test "$cross_compiling" = yes; then :
15089   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
15090 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
15091 as_fn_error $? "cannot run test program while cross compiling
15092 See \`config.log' for more details" "$LINENO" 5; }
15093 else

解決方案

解決方案:

我的解決辦法是注釋掉這些語句,注釋后如下圖:
samba-3.3.16 在海思平臺(tái)(SS528)交叉編譯及問題解決
然后繼續(xù)執(zhí)行如下配置命令:

samba_cv_CC_NEGATIVE_ENUM_VALUES=yes ./configure --prefix=`pwd`/../../result_samba CC=aarch64-mix210-linux-gcc --host=arm-mix210-linux --enable-static --enable-shared=no

配置以后,直接執(zhí)行make && make install,編譯通過。

samba-3.3.16 在海思平臺(tái)(SS528)交叉編譯及問題解決
如果文章有幫助的話,點(diǎn)贊??、收藏?,支持一波,謝謝 ??????文章來源地址http://www.zghlxwxcb.cn/news/detail-464469.html

到了這里,關(guān)于samba-3.3.16 在海思平臺(tái)(SS528)交叉編譯及問題解決的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 海思SD3403/SS928開發(fā)(一)簡(jiǎn)介

    海思SD3403/SS928開發(fā)(一)簡(jiǎn)介

    SD3403/SS928是一顆面向監(jiān)控市場(chǎng)推出的專業(yè) ultra-HD Smart IP Camera SOC。 SD3403/SS928處理器核心具有四核ARM Cortex-A55@ 1.2GHz,32KB I-Cache,32KB D-Cache,512KB L3 Cache,該芯 片最高支持四路 sensor 輸入,支持最高 4K60 的 ISP 圖像處理能力,支持 3F WDR、 多級(jí)降噪、六軸防抖、硬件拼接等多種圖像

    2024年02月11日
    瀏覽(40)
  • ubuntu 18.04 LTS交叉編譯opencv 3.4.16并編譯工程[全記錄]

    ubuntu 18.04 LTS交叉編譯opencv 3.4.16并編譯工程[全記錄]

    參考博文: https://blog.csdn.net/qq_54199287/article/details/133780829?spm=1001.2014.3001.5506 如果遇到安裝libjasper-dev錯(cuò)誤,可參考博文: https://blog.csdn.net/lyc_daniel/article/details/133439255?spm=1001.2014.3001.5501 https://opencv.org/releases/ 放到home路徑下的Exe文件夾(專門放用戶安裝的軟件)中,其中build是后

    2024年02月04日
    瀏覽(29)
  • 跨平臺(tái)編譯go(交叉編譯)

    跨平臺(tái)編譯go(交叉編譯)

    以將一個(gè)簡(jiǎn)單的go http 部署到docker為例! Dockerfile文件 docker build . -t goweb_app docker run -p 8888:8888 goweb_app 在最終的鏡像中是不需要go編譯器的,也就是說只需要一個(gè)運(yùn)行最終二進(jìn)制文件的容器即可。 Golang 支持交叉編譯,在一個(gè)平臺(tái)上生成另一個(gè)平臺(tái)的可執(zhí)行程序。 golang中跨平臺(tái)

    2024年02月07日
    瀏覽(38)
  • Qt交叉編譯到arm平臺(tái)

    Qt交叉編譯到arm平臺(tái)

    從網(wǎng)上下載對(duì)應(yīng)版本的Qt源碼 https://download.qt.io/archive/qt/5.9/5.9.3/single/,我下載的是5.9.3的版本。 解壓到ubuntu上 下載使用gcc 4.9.4編譯器,并配置環(huán)境變量。(盡量選擇高版本編譯器) 配置Qt相關(guān)的編譯器,使用linux-arm-gnueabi前綴, cd qtbase/mkspecs 修改qmake.conf文件,更改編譯器為

    2024年02月11日
    瀏覽(29)
  • live555交叉編譯(ubuntu+arm平臺(tái))

    1.下載源碼 ??????http://live555.com/liveMedia/public/live555-latest.tar.gz 2.解壓 tar -zxvf live555-latest.tar.gz 3.修改配置文件 1)進(jìn)入live文件夾 2)復(fù)制一份配置文件 cp config.armlinux config.myarmlinux chmod 777 config.myarmlinux 3) vim config.myarmlinux 命令行-刪除全部配置 4) 修改為 5.編譯執(zhí)行

    2024年02月05日
    瀏覽(20)
  • go語言終端交叉編譯的事項(xiàng)windows編譯其它平臺(tái)軟件包

    go語言終端交叉編譯的事項(xiàng)windows編譯其它平臺(tái)軟件包

    windows編譯窗口目前分為 cmd窗口 ,powershell窗口,這兩個(gè)里面運(yùn)行的命令不一樣。 1.cmd窗口編譯; 在windows10之前的系統(tǒng)版本上使用cmd命令行可以使用命令 CMD命令行中 在CMD命令行中編譯(示例編譯64位linux程序),【打開一個(gè)cmd窗口一行行執(zhí)行下面的命令;】 // 設(shè)置Linux編譯環(huán)

    2024年02月16日
    瀏覽(24)
  • 基于Linux平臺(tái)交叉編譯 flutter arm64應(yīng)用

    ??? 操作系統(tǒng)ubuntu 20.04,開發(fā)工具Android Studio + Flutter,運(yùn)行平臺(tái)RK3566 Linux。截止現(xiàn)在Flutter官方尚未正式對(duì)Linux arm64進(jìn)行支持,僅有flutter-elinux可用。開發(fā)環(huán)境的搭建過程遇到了很多的坑,幸運(yùn)的是最終完成了。為避免后來者再次浪費(fèi)時(shí)間,特撰此文以饗讀者。 ??? 本文僅記

    2024年02月06日
    瀏覽(142)
  • 【一、搭建通用Arm平臺(tái)的QT交叉編譯環(huán)境】

    【一、搭建通用Arm平臺(tái)的QT交叉編譯環(huán)境】

    為實(shí)現(xiàn)目標(biāo)嵌入式平臺(tái)能夠正常運(yùn)行Qt程序,則需要在目標(biāo)平臺(tái)上部署QT運(yùn)行環(huán)境。 Ubuntu系統(tǒng),本文使用的是20.04版本 arm平臺(tái)通用交叉編譯工具鏈 QT源碼 1.下載工具鏈 點(diǎn)擊鏈接https://releases.linaro.org/components/toolchain/binaries/latest-7/arm-linux-gnueabi/,選擇下圖中標(biāo)識(shí)的文件進(jìn)行下載。

    2023年04月16日
    瀏覽(24)
  • Windows平臺(tái)visual studio與樹莓派跨平臺(tái)交叉編譯opencv

    Windows平臺(tái)visual studio與樹莓派跨平臺(tái)交叉編譯opencv

    由于架構(gòu)差異,opencv在Windows平臺(tái)下編譯的程序無法直接移植到樹莓派環(huán)境使用,所以需要進(jìn)行Cmake和跨平臺(tái)的交叉編譯。網(wǎng)上包括官方文檔很多足夠參考,但配置過程中依然會(huì)出現(xiàn)個(gè)性問題,以下是本人基于windows下使用visual studio2017集成開發(fā)環(huán)境進(jìn)行交叉編譯環(huán)境配置過程中

    2024年04月11日
    瀏覽(31)
  • ubuntu 20.04 aarch64 平臺(tái)交叉編譯 opencv

    ubuntu 20.04 aarch64 平臺(tái)交叉編譯 opencv

    win10 64 位 VMware Workstation Pro 16 虛擬機(jī) 虛擬機(jī)安裝 ubuntu 20.04 opencv 版本: 來自 github 當(dāng)前最新 4.7 交叉編譯 opencv,用于 嵌入式 aarch64 平臺(tái) 可以直接從 github 下載 release 版本或者 使用 git clone 最新的 opencv 倉庫 github opencv https://github.com/opencv/opencv git clone https://github.com/opencv/openc

    2024年02月09日
    瀏覽(38)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包