xmake-io / xrepo

🗂️ A cross-platform C/C++ package manager based on Xmake
https://xrepo.xmake.io
Apache License 2.0
354 stars 18 forks source link

大佬,OPENSSL的交叉编译不了,快来救救孩子吧 #10

Closed ZZLinvec closed 3 years ago

ZZLinvec commented 3 years ago

Describe the problem details

我的安装命令如下 xrepo install -p cross --sdk=/home/sss/ssd210/gcc/ openssl 在安装openssl包中,获取到如下的信息

if you want to get verbose errors, please see:
  -> /home/sss/.xmake/cache/packages/2106/o/openssl/1.1.1k/installdir.failed/logs/install.txt
❗ error: install failed!
❗ error: execv(xmake require -j 12 --extra={system=false} openssl) failed(255)

但是我不知道这个错误是编译的时候遇到啥问题了。

ZZLinvec commented 3 years ago

我描述错误了,还没到编译,在配置openssl的时候就发生这个错误了

waruqi commented 3 years ago

加 -vD 给我看下详细错误

ZZLinvec commented 3 years ago

我加上了-vD的结果如下

sss@ZLin:/mnt/d/Project/SSD20X/201/apps/HXH_test_HTTP$ xrepo install -p -vD  cross --sdk=/home/sss/ssd210/gcc/ openssl
❗ error: checking for architecture ... x86_64
❗ error: target(working): toolchain not found!

因为上面提示是交叉编译工具没找到,所以我用的是同样工具安装了libcurl的库的,是没问题的。

sss@ZLin:/mnt/d/Project/SSD20X/201/apps/HXH_test_HTTP$ xrepo install -p cross --sdk=/home/sss/ssd210/gcc/ libcurl
sss@ZLin:/mnt/d/Project/SSD20X/201/apps/HXH_test_HTTP$ xrepo install -p -vD  cross --sdk=/home/sss/ssd210/gcc/ openssl
❗ error: checking for architecture ... x86_64
❗ error: target(working): toolchain not found!

后来,我直接跑到库里,直接自己运行./Configure 命令,发现无法生成MakeFile。

sss@ZLin:~/.xmake/cache/packages/2106/o/openssl/1.1.1k/source/openssl-OpenSSL_1_1_1k$ ./Configure /home/sss/ssd210/gcc/bin/arm-linux-gnueabihf-gcc
Configuring OpenSSL version 1.1.1k (0x101010bfL) for
Using os-specific seed configuration
Usage: Configure [no-<cipher> ...] [enable-<cipher> ...] [-Dxxx] [-lxxx] [-Lxxx] [-fxxx] [-Kxxx] [no-hw-xxx|no-hw] [[no-]threads] [[no-]shared] [[no-]zlib|zlib-dynamic] [no-asm] [no-egd] [sctp] [386] [--prefix=DIR] [--openssldir=OPENSSLDIR] [--with-xxx[=vvv]] [--config=FILE] os/compiler[:flags]

