Giter Club home page Giter Club logo

Comments (6)

preda avatar preda commented on July 26, 2024

Another problem, on "install.sh -c" I get build failure because of GTEST_LIBRARY.

I did "apt install libgtest-dev", but that didn't fix it.
How am I supposed to fix the build (get GTEST_LIBRARY)?
(on Ubuntu 17.10).

~/rocFFT$ ./install.sh -c
Creating project build directory in: ./build
~/rocFFT ~/rocFFT
-- The CXX compiler identification is Clang 6.0.0
-- Check for working CXX compiler: /opt/rocm/bin/hcc
-- Check for working CXX compiler: /opt/rocm/bin/hcc -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- HCC compiler set; ROCm backend selected [ CXX=/opt/rocm/bin/hcc cmake ... ]
-- Building with ROCm tools
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1")
-- Checking for module 'libunwind'
-- Found libunwind, version 1.1
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY - Success
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY - Success
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR - Success
-- Found FFTW: /usr/include (Required is at least version "3.0")
-- FindFFTW configured variables:
-- FFTW_INCLUDE_DIRS: /usr/include
-- FFTW_LIBRARIES: /usr/lib/x86_64-linux-gnu/libfftw3f.so;/usr/lib/x86_64-linux-gnu/libfftw3.so
-- Boost version: 1.62.0
-- Found the following Boost libraries:
-- program_options
CMake Error at /usr/share/cmake-3.9/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
Could NOT find GTest (missing: GTEST_LIBRARY GTEST_MAIN_LIBRARY)
Call Stack (most recent call first):
/usr/share/cmake-3.9/Modules/FindPackageHandleStandardArgs.cmake:377 (_FPHSA_FAILURE_MESSAGE)
/usr/share/cmake-3.9/Modules/FindGTest.cmake:146 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
clients/tests/CMakeLists.txt:42 (find_package)

-- Configuring incomplete, errors occurred!
See also "/home/preda/rocFFT/build/release/CMakeFiles/CMakeOutput.log".
make: *** No targets specified and no makefile found. Stop.

from rocfft.

preda avatar preda commented on July 26, 2024

And the third build-related issue is:
To me it's not very clear how to use the "install.sh" script. I don't want to do a "global install", thus I stayed away from "install.sh -i".

I did first "install -d", in the idea that this would get the dependencies. This took a very long time, and finally did build the .so library. But it did not build the client.

So next I did "install -c" to build the client. SURPRISE, this started by deleting the build/ folder, with the library (.so) that it took so long to build previously... not good. Afterwards, it stopped because of the GTEST problem above.

from rocfft.

kknox avatar kknox commented on July 26, 2024

@scchan @whchung
Have you seen those libm.a errors before?

@preda
I have never tested on Ubuntu 17.10, so I can only imagine that the compiler that ships in 17.10 is newer, there is probably an incompatibility with that shipping libm.a and hcc. My 2c. Try building on Ubuntu 16.04; use a docker container to make it easy on yourself.

As for the install.sh script, it's there to try to make building easier, but it's not as flexible as cmake itself, and neither should it be.

When invoking the install script, try using ./install -cd. You are telling that script that you want to build the clients, and you want to build/download dependencies at the same time. Gtest is a dependency of our test clients. If you specify only -c, it won't download dependencies at all, and if you specify only -d it will only download the dependencies of the library proper and not the clients. -cd is required to build googletest.

Yes, -i installs globally, and there there is no way yet to specify an alternative directory. You can build with cmake directly if you want to provide your own CMAKE_INSTALL_PREFIX.

from rocfft.

kknox avatar kknox commented on July 26, 2024

Forgot to mention that the rocfft wiki has the manual build instructions for expert users:

from rocfft.

preda avatar preda commented on July 26, 2024

@kknox : thank you for the explanation. I did build successfully (on Ubuntu 17.10) using "install.sh -cd" including the rocfft-rider client.

The error about "libm.a" seems innocuous; everything was OK.

It may be useful to add the make-based build instructions to README.md

Feel free to close this issue now.

from rocfft.

mvermeulen avatar mvermeulen commented on July 26, 2024

@bragadeesh @kknox
For what it is worth, I see the same "libm.a" error on Ubuntu 18.04 even linking a simple saxpy example:

My diagnosis is as follows:

  1. strace shows that "clamp-link" calls "objdump -t" on the libm.a file to grep for .kernel symbols.
  2. objdump expects the /usr/lib/x86_64-linux-gnu/libm.a file to be an archive file.
  3. On my Ubuntu 18.04 system at least, the file has become GNU ld script with contents:
    /* GNU ld script
    */
    OUTPUT_FORMAT(elf64-x86-64)
    GROUP ( /usr/lib/x86_64-linux-gnu/libm-2.27.a /usr/lib/x86_64-linux-gnu/libmvec.a )

Since objdump doesn't know about this new file type (it assumes an ASCII file), the warning is emitted. If the libm.a and libvec.a don't have .kernel symbols being searched, I'd expect this to be innocuous.

So I think this is a more general ROCm build error that can happen with a mismatch at the link step between libm.a and the clamp-link steps.

from rocfft.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.