Closed fhaverkamp closed 6 years ago
I had to set USE_ADVANCED_TOOLCHAIN=no to make code compile, since I did not have the library installed. Furthermore I needed to install libudev-dev which was missing and caused build failure.
Calling make multiple times after a successful build leads to relinking some of the code:
make[4]: Entering directory '/home/haver/capiflash/src/block/bin' gcc -shared -Wl,-Bsymbolic-functions -Wl,-z,relro,-z,now -O3 -Wl,-rpath, -Wl,-soname,libcflsh_block-0.so -o ../../img/libcflsh_block-0.so ../../obj/modules/cflsh_block/cflash_scsi_user.o ../../obj/modules/cflsh_block/cflash_tools_user.o ../../obj/modules/cflsh_block/cflash_block.o ../../obj/modules/cflsh_block/cflash_block_int.o ../../obj/modules/cflsh_block/cflash_block_sisl.o ../../obj/modules/cflsh_block/cflash_block_cgroup.o ../../obj/modules/cflsh_block/cflash_block_raid0.o ../../obj/modules/cflsh_block/cflash_block_eras_client.o ../../obj/modules/cflsh_block/cflash_block_eras_serv.o ../../obj/modules/cflsh_block/cflash_block_linux.o -Wl,--version-script=libcflash_exportmap -lpthread -ludev -L../../img make[4]: Nothing to be done for 'code_pass'. make[4]: Leaving directory '/home/haver/capiflash/src/block/bin' make[3]: Leaving directory '/home/haver/capiflash/src/block' make: code_pass make[3]: Entering directory '/home/haver/capiflash/src/usfs' gcc -shared -Wl,-Bsymbolic-functions -Wl,-z,relro,-z,now -O3 -Wl,-rpath, -Wl,-soname,libcflsh_usfs-0.so -o ../../img/libcflsh_usfs-0.so ../../obj/modules/cflsh_usfs/cflsh_usfs.o ../../obj/modules/cflsh_usfs/cflsh_usfs_utils.o ../../obj/modules/cflsh_usfs/cflsh_usfs_disk.o ../../obj/modules/cflsh_usfs/cflsh_usfs_inode.o ../../obj/modules/cflsh_usfs/cflsh_usfs_client.o ../../obj/modules/cflsh_usfs/cflsh_usfs_wrapper.o -lcflsh_block-0 -Wl,--version-script=libcflsh_usfs_exportmap -ldl -lpthread -ludev -L../../img gcc -Wl,-Bsymbolic-functions -Wl,-z,relro,-z,now -O3 -Wl,-rpath, -O3 -Wall -mcpu=power8 -mtune=power8 -DBLOCK_FILEMODE_ENABLED -DTARGET_ARCH_PPC64EL -D__SURELOCK_MODULE=cflsh_usfs -DGITREVISION='"2493"' -Wno-unused-result -fstack-protector-strong -Wformat -Werror -pie -Wl,-Bsymbolic-functions -Wl,-z,relro,-z,now -O3 -Wl,-rpath, ../../obj/programs/cusfs_serv.o -lcflsh_block-0 -lcflsh_usfs-0 -ldl -lrt -lpthread -ludev -L../../img -o ../../obj/programs/cusfs_serv make[3]: Leaving directory '/home/haver/capiflash/src/usfs' make: code_pass make[3]: Entering directory '/home/haver/capiflash/src/kv' make: code_pass make: SKIP test gcc -shared -Wl,-Bsymbolic-functions -Wl,-z,relro,-z,now -O3 -Wl,-rpath, -Wl,-soname,libarkdb-0.so -o ../../img/libarkdb-0.so ../../obj/modules/arkdb/ut.o ../../obj/modules/arkdb/cl.o ../../obj/modules/arkdb/ea.o ../../obj/modules/arkdb/ll.o ../../obj/modules/arkdb/bv.o ../../obj/modules/arkdb/iv.o ../../obj/modules/arkdb/si.o ../../obj/modules/arkdb/vi.o ../../obj/modules/arkdb/bl.o ../../obj/modules/arkdb/bt.o ../../obj/modules/arkdb/arkdb.o ../../obj/modules/arkdb/am.o ../../obj/modules/arkdb/ari.o ../../obj/modules/arkdb/arp.o ../../obj/modules/arkdb/arp_set.o ../../obj/modules/arkdb/arp_get.o ../../obj/modules/arkdb/arp_del.o ../../obj/modules/arkdb/arp_exist.o ../../obj/modules/arkdb/tag.o ../../obj/modules/arkdb/ea_mod.o ../../obj/modules/arkdb/queue.o ../../obj/modules/arkdb/hash.o ../../obj/modules/arkdb/tg.o ../../obj/modules/arkdb/ht.o ../../obj/modules/arkdb/kv_inject.o -lcflsh_block-0 -lcflshcom-0 -larkalloc-0 -lpthread -ludev -L../../img ...
I think if the dependency checking would be correct, it would not do the relink/build step. So some dependencies are not correct, I assume. Please have a look.
The infrastructure has been changed, and the README updated. The step "make configure" will auto-setup dependencies.
bash-4.1$ find . -name "gtest_add.sh" bash-4.1$ pwd /afs/bb/u/haver/framework/capiflash
Due to lintian: script-with-language-extension, the extension was dropped. The README.md will be updated.