Link Error with DAOS 1.0
Archie Morningstar
Hi, I was trying to build a clean install of DAOS v1.0.0 using the instructions on the DAOS admin guide (https://daos-stack.github.io/admin/installation/) with just the simple commands: git clone https://github.com/daos-stack/daos.git git checkout v1.0.0 git submodule init git submodule update scons --config=force --build-deps=yes install But I'm hitting a linker error. Is there something I'm missing? I think the libraries are in isal but I'm not familiar with scons to modify the build scripts to add them. <lambda>(["build/src/control/bin/daos_admin"], ["src/control/cmd/daos_admin/main.go", "build/src/control/lib/spdk/libnvme_control.a"]) go install -v -ldflags "-X main.daosVersion=1.0.0 -X main.configDir=/home/archie/daos_1.0/daos/install/etc -B 0x10c0ffc53672015e4d3e239af2f447c247b05c02" github.com/daos-stack/daos/src/control/cmd/daos_admin github.com/daos-stack/daos/src/control/lib/spdk # github.com/daos-stack/daos/src/control/lib/spdk /usr/bin/ld: /home/archie/daos_1.0/daos/install/lib/libspdk_env_dpdk.so: undefined reference to `rte_eal_get_configuration' /usr/bin/ld: /home/archie/daos_1.0/daos/install/lib/libspdk_util.so: undefined reference to `crc16_t10dif' /usr/bin/ld: /home/archie/daos_1.0/daos/install/lib/libspdk_util.so: undefined reference to `crc16_t10dif_copy' /usr/bin/ld: /home/archie/daos_1.0/daos/install/lib/libspdk_env_dpdk.so: undefined reference to `lcore_config' /usr/bin/ld: /home/archie/daos_1.0/daos/install/lib/libspdk_util.so: undefined reference to `crc32_iscsi' collect2: error: ld returned 1 exit status scons: *** Error 2 scons: *** [build/src/control/bin/daos_admin] Error 2 scons: building terminated because of errors. Archie |
|
What is the Linux distro and version?
toggle quoted message
Show quoted text
Composed on a tiny keyboard
On Jun 18, 2020, at 7:04 PM, Archie Morningstar <archiemorningstar88@...> wrote:
|
|
Sorry for not having that:
Ubuntu 20.04 LTS Archie |
|
Hi Archie,
I don’t know if 1.0 has been tried with Ubuntu 20.04 though it does work with 18.04. I will give it a try locally and see what I can find out.
-Jeff
From: <daos@daos.groups.io> on behalf of Archie Morningstar <archiemorningstar88@...>
[Edited Message Follows] Sorry for not having that: |
|
This small patch gets me past that error:
jvolivie-desk1:[~/daos_1.0]$ git diff diff --git a/src/control/lib/spdk/spdk.go b/src/control/lib/spdk/spdk.go index 28b55e537..bbc3d43c6 100644 --- a/src/control/lib/spdk/spdk.go +++ b/src/control/lib/spdk/spdk.go @@ -30,6 +30,7 @@ package spdk /* #cgo LDFLAGS: -lspdk_env_dpdk -lrte_mempool -lrte_mempool_ring -lrte_bus_pci #cgo LDFLAGS: -lrte_pci -lrte_ring -lrte_mbuf -lrte_eal -lrte_kvargs -ldl -lnuma +#cgo LDFLAGS: -lisal
#include "stdlib.h" #include "spdk/stdinc.h"
But then it runs into an issue with hwloc.
build/src/control/src/github.com/daos-stack/daos/src/control/lib/netdetect/netdetect.go:156:48: could not determine kind of name for C.HWLOC_TOPOLOGY_FLAG_IO_DEVICES
It looks like hwloc version 1.5 which should work but perhaps there is something new on Ubuntu 20.04 that we only resolved on master.
-Jeff
From: <daos@daos.groups.io> on behalf of "Olivier, Jeffrey V" <jeffrey.v.olivier@...>
Hi Archie,
I don’t know if 1.0 has been tried with Ubuntu 20.04 though it does work with 18.04. I will give it a try locally and see what I can find out.
-Jeff
From: <daos@daos.groups.io> on behalf of Archie Morningstar <archiemorningstar88@...>
[Edited Message Follows] Sorry for not having that: |
|
There have been some fixes in master for build issues with ubuntu 20.04 (specifically for spdk, ipmctl and I think hwloc). Can you try building from master?
Tom
From: daos@daos.groups.io <daos@daos.groups.io> On Behalf Of
Olivier, Jeffrey V
Sent: Thursday, June 25, 2020 2:06 AM To: daos@daos.groups.io Subject: Re: [daos] Link Error with DAOS 1.0
This small patch gets me past that error:
jvolivie-desk1:[~/daos_1.0]$ git diff diff --git a/src/control/lib/spdk/spdk.go b/src/control/lib/spdk/spdk.go index 28b55e537..bbc3d43c6 100644 --- a/src/control/lib/spdk/spdk.go +++ b/src/control/lib/spdk/spdk.go @@ -30,6 +30,7 @@ package spdk /* #cgo LDFLAGS: -lspdk_env_dpdk -lrte_mempool -lrte_mempool_ring -lrte_bus_pci #cgo LDFLAGS: -lrte_pci -lrte_ring -lrte_mbuf -lrte_eal -lrte_kvargs -ldl -lnuma +#cgo LDFLAGS: -lisal
#include "stdlib.h" #include "spdk/stdinc.h"
But then it runs into an issue with hwloc.
build/src/control/src/github.com/daos-stack/daos/src/control/lib/netdetect/netdetect.go:156:48: could not determine kind of name for C.HWLOC_TOPOLOGY_FLAG_IO_DEVICES
It looks like hwloc version 1.5 which should work but perhaps there is something new on Ubuntu 20.04 that we only resolved on master.
-Jeff
From: <daos@daos.groups.io> on behalf of "Olivier, Jeffrey V" <jeffrey.v.olivier@...>
Hi Archie,
I don’t know if 1.0 has been tried with Ubuntu 20.04 though it does work with 18.04. I will give it a try locally and see what I can find out.
-Jeff
From: <daos@daos.groups.io> on behalf of Archie Morningstar <archiemorningstar88@...>
[Edited Message Follows] Sorry for not having that: --------------------------------------------------------------------- This e-mail and any attachments may contain confidential material for |
|
H Archie,
On the hwloc issue, it looks like Ubuntu 20 has hwloc API version 2.x and the fixes for that version of hwloc are only in master. Switching to master may be your best bet as Ubuntu isn’t officially supported in 1.0.
However, if you really wan to get it building, you can try this. Before we had support for hwloc 2.x, I added the following workaround on my Fedora box. I built a 1.5 version of hwloc in /opt/hwloc and added the following to my ~/.scons_localrc
Import(‘env’) env.PrependUnique(LIBPATH=[“/opt/hwloc/lib”] env.PrependUnique(CPPAPTH=[“/opt/hwloc/include”]) env.PrependUnique(RPATH=[“/opt/hwloc/lib”]) env[“ENV”][“CGO_CFLAGS”] = “-I/opt/hwloc/include” env[“ENV”][“CGO_LDFLAGS”] = “-L/opt/hwloc/lib -Wl,-rpath=/opt/hwloc/lib”
But I would recommend using master instead if you need to use Ubuntu 20.04 as Ubuntu isn’t officially supported in the 1.0 release.
-Jeff
From: <daos@daos.groups.io> on behalf of "Nabarro, Tom" <tom.nabarro@...>
There have been some fixes in master for build issues with ubuntu 20.04 (specifically for spdk, ipmctl and I think hwloc). Can you try building from master?
Tom
From: daos@daos.groups.io <daos@daos.groups.io> On Behalf Of
Olivier, Jeffrey V
Sent: Thursday, June 25, 2020 2:06 AM To: daos@daos.groups.io Subject: Re: [daos] Link Error with DAOS 1.0
This small patch gets me past that error:
jvolivie-desk1:[~/daos_1.0]$ git diff diff --git a/src/control/lib/spdk/spdk.go b/src/control/lib/spdk/spdk.go index 28b55e537..bbc3d43c6 100644 --- a/src/control/lib/spdk/spdk.go +++ b/src/control/lib/spdk/spdk.go @@ -30,6 +30,7 @@ package spdk /* #cgo LDFLAGS: -lspdk_env_dpdk -lrte_mempool -lrte_mempool_ring -lrte_bus_pci #cgo LDFLAGS: -lrte_pci -lrte_ring -lrte_mbuf -lrte_eal -lrte_kvargs -ldl -lnuma +#cgo LDFLAGS: -lisal
#include "stdlib.h" #include "spdk/stdinc.h"
But then it runs into an issue with hwloc.
build/src/control/src/github.com/daos-stack/daos/src/control/lib/netdetect/netdetect.go:156:48: could not determine kind of name for C.HWLOC_TOPOLOGY_FLAG_IO_DEVICES
It looks like hwloc version 1.5 which should work but perhaps there is something new on Ubuntu 20.04 that we only resolved on master.
-Jeff
From: <daos@daos.groups.io> on behalf of "Olivier, Jeffrey V" <jeffrey.v.olivier@...>
Hi Archie,
I don’t know if 1.0 has been tried with Ubuntu 20.04 though it does work with 18.04. I will give it a try locally and see what I can find out.
-Jeff
From: <daos@daos.groups.io> on behalf of Archie Morningstar <archiemorningstar88@...>
[Edited Message Follows] Sorry for not having that: --------------------------------------------------------------------- This e-mail and any attachments may contain confidential material for |
|