kumasento / polymer

Bridging polyhedral analysis tools to the MLIR framework
MIT License
99 stars 21 forks source link

make[1]: *** No rule to make target 'install'. Stop. #134

Closed nyck33 closed 4 months ago

nyck33 commented 4 months ago

Near the end of building Polygeist, well the cmake command, I get

Libraries have been installed in:
   /mnt/d/LLVM/NewPolygeistDir/build/pluto/install/lib

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the '-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the 'LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the 'LD_RUN_PATH' environment variable
     during linking
   - use the '-Wl,-rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to '/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
 /usr/bin/mkdir -p '/mnt/d/LLVM/NewPolygeistDir/build/pluto/install/bin'
  /bin/bash ./libtool   --mode=install /usr/bin/install -c clan '/mnt/d/LLVM/NewPolygeistDir/build/pluto/install/bin'
libtool: install: /usr/bin/install -c .libs/clan /mnt/d/LLVM/NewPolygeistDir/build/pluto/install/bin/clan
make[4]: Leaving directory '/mnt/d/LLVM/NewPolygeistDir/build/pluto/pluto/clan'
make[3]: Leaving directory '/mnt/d/LLVM/NewPolygeistDir/build/pluto/pluto/clan'
Making install in doc
make[3]: Entering directory '/mnt/d/LLVM/NewPolygeistDir/build/pluto/pluto/clan/doc'
make[4]: Entering directory '/mnt/d/LLVM/NewPolygeistDir/build/pluto/pluto/clan/doc'
make[4]: Nothing to be done for 'install-exec-am'.
make[4]: Nothing to be done for 'install-data-am'.
make[4]: Leaving directory '/mnt/d/LLVM/NewPolygeistDir/build/pluto/pluto/clan/doc'
make[3]: Leaving directory '/mnt/d/LLVM/NewPolygeistDir/build/pluto/pluto/clan/doc'
Making install in tests
make[3]: Entering directory '/mnt/d/LLVM/NewPolygeistDir/build/pluto/pluto/clan/tests'
make[4]: Entering directory '/mnt/d/LLVM/NewPolygeistDir/build/pluto/pluto/clan/tests'
make[4]: Nothing to be done for 'install-exec-am'.
make[4]: Nothing to be done for 'install-data-am'.
make[4]: Leaving directory '/mnt/d/LLVM/NewPolygeistDir/build/pluto/pluto/clan/tests'
make[3]: Leaving directory '/mnt/d/LLVM/NewPolygeistDir/build/pluto/pluto/clan/tests'
make[2]: Leaving directory '/mnt/d/LLVM/NewPolygeistDir/build/pluto/pluto/clan'
make[1]: Leaving directory '/mnt/d/LLVM/NewPolygeistDir/build/pluto/pluto/clan'
Making install in candl
make[1]: Entering directory '/mnt/d/LLVM/NewPolygeistDir/build/pluto/pluto/candl'
make[1]: Leaving directory '/mnt/d/LLVM/NewPolygeistDir/build/pluto/pluto/candl'
make[1]: *** No rule to make target 'install'.  Stop.
make: *** [Makefile:555: install-recursive] Error 1
CMake Error at tools/polymer/CMakeLists.txt:28 (execute_process):
  execute_process failed command indexes:

    1: "Child return code: 2"

-- Configuring incomplete, errors occurred!
See also "/mnt/d/LLVM/NewPolygeistDir/build/CMakeFiles/CMakeOutput.log".
See also "/mnt/d/LLVM/NewPolygeistDir/build/CMakeFiles/CMakeError.log".
nyck33@lenovo-gtx1650:/mnt/d/LLVM/NewPolygeistDir/build$

What is this install? I see candl in three palces in the repo

image

but I came here thinking I should try to build Polymer on its own and the have a flag for the path in my Polygeist build.

nyck33 commented 4 months ago

do this: Based on the log you provided, it seems like the build process for a component of your project (likely "candl" within "pluto") fails because the make install target is not properly defined or missing in the Makefile. Here's how to address this issue:

Locating the Problematic Makefile

  1. Directory to Check: The error is occurring in the candl subdirectory of the pluto directory. The path based on your log is /mnt/d/LLVM/NewPolygeistDir/build/polymer_deps/pluto/pluto/candl.

  2. File to Inspect: In this directory, look for the Makefile. If you don't find a Makefile but find Makefile.am or Makefile.in, this indicates that the Makefile has not been properly generated.

Steps to Resolve

  1. Check for Makefile.am or Makefile.in: If these files exist, the Makefile should be generated from them using automake and autoconf.

  2. Regenerate Makefile: Run the following commands in the candl directory:

    aclocal       # Prepare m4 macros for autoconf
    automake --add-missing   # Generate Makefile.in
    autoconf      # Generate configure script
    ./configure   # Generate Makefile
  3. Verify Makefile: After these steps, check if a new Makefile is generated and if it contains an install target.

    • You can search for the install target using a text editor or command like grep "install:" Makefile.
    • If the install target is still missing, there might be an issue in Makefile.am where this target should be defined or implied.
  4. Re-Run Make Install: Once you have a valid Makefile with the install target, try running make install again.

Additional Notes

Final Note