[libvirt] Compile libvirt V1.0.1 error

Eric Blake eblake at redhat.com
Wed Feb 27 16:47:45 UTC 2013


On 02/26/2013 11:36 PM, harryxiyou wrote:
> On Wed, Feb 27, 2013 at 11:04 AM, Eric Blake <eblake at redhat.com> wrote:
> [...]
>> You trimmed too much of your make line to tell us what was happening.
>> It might also help to run 'make V=1' to get the full command line being
>> attempted.  I have to wonder if you have an unexpanded '$JAVA_HOME'
>> injected somewhere into your configure output, where make is trying to
>> compute $J (empty) followed by literal 'AVA_HOME'; maybe you should
>> figure out what in your build setup is providing that bad variable value
>> (correct would likely be '${JAVA_HOME}').  But I cannot reproduce your
>> build failure, so it is something in your environment and not in libvirt
>> itself that is causing you grief.
>>
> 
> Eric, i was dizzy. Actually, i don't know why automake recognized
> $JAVA_HOME as $AVA_HOME.

Make is not like shell.  In shell, {} is optional, required only if
characters after the variable name being expanded could be part of a
variable name.  In make, {} (or ()) is mandatory for any variable whose
name is longer than one byte.  Thus, in make, $JAVA_HOME is the same as
${J}AVA_HOME; while in shell, it is the same as ${JAVA_HOME} - quite
different.  At any rate, since you didn't define $J in your makefile,
make was expanding ${J} to the empty string, which explains why your
error message then mentions AVA_HOME.

> However, i solved the problem like
> following.
> 
> JVM_DIR=${shell echo ${JAVA_HOME}}

What a waste of resources - that forks a shell to do an echo every time
that you use ${JVM_DIR}.  Much simpler to write as:

JVM_DIR=${JAVA_HOME}

I'm still not even sure why you need ${JVM_DIR}, and can't just use
${JAVA_HOME} directly, nor why you are trying to add pieces of Java into
libvirt (libvirt itself is written in C, not Java, for a reason).  I
guess I'll just have to wait until I see a patch to understand what this
is all about.  Good luck.

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 621 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20130227/82fb2b3e/attachment-0001.sig>


More information about the libvir-list mailing list