LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Newbie (https://www.linuxquestions.org/questions/linux-newbie-8/)
-   -   Why can I see llvm-config with "which" but not "./configure"? (https://www.linuxquestions.org/questions/linux-newbie-8/why-can-i-see-llvm-config-with-which-but-not-configure-4175589805/)

FrankPutnamJr 09-20-2016 10:19 AM

Why can I see llvm-config with "which" but not "./configure"?
 
when using
./configure --with-llvm=/usr/bin --with-gsl=/usr/bin --prefix=/usr/local
I get the error message
checking for perl module Text::Balanced... ok
checking for perl module Digest::MD5... ok
checking for llvm-config... no-llvm-config
configure: error: could not find llvm-config
When I
which llvm-config
I get
/usr/bin/llvm-config

QUESTION:
Why can I see llvm-config with which but not ./configure?

rkelsen 09-20-2016 04:30 PM

Why can I see llvm-config with "which" but not "./configure"?
 
Sorry, I misread the question.

jpollard 09-20-2016 04:53 PM

./configure is looking for development libraries which appear to be missing from your install.

Most of the time it is looking for include files. Some of the time it actually attempts to compile a small file that uses the include AND links to a specific function. If either compile or link fail, you get the missing message.

John VV 09-20-2016 09:39 PM

but i have to ask ...
WHY are you passing DEFAULT values to configure ?
the DEFAULT install is almost always "/usr/local"
the DEFAULT bin search path is "/usr/bin"

it is normally a VERY!!! good idea to read the output of
Code:

./configure --help
FIRST , then pass values that are needed

FrankPutnamJr 09-21-2016 02:57 PM

John VV,

What does it matter if I specify the defaults? That only makes the error message even more disturbing.

llvm-config was installed in /usr/bin/.
/usr/bin is in the PATH.
and I'm telling configure to look for it in /usr/bin.

What part of "usr/bin" does configure not understand?

John VV 09-21-2016 04:40 PM

no the error is informing you that something is missing
"configure" uses the autotools m4 macros and the package config files "/usr/lib64/pkgconfig/"
and uses the presence of the header files in /usr/include

install the devel rpm's(llvm-devel.rpm) or dev deb's or the source for whatever operating system you are using

FrankPutnamJr 09-23-2016 01:29 PM

Should libLVMSupport.a link to libLVMSupport.so?
 
I ran ./configure with no arguments and it found /usr/bin/llvm-config.

In the next step it couldn't find /usr/lib64/libLLVMSupport.a.

I checked /usr/lib64/ and found libLLVMSupport.so, libLLVMSupport.so.3.7, and libLLVMSupport.so.3.7.0.

Checking Yast2 I saw that package libLLVM was installed and it listed the the above 3 files.

Should libLVMSupport.a be a link to libLVMSupport.so?

John VV 09-23-2016 01:50 PM

Quote:

Should libLVMSupport.a be a link to libLVMSupport.so?
NO -- *.a libs are static and *.so are shared

what is this unknown program you are trying to build on suse , and from where did you get this unknown program ?
Also what version of suse / opensuse is it ?

FrankPutnamJr 09-23-2016 02:15 PM

The program, called Trick, allows you to run simulations. It is from NASA. I am running openSUSE Leap 42.1 inside of VirtualBox version 5.1.6r110634 (Qt5.5.1). My hardware is an HP Pavillion laptop with AMD A8 processor with virtualization enabled.

FrankPutnamJr 09-23-2016 02:54 PM

configure script successfully completed
 
I modified the configure script file by changing libLLVMSupport.a to libLLVMSupport.so and it reported "configure script successfully completed".

John VV 09-23-2016 03:05 PM

from the install INSTRUCTIONS
https://github.com/nasa/Trick/wiki/Installing-Trick

install llvm-static!!!!!!
and Clang and openMotiff

i use a lot of NASA/JPL/USGS code and the software can sometimes be a pain to compile without errors

suse uses a different version of motif this may or may not cause a issue

jpollard 09-23-2016 08:26 PM

Quote:

Originally Posted by FrankPutnamJr (Post 5609283)
I modified the configure script file by changing libLLVMSupport.a to libLLVMSupport.so and it reported "configure script successfully completed".

It won't necessarily work.

The problem is the symbols exported by the shared library - they don't have to match what is required. Second, the linking operation itself may be expecting the object files - and shared libraries don't have any. Third, the modules the program calls for may not even be in the shared libraries or have additional operating modes (such as debugging).


All times are GMT -5. The time now is 12:44 PM.