pick os/compiler from:
BS2000-OSD BSD-generic32 BSD-generic64 BSD-ia64 BSD-sparc64 BSD-sparcv8
BSD-x86 BSD-x86-elf BSD-x86_64 Cygwin Cygwin-i386 Cygwin-i486 Cygwin-i586
Cygwin-i686 Cygwin-x86 Cygwin-x86_64 DJGPP MPE/iX-gcc UEFI UWIN VC-CE VC-WIN32
VC-WIN32-ARM VC-WIN32-ONECORE VC-WIN64-ARM VC-WIN64A VC-WIN64A-ONECORE
VC-WIN64A-masm VC-WIN64I aix-cc aix-gcc aix64-cc aix64-gcc android-arm
android-arm64 android-armeabi android-mips android-mips64 android-x86
android-x86_64 android64 android64-aarch64 android64-mips64 android64-x86_64
bsdi-elf-gcc cc darwin-i386-cc darwin-ppc-cc darwin64-arm64-cc darwin64-ppc-cc
darwin64-x86_64-cc gcc haiku-x86 haiku-x86_64 hpux-ia64-cc hpux-ia64-gcc
hpux-parisc-cc hpux-parisc-gcc hpux-parisc1_1-cc hpux-parisc1_1-gcc
hpux64-ia64-cc hpux64-ia64-gcc hpux64-parisc2-cc hpux64-parisc2-gcc hurd-x86
ios-cross ios-xcrun ios64-cross ios64-xcrun iossimulator-xcrun iphoneos-cross
irix-mips3-cc irix-mips3-gcc irix64-mips4-cc irix64-mips4-gcc linux-aarch64
linux-alpha-gcc linux-aout linux-arm64ilp32 linux-armv4 linux-c64xplus
linux-elf linux-generic32 linux-generic64 linux-ia64 linux-mips32 linux-mips64
linux-ppc linux-ppc64 linux-ppc64le linux-sparcv8 linux-sparcv9 linux-x32
linux-x86 linux-x86-clang linux-x86_64 linux-x86_64-clang linux32-s390x
linux64-mips64 linux64-s390x linux64-sparcv9 mingw mingw64 nextstep
nextstep3.3 sco5-cc sco5-gcc solaris-sparcv7-cc solaris-sparcv7-gcc
solaris-sparcv8-cc solaris-sparcv8-gcc solaris-sparcv9-cc solaris-sparcv9-gcc
solaris-x86-gcc solaris64-sparcv9-cc solaris64-sparcv9-gcc solaris64-x86_64-cc
solaris64-x86_64-gcc tru64-alpha-cc tru64-alpha-gcc uClinux-dist
uClinux-dist64 unixware-2.0 unixware-2.1 unixware-7 unixware-7-gcc vms-alpha
vms-alpha-p32 vms-alpha-p64 vms-ia64 vms-ia64-p32 vms-ia64-p64 vos-gcc
vxworks-mips vxworks-ppc405 vxworks-ppc60x vxworks-ppc750 vxworks-ppc750-debug
vxworks-ppc860 vxworks-ppcgen vxworks-simlinux

NOTE: If in doubt, on Unix-ish systems use './config'.

由此,我觉得应该是./Configure不支持arm-linux-gnueabihf,应该是使用./config工具。 我对configure和config不了解,难受。。。

waruqi commented 3 years ago

-p cross 中间不要插其他参数,-vD 放后面 -p cross --sdk=xxx -vD libcurl

/home/sss/ssd210/gcc/ 的路径结构也贴下,bin/lib/include等 以及 gcc 所在路径和名字

ZZLinvec commented 3 years ago

哈哈哈哈,好的,马上改正。

sss@ZLin:/mnt/d/Project/SSD20X/201/apps/HXH_test_HTTP$ xrepo install -p cross --sdk=/home/sss/ssd210/gcc/ -vD libcurl
xmake f -c -v -D -p cross --sdk=/home/sss/ssd210/gcc/
checking for architecture ... arm
configure
{
    ndk_stdcxx = true
    arch = arm
    network = public
    clean = true
    ccache = true
    theme = emoji
    buildir = build
    proxy_pac = pac.lua
    sdk = /home/sss/ssd210/gcc/
    target_os = linux
    mode = release
    host = linux
    plat = cross
    kind = static
}
xmake require -v -D -j 12 --extra={system=false} libcurl
configure
{
    buildir = build
    arch = arm
    theme = emoji
    kind = static
    network = public
    ccache = true
    plat = cross
    proxy_pac = pac.lua
    ndk_stdcxx = true
    mode = release
    host = linux
    sdk = /home/sss/ssd210/gcc/
    clean = true
    target_os = linux
}
checking for unzip ... /usr/bin/unzip
checking for git ... /usr/bin/git
checking for gzip ... /usr/bin/gzip
checking for tar ... /usr/bin/tar
finding libcurl from xmake ..
checking for xmake::libcurl ... libcurl 7.73.0

下面这个是工具链的结构

