This request is superseded by
request 1224532
(Show diff)
You're not reviewing the full diff of
request 1224524
, but the diff to the superseded
request 1224306
(Show full diff)
Overview
Request 1224524 superseded
Adaptivecpp is an open implementation of SYCL for CPUs and GPUs
- Created by VaiTon
- In state superseded
- Package maintainer: VaiTon
- Supersedes 1224306
- Superseded by 1224532
Loading...
Request History
VaiTon created request
Adaptivecpp is an open implementation of SYCL for CPUs and GPUs
superseded by 1224532
Is it intentional that the libraries are not installed into
%{_libdir}
, i.e./usr/lib64
on 64-bit systems? Same for the CMake files. One way to fix this is to addinclude(GNUInstallDirs)
, then useCMAKE_INSTALL_LIBDIR
. Another is to uselib%{LLVM_LIBDIR_SUFFIX}
.But I'm not sure if this works, the application might look for the libraries in the wrong path.
I tried moving them with a raw and dirty
mv
, but then it wasn't working because it was searching in the wrong paths.I tried a lot of options for cmake to set it to use lib64, but with no luck. GNUInstallDirs should be already included upstream: https://github.com/AdaptiveCpp/AdaptiveCpp/blob/15647ad4a0aaf411f8b53385625bb4cef598e71c/CMakeLists.txt#L634
Ok, I thought this would happen. Maybe you can open a discussion with upstream to support changing the path. They can get the distribution default from CMake, as mentioned, and then use it in the source where the lookup happens using
configure_file
oradd_compile_definitions
.Also can you make sure that builds are either successful, excluded, or unresolvable? There are lots of failing builds currently. Either add
ExcludeArch
orExclusiveArch
, or make sure it builds on the other architectures.For Leap, it seems you're using
/usr/etc
, which is not used there yet. If you want to keep the files there, add it as%dir
on Leap. See https://en.opensuse.org/openSUSE:Build_Service_cross_distribution_howto.The libraries in
hipSYCL
also look like plugins to me and should probably be build asMODULE
. Onlylibacpp-common.so
andlibacpp-rt.so
look like properSHARED
libraries, guessing from theRequires
on the main package.I also get it by rpmlint now:
[ 113s] libadaptivecpp.x86_64: W: no-soname /usr/lib/libacpp-clang.so [ 113s] The library has no soname.
I'm trying to patch the other ones now
Update: setting
libllvm-to-backend.so
as MODULE gives meYou're right, I must have overlooked the detected dependency. Maybe I forgot to check the dependencies of
libadaptivecpp
. There we have additionallylibllvm-to-backend.so()(64bit)
andlibllvm-to-host.so()(64bit)
Not necessarily wrong. Plugins shouldn't have an SO name, at the same time libraries in
%{_libdir}
usually have one. Some applications have subdirectories for plugins, maybe this could be an option here as well. But discuss this with upstream first.