sss@ZLin:/mnt/d/Project/SSD20X/201/apps/HXH_test_HTTP$ tree -L 2 ~/ssd210/gcc/
/home/sss/ssd210/gcc/
├── arm-linux-gnueabihf
│   ├── bin
│   ├── include
│   ├── lib
│   └── libc
├── bin
│   ├── arm-linux-gnueabihf-addr2line
│   ├── arm-linux-gnueabihf-ar
│   ├── arm-linux-gnueabihf-as
│   ├── arm-linux-gnueabihf-c++
│   ├── arm-linux-gnueabihf-c++filt
│   ├── arm-linux-gnueabihf-cpp
│   ├── arm-linux-gnueabihf-dwp
│   ├── arm-linux-gnueabihf-elfedit
│   ├── arm-linux-gnueabihf-g++
│   ├── arm-linux-gnueabihf-gcc
│   ├── arm-linux-gnueabihf-gcc-9.1.0
│   ├── arm-linux-gnueabihf-gcc-ar
│   ├── arm-linux-gnueabihf-gcc-nm
│   ├── arm-linux-gnueabihf-gcc-ranlib
│   ├── arm-linux-gnueabihf-gcov
│   ├── arm-linux-gnueabihf-gcov-dump
│   ├── arm-linux-gnueabihf-gcov-tool
│   ├── arm-linux-gnueabihf-gdb
│   ├── arm-linux-gnueabihf-gdb-add-index
│   ├── arm-linux-gnueabihf-gfortran
│   ├── arm-linux-gnueabihf-gprof
│   ├── arm-linux-gnueabihf-ld
│   ├── arm-linux-gnueabihf-ld.bfd
│   ├── arm-linux-gnueabihf-ld.gold
│   ├── arm-linux-gnueabihf-nm
│   ├── arm-linux-gnueabihf-objcopy
│   ├── arm-linux-gnueabihf-objdump
│   ├── arm-linux-gnueabihf-ranlib
│   ├── arm-linux-gnueabihf-readelf
│   ├── arm-linux-gnueabihf-sigmastar-9.1.0-addr2line -> arm-linux-gnueabihf-addr2line
│   ├── arm-linux-gnueabihf-sigmastar-9.1.0-ar -> arm-linux-gnueabihf-ar
│   ├── arm-linux-gnueabihf-sigmastar-9.1.0-as -> arm-linux-gnueabihf-as
│   ├── arm-linux-gnueabihf-sigmastar-9.1.0-c++ -> arm-linux-gnueabihf-c++
│   ├── arm-linux-gnueabihf-sigmastar-9.1.0-c++filt -> arm-linux-gnueabihf-c++filt
│   ├── arm-linux-gnueabihf-sigmastar-9.1.0-cpp -> arm-linux-gnueabihf-cpp
│   ├── arm-linux-gnueabihf-sigmastar-9.1.0-dwp -> arm-linux-gnueabihf-dwp
│   ├── arm-linux-gnueabihf-sigmastar-9.1.0-elfedit -> arm-linux-gnueabihf-elfedit
│   ├── arm-linux-gnueabihf-sigmastar-9.1.0-g++ -> arm-linux-gnueabihf-g++
│   ├── arm-linux-gnueabihf-sigmastar-9.1.0-gcc -> arm-linux-gnueabihf-gcc
│   ├── arm-linux-gnueabihf-sigmastar-9.1.0-gcc-9.1.0 -> arm-linux-gnueabihf-gcc-9.1.0
│   ├── arm-linux-gnueabihf-sigmastar-9.1.0-gcc-ar -> arm-linux-gnueabihf-gcc-ar
│   ├── arm-linux-gnueabihf-sigmastar-9.1.0-gcc-nm -> arm-linux-gnueabihf-gcc-nm
│   ├── arm-linux-gnueabihf-sigmastar-9.1.0-gcc-ranlib -> arm-linux-gnueabihf-gcc-ranlib
│   ├── arm-linux-gnueabihf-sigmastar-9.1.0-gcov -> arm-linux-gnueabihf-gcov
│   ├── arm-linux-gnueabihf-sigmastar-9.1.0-gcov-dump -> arm-linux-gnueabihf-gcov-dump
│   ├── arm-linux-gnueabihf-sigmastar-9.1.0-gcov-tool -> arm-linux-gnueabihf-gcov-tool
│   ├── arm-linux-gnueabihf-sigmastar-9.1.0-gdb -> arm-linux-gnueabihf-gdb
│   ├── arm-linux-gnueabihf-sigmastar-9.1.0-gdb-add-index -> arm-linux-gnueabihf-gdb-add-index
│   ├── arm-linux-gnueabihf-sigmastar-9.1.0-gfortran -> arm-linux-gnueabihf-gfortran
│   ├── arm-linux-gnueabihf-sigmastar-9.1.0-gprof -> arm-linux-gnueabihf-gprof
│   ├── arm-linux-gnueabihf-sigmastar-9.1.0-ld -> arm-linux-gnueabihf-ld
│   ├── arm-linux-gnueabihf-sigmastar-9.1.0-ld.bfd -> arm-linux-gnueabihf-ld.bfd
│   ├── arm-linux-gnueabihf-sigmastar-9.1.0-ld.gold -> arm-linux-gnueabihf-ld.gold
│   ├── arm-linux-gnueabihf-sigmastar-9.1.0-nm -> arm-linux-gnueabihf-nm
│   ├── arm-linux-gnueabihf-sigmastar-9.1.0-objcopy -> arm-linux-gnueabihf-objcopy
│   ├── arm-linux-gnueabihf-sigmastar-9.1.0-objdump -> arm-linux-gnueabihf-objdump
│   ├── arm-linux-gnueabihf-sigmastar-9.1.0-ranlib -> arm-linux-gnueabihf-ranlib
│   ├── arm-linux-gnueabihf-sigmastar-9.1.0-readelf -> arm-linux-gnueabihf-readelf
│   ├── arm-linux-gnueabihf-sigmastar-9.1.0-size -> arm-linux-gnueabihf-size
│   ├── arm-linux-gnueabihf-sigmastar-9.1.0-strings -> arm-linux-gnueabihf-strings
│   ├── arm-linux-gnueabihf-sigmastar-9.1.0-strip -> arm-linux-gnueabihf-strip
│   ├── arm-linux-gnueabihf-size
│   ├── arm-linux-gnueabihf-strings
│   └── arm-linux-gnueabihf-strip
├── gcc-linaro-9.1.0~gcc-9_1_0-release@3defceaa-20200723-linux-manifest.txt
├── gen_version_link.sh
├── include
│   ├── gdb
│   ├── gmp.h
│   ├── gmpxx.h
│   ├── mpc.h
│   ├── mpf2mpfr.h
│   └── mpfr.h
├── lib
│   ├── gcc
│   ├── libcc1.so -> libcc1.so.0.0.0
│   ├── libcc1.so.0 -> libcc1.so.0.0.0
│   ├── libcc1.so.0.0.0
│   ├── libgmp.a
│   ├── libgmpxx.a
│   ├── libmpc.a
│   └── libmpfr.a
├── libexec
│   └── gcc
└── share
    ├── doc
    ├── gcc-9.1.0
    ├── gdb
    ├── info
    ├── locale
    └── man

19 directories, 78 files
ZZLinvec commented 3 years ago

这个是加了 -vD的

sss@ZLin:/mnt/d/Project/SSD20X/201/apps/HXH_test_HTTP$ xrepo install -p cross -vD --sdk=/home/sss/ssd210/gcc/ openssl
#此处省略很多log
error: ...ake/repositories/xmake-repo/packages/o/openssl/xmake.lua:69: assertion failed!
stack traceback:
    [C]: in function 'error'
    [@programdir/core/base/os.lua:800]: in function 'raiselevel'
    [@programdir/core/sandbox/modules/utils.lua:183]: in function 'assert'
    [...ake/repositories/xmake-repo/packages/o/openssl/xmake.lua:69]: in function 'script'
    [...dir/modules/private/action/require/impl/utils/filter.lua:125]: in function 'call'
    [...dir/modules/private/action/require/impl/actions/test.lua:41]: in function 'test'
    [.../modules/private/action/require/impl/actions/install.lua:203]:
    [C]: in function 'trycall'
    [@programdir/core/sandbox/modules/try.lua:121]: in function 'try'
    [.../modules/private/action/require/impl/actions/install.lua:137]: in function 'action_install'
    [...modules/private/action/require/impl/install_packages.lua:212]: in function 'jobfunc'
    [@programdir/modules/private/async/runjobs.lua:193]:
    [C]: in function 'trycall'
    [@programdir/core/sandbox/modules/try.lua:121]: in function 'try'
    [@programdir/modules/private/async/runjobs.lua:186]: in function 'cotask'
    [@programdir/core/base/scheduler.lua:365]:

  => install openssl 1.1.1k .. ❌
❗ error: @programdir/modules/private/async/runjobs.lua:217: .../modules/private/action/require/impl/actions/install.lua:253: install failed!
stack traceback:
    [C]: in function 'error'
    [@programdir/core/base/os.lua:800]: in function 'raise'
    [.../modules/private/action/require/impl/actions/install.lua:253]: in function 'catch'
    [@programdir/core/sandbox/modules/try.lua:127]: in function 'try'
    [.../modules/private/action/require/impl/actions/install.lua:137]: in function 'action_install'
    [...modules/private/action/require/impl/install_packages.lua:212]: in function 'jobfunc'
    [@programdir/modules/private/async/runjobs.lua:193]:
    [C]: in function 'trycall'
    [@programdir/core/sandbox/modules/try.lua:121]: in function 'try'
    [@programdir/modules/private/async/runjobs.lua:186]: in function 'cotask'
    [@programdir/core/base/scheduler.lua:365]:

stack traceback:
        [C]: in function 'error'
        @programdir/core/base/os.lua:800: in function 'raise'
        @programdir/modules/private/async/runjobs.lua:217: in function 'catch'
        @programdir/core/sandbox/modules/try.lua:127: in function 'try'
        @programdir/modules/private/async/runjobs.lua:186: in function 'cotask'
        @programdir/core/base/scheduler.lua:365: in function <@programdir/core/base/scheduler.lua:362>
❗ error: @programdir/core/main.lua:279: @programdir/core/sandbox/modules/os.lua:391: execv(xmake require -v -D -j 12 --extra={system=false} openssl) failed(255)
stack traceback:
    [C]: in function 'error'
    [@programdir/core/base/os.lua:800]: in function 'raise'
    [@programdir/core/sandbox/modules/os.lua:391]: in function 'vexecv'
    [@programdir/modules/private/xrepo/action/install.lua:220]: in function '_install_packages'
    [@programdir/modules/private/xrepo/action/install.lua:227]: in function 'action'
    [@programdir/modules/private/xrepo/main.lua:196]: in function 'func'
    [@programdir/plugins/lua/main.lua:123]:
    [C]: in function 'load'
    [@programdir/core/base/task.lua:519]: in function 'run'
    [@programdir/core/main.lua:277]: in function 'cotask'
    [@programdir/core/base/scheduler.lua:365]:

stack traceback:
        [C]: in function 'error'
        @programdir/core/base/os.lua:800: in function 'raise'
        @programdir/core/main.lua:279: in function 'cotask'
        @programdir/core/base/scheduler.lua:365: in function <@programdir/core/base/scheduler.lua:362>

上面说openssl的69行有问题。

    on_test(function (package)
        assert(package:has_cfuncs("SSL_new", {includes = "openssl/ssl.h"}))
    end)
waruqi commented 3 years ago

此处省略很多log

加 -vD 的目的,就是为了要这些logs,你还给我省略了,我看个啥 。。

ZZLinvec commented 3 years ago

哈哈哈,大意了,大佬,帮忙看下下面这些补充的日志

/home/sss/.xmake/packages/o/openssl/1.1.1k/e8f60bbf63be4313805a65758f0365ba/share/doc/openssl/html/man7/RSA-PSS.html
/home/sss/.xmake/packages/o/openssl/1.1.1k/e8f60bbf63be4313805a65758f0365ba/share/doc/openssl/html/man7/scrypt.html
/home/sss/.xmake/packages/o/openssl/1.1.1k/e8f60bbf63be4313805a65758f0365ba/share/doc/openssl/html/man7/SM2.html
/home/sss/.xmake/packages/o/openssl/1.1.1k/e8f60bbf63be4313805a65758f0365ba/share/doc/openssl/html/man7/ssl.html
/home/sss/.xmake/packages/o/openssl/1.1.1k/e8f60bbf63be4313805a65758f0365ba/share/doc/openssl/html/man7/X25519.html
/home/sss/.xmake/packages/o/openssl/1.1.1k/e8f60bbf63be4313805a65758f0365ba/share/doc/openssl/html/man7/X448.html -> /home/sss/.xmake/packages/o/openssl/1.1.1k/e8f60bbf63be4313805a65758f0365ba/share/doc/openssl/html/man7/X25519.html
/home/sss/.xmake/packages/o/openssl/1.1.1k/e8f60bbf63be4313805a65758f0365ba/share/doc/openssl/html/man7/x509.html
finding openssl from xmake ..
checking for xmake::openssl ... openssl 1.1.1k
{
  linkdirs = {
    "/home/sss/.xmake/packages/o/openssl/1.1.1k/e8f60bbf63be4313805a65758f0365ba/lib"
  },
  libfiles = {
    "/home/sss/.xmake/packages/o/openssl/1.1.1k/e8f60bbf63be4313805a65758f0365ba/lib/libssl.a",
    "/home/sss/.xmake/packages/o/openssl/1.1.1k/e8f60bbf63be4313805a65758f0365ba/lib/libcrypto.a"
  },
  sysincludedirs = {
    "/home/sss/.xmake/packages/o/openssl/1.1.1k/e8f60bbf63be4313805a65758f0365ba/include"
  },
  static = true,
  links = {
    "ssl",
    "crypto"
  }
}

checkinfo: cannot runv(ccache --version), No such file or directory
checking for ccache ... ⭕
> /home/sss/ssd210/gcc/bin/arm-linux-gnueabihf-gcc -c -isystem /home/sss/.xmake/packages/o/openssl/1.1.1k/e8f60bbf63be4313805a65758f0365ba/include -o /dev/shm/.xmake1000/210609/_E15A92C231B2453083B85A021E340F60.o /dev/shm/.xmake1000/210609/_9BE0DB6E516940108E6469A8722F4220.c
checking for /home/sss/ssd210/gcc/bin/arm-linux-gnueabihf-gcc ... ✔
checking for flags (-fdiagnostics-color=always) ... ✔
> arm-linux-gnueabihf-gcc "-fdiagnostics-color=always"
> /home/sss/ssd210/gcc/bin/arm-linux-gnueabihf-g++ -o /dev/shm/.xmake1000/210609/_DBDBDD2F2D0645008D75BCE8FD403D00.b /dev/shm/.xmake1000/210609/_E15A92C231B2453083B85A021E340F60.o -L/home/sss/.xmake/packages/o/openssl/1.1.1k/e8f60bbf63be4313805a65758f0365ba/lib -lssl -lcrypto
> checking for c includes(openssl/ssl.h)
> checking for c funcs(SSL_new)
> checking for c links(ssl, crypto)
> checking for c snippet(has_cfuncs)
checkinfo: ...gramdir/core/sandbox/modules/import/core/tool/linker.lua:75: @programdir/core/sandbox/modules/os.lua:262: /home/sss/ssd210/gcc/bin/../lib/gcc/arm-linux-gnueabihf/9.1.0/../../../../arm-linux-gnueabihf/bin/ld: /home/sss/.xmake/packages/o/openssl/1.1.1k/e8f60bbf63be4313805a65758f0365ba/lib/libcrypto.a(dso_dlfcn.o): in function `dlfcn_globallookup':
dso_dlfcn.c:(.text+0x8): undefined reference to `dlopen'
/home/sss/ssd210/gcc/bin/../lib/gcc/arm-linux-gnueabihf/9.1.0/../../../../arm-linux-gnueabihf/bin/ld: dso_dlfcn.c:(.text+0x12): undefined reference to `dlsym'
/home/sss/ssd210/gcc/bin/../lib/gcc/arm-linux-gnueabihf/9.1.0/../../../../arm-linux-gnueabihf/bin/ld: dso_dlfcn.c:(.text+0x1c): undefined reference to `dlclose'
/home/sss/ssd210/gcc/bin/../lib/gcc/arm-linux-gnueabihf/9.1.0/../../../../arm-linux-gnueabihf/bin/ld: /home/sss/.xmake/packages/o/openssl/1.1.1k/e8f60bbf63be4313805a65758f0365ba/lib/libcrypto.a(dso_dlfcn.o): in function `dlfcn_bind_func':
dso_dlfcn.c:(.text+0x116): undefined reference to `dlsym'
/home/sss/ssd210/gcc/bin/../lib/gcc/arm-linux-gnueabihf/9.1.0/../../../../arm-linux-gnueabihf/bin/ld: dso_dlfcn.c:(.text+0x17a): undefined reference to `dlerror'
/home/sss/ssd210/gcc/bin/../lib/gcc/arm-linux-gnueabihf/9.1.0/../../../../arm-linux-gnueabihf/bin/ld: /home/sss/.xmake/packages/o/openssl/1.1.1k/e8f60bbf63be4313805a65758f0365ba/lib/libcrypto.a(dso_dlfcn.o): in function `dlfcn_load':
dso_dlfcn.c:(.text+0x1d8): undefined reference to `dlopen'
/home/sss/ssd210/gcc/bin/../lib/gcc/arm-linux-gnueabihf/9.1.0/../../../../arm-linux-gnueabihf/bin/ld: dso_dlfcn.c:(.text+0x21a): undefined reference to `dlclose'
/home/sss/ssd210/gcc/bin/../lib/gcc/arm-linux-gnueabihf/9.1.0/../../../../arm-linux-gnueabihf/bin/ld: dso_dlfcn.c:(.text+0x23c): undefined reference to `dlerror'
/home/sss/ssd210/gcc/bin/../lib/gcc/arm-linux-gnueabihf/9.1.0/../../../../arm-linux-gnueabihf/bin/ld: /home/sss/.xmake/packages/o/openssl/1.1.1k/e8f60bbf63be4313805a65758f0365ba/lib/libcrypto.a(dso_dlfcn.o): in function `dlfcn_pathbyaddr':
dso_dlfcn.c:(.text+0x2a8): undefined reference to `dladdr'
/home/sss/ssd210/gcc/bin/../lib/gcc/arm-linux-gnueabihf/9.1.0/../../../../arm-linux-gnueabihf/bin/ld: dso_dlfcn.c:(.text+0x2e4): undefined reference to `dlerror'
/home/sss/ssd210/gcc/bin/../lib/gcc/arm-linux-gnueabihf/9.1.0/../../../../arm-linux-gnueabihf/bin/ld: /home/sss/.xmake/packages/o/openssl/1.1.1k/e8f60bbf63be4313805a65758f0365ba/lib/libcrypto.a(dso_dlfcn.o): in function `dlfcn_unload':
dso_dlfcn.c:(.text+0x404): undefined reference to `dlclose'
collect2: error: ld returned 1 exit status

stack traceback:
    [C]: in function 'error'
    [@programdir/core/base/os.lua:800]: in function 'raise'
    [@programdir/core/sandbox/modules/os.lua:262]: in function 'runv'
    [@programdir/modules/core/tools/gcc.lua:357]:
    [C]: in function 'link'
    [...gramdir/core/sandbox/modules/import/core/tool/linker.lua:73]: in function 'link'
    [@programdir/modules/lib/detect/check_cxsnippets.lua:203]:
    [C]: in function 'trycall'
    [@programdir/core/sandbox/modules/try.lua:121]: in function 'try'
    [@programdir/modules/lib/detect/check_cxsnippets.lua:193]: in function 'has_cfuncs'
    [...ake/repositories/xmake-repo/packages/o/openssl/xmake.lua:69]: in function 'script'
    [...dir/modules/private/action/require/impl/utils/filter.lua:125]: in function 'call'
    [...dir/modules/private/action/require/impl/actions/test.lua:41]: in function 'test'
    [.../modules/private/action/require/impl/actions/install.lua:203]:
    [C]: in function 'trycall'
    [@programdir/core/sandbox/modules/try.lua:121]: in function 'try'
    [.../modules/private/action/require/impl/actions/install.lua:137]: in function 'action_install'
    [...modules/private/action/require/impl/install_packages.lua:212]: in function 'jobfunc'
    [@programdir/modules/private/async/runjobs.lua:193]:
    [C]: in function 'trycall'
    [@programdir/core/sandbox/modules/try.lua:121]: in function 'try'
    [@programdir/modules/private/async/runjobs.lua:186]: in function 'cotask'
    [@programdir/core/base/scheduler.lua:365]:

error: ...ake/repositories/xmake-repo/packages/o/openssl/xmake.lua:69: assertion failed!
stack traceback:
    [C]: in function 'error'
    [@programdir/core/base/os.lua:800]: in function 'raiselevel'
    [@programdir/core/sandbox/modules/utils.lua:183]: in function 'assert'
    [...ake/repositories/xmake-repo/packages/o/openssl/xmake.lua:69]: in function 'script'
    [...dir/modules/private/action/require/impl/utils/filter.lua:125]: in function 'call'
    [...dir/modules/private/action/require/impl/actions/test.lua:41]: in function 'test'
    [.../modules/private/action/require/impl/actions/install.lua:203]:
    [C]: in function 'trycall'
    [@programdir/core/sandbox/modules/try.lua:121]: in function 'try'
    [.../modules/private/action/require/impl/actions/install.lua:137]: in function 'action_install'
    [...modules/private/action/require/impl/install_packages.lua:212]: in function 'jobfunc'
    [@programdir/modules/private/async/runjobs.lua:193]:
    [C]: in function 'trycall'
    [@programdir/core/sandbox/modules/try.lua:121]: in function 'try'
    [@programdir/modules/private/async/runjobs.lua:186]: in function 'cotask'
    [@programdir/core/base/scheduler.lua:365]:

  => install openssl 1.1.1k .. ❌
❗ error: @programdir/modules/private/async/runjobs.lua:217: .../modules/private/action/require/impl/actions/install.lua:253: install failed!
stack traceback:
    [C]: in function 'error'
    [@programdir/core/base/os.lua:800]: in function 'raise'
    [.../modules/private/action/require/impl/actions/install.lua:253]: in function 'catch'
    [@programdir/core/sandbox/modules/try.lua:127]: in function 'try'
    [.../modules/private/action/require/impl/actions/install.lua:137]: in function 'action_install'
    [...modules/private/action/require/impl/install_packages.lua:212]: in function 'jobfunc'
    [@programdir/modules/private/async/runjobs.lua:193]:
    [C]: in function 'trycall'
    [@programdir/core/sandbox/modules/try.lua:121]: in function 'try'
    [@programdir/modules/private/async/runjobs.lua:186]: in function 'cotask'
    [@programdir/core/base/scheduler.lua:365]:

stack traceback:
        [C]: in function 'error'
        @programdir/core/base/os.lua:800: in function 'raise'
        @programdir/modules/private/async/runjobs.lua:217: in function 'catch'
        @programdir/core/sandbox/modules/try.lua:127: in function 'try'
        @programdir/modules/private/async/runjobs.lua:186: in function 'cotask'
        @programdir/core/base/scheduler.lua:365: in function <@programdir/core/base/scheduler.lua:362>
❗ error: @programdir/core/main.lua:279: @programdir/core/sandbox/modules/os.lua:391: execv(xmake require -v -D -j 12 --extra={system=false} openssl) failed(255)
stack traceback:
    [C]: in function 'error'
    [@programdir/core/base/os.lua:800]: in function 'raise'
    [@programdir/core/sandbox/modules/os.lua:391]: in function 'vexecv'
    [@programdir/modules/private/xrepo/action/install.lua:220]: in function '_install_packages'
    [@programdir/modules/private/xrepo/action/install.lua:227]: in function 'action'
    [@programdir/modules/private/xrepo/main.lua:196]: in function 'func'
    [@programdir/plugins/lua/main.lua:123]:
    [C]: in function 'load'
    [@programdir/core/base/task.lua:519]: in function 'run'
    [@programdir/core/main.lua:277]: in function 'cotask'
    [@programdir/core/base/scheduler.lua:365]:

stack traceback:
        [C]: in function 'error'
        @programdir/core/base/os.lua:800: in function 'raise'
        @programdir/core/main.lua:279: in function 'cotask'
        @programdir/core/base/scheduler.lua:365: in function <@programdir/core/base/scheduler.lua:362>
waruqi commented 3 years ago

执行 xrepo update-repo 更新下仓库,然后在安装下试试

ZZLinvec commented 3 years ago

竟然能安装成功了!!! 感谢大佬,但这是啥问题导致的呀

waruqi commented 3 years ago

包里面缺了 -ldl link 刚改进了下