qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [QEMU]Add new entries for qemu/configure questions


From: harryxiyou
Subject: [Qemu-devel] [QEMU]Add new entries for qemu/configure questions
Date: Tue, 22 Jan 2013 16:43:33 +0800

Hi all,

We add new entries for qemu/configure(QEMU v1.3.0), which
can locate our libraries and header files to compile our driver
for QEMU. The new entries in qemu/configure are like following.

[...]
2828 ##########################################
2829 # hlfs probe
2830 echo "Entering HLFS probe...";
2831 sleep 2;
2832 if test "$hlfs" != "no" ; then
2833     cat > $TMPC <<EOF
2834 #include <stdio.h>
2835 #include <api/hlfs.h>
2836 int main(void) {
2837     return 0;
2838 }
2839 EOF
2840 echo "come here";
2841     GLIB_DIR1_INC=/usr/lib/glib-2.0/include
2842     GLIB_DIR2_INC=/usr/include/glib-2.0
2843     HLFS_DIR=/home/jiawei/workshop3/hlfs
2844     LOG4C_DIR=$HLFS_DIR/3part/log
2845     HDFS_DIR=$HLFS_DIR/3part/hadoop
2832 if test "$hlfs" != "no" ; then
2833     cat > $TMPC <<EOF
2834 #include <stdio.h>
2835 #include <api/hlfs.h>
2836 int main(void) {
2837     return 0;
2838 }
2839 EOF
2840 echo "come here";
2841     GLIB_DIR1_INC=/usr/lib/glib-2.0/include
2842     GLIB_DIR2_INC=/usr/include/glib-2.0
2843     HLFS_DIR=/home/jiawei/workshop3/hlfs
2844     LOG4C_DIR=$HLFS_DIR/3part/log
2845     HDFS_DIR=$HLFS_DIR/3part/hadoop
2846     JVM_DIR=/usr/lib/jvm/java-6-openjdk
2847
2848     if [ `getconf LONG_BIT` -eq "64" ];then
2849         CLIBS="-L$LOG4C_DIR/lib64"
2850         CLIBS="-L$HDFS_DIR/lib64 $CLIBS"
2851         CLIBS="-L$HLFS_DIR/output/lib64  $CLIBS"
2852         CLIBS="-L$JVM_DIR/jre/lib/amd64/server/ $CLIBS"
2853         else if [ `getconf LONG_BIT` -eq "32" ];then
2854             CLIBS="-L$LOG4C_DIR/lib32"
2855             CLIBS="-L$HDFS_DIR/lib32 $CLIBS"
2856             CLIBS="-L$JVM_DIR/jre/lib/i386/server $CLIBS"
2857             CLIBS="-L$HLFS_DIR/output/lib32  $CLIBS"
2858         fi
2859     fi
2860 echo "CLIBS is............";
2861 echo $CLIBS;
2862 echo "CLIBS end...........";
2863 echo "$libs"
2864 sleep 2;
2865     CFLAGS="-I$GLIB_DIR1_INC"
2866     CFLAGS="-I$GLIB_DIR2_INC $CFLAGS"
2867     CFLAGS="-I$HLFS_DIR/src/include $CFLAGS"
2868     CFLAGS="-I$LOG4C_DIR/include $CFLAGS"
2869 echo "CFLAGS is............";
2870 echo $CFLAGS;
2871 echo "CFLAGS end...........";
2872 sleep 2;
2873 #   removed '-llog4c' '-lhdfs'
2874     hlfs_libs="$CLIBS -lhlfs -lglib-2.0 -lgthread-2.0 -lrt
-llog4c -lhdfs -ljvm"
2875     if compile_prog "$CFLAGS" "$hlfs_libs" ; then
2876         echo "run branch 1";
2877         hlfs=yes
2878         libs_tools="$libs_tools $hlfs_libs"
2879         libs_softmmu="$libs_softmmu $hlfs_libs"
2880 #       libs_softmmu="$libs_softmmu $hlfs_libs"
2881     else
2882         if test "$hlfs" = "yes" ; then
2883             echo "run branch 2";
2884             feature_not_found "hlfs block device"
2885         fi
2886         hlfs=no
2887     fi
2888 fi
2889 echo $hlfs_libs;
2890 echo "Leave HLFS ...";
2891 sleep 2
2892
2893 ##########################################
[...]

Unfortunately, it doesn't work. After i execute following commands,
it shows me libraries which are not pointed to what i set in file
qemu/configure.

1. git clone git://git.qemu.org/qemu.git
2. cd qemu
3, git reset --hard v1.3.0
4. cp ../hlfs/patches/hlfs_driver_for_qemu.patch ./
5. git apply hlfs_driver_for_qemu.patch
6, Modify the dead path
7, ./configure
8, make
9, ldd ./qemu-img

Note:  1, Step 4 just move the patch to qemu dir for later patching.
          2, Step 6 just set the libraries in my OS.

After up commands, i get

$ ldd ./qemu-img
        linux-gate.so.1 =>  (0x00355000)
        librt.so.1 => /lib/tls/i686/cmov/librt.so.1 (0x003ca000)
        libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0x007cf000)
        libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0x00110000)
        libz.so.1 => /lib/libz.so.1 (0x002b3000)
        libhlfs.so => /usr/lib/libhlfs.so (0x0021c000)
        liblog4c.so.3 => /usr/lib/liblog4c.so.3 (0x00722000)
        libhdfs.so.0 => /usr/lib/libhdfs.so.0 (0x00297000)
        libjvm.so => /usr/lib/libjvm.so (0x00daa000)
        libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0x002c8000)
        libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0x0041b000)
        /lib/ld-linux.so.2 (0x0074f000)
        libsnappy.so.1 =>
/home/jiawei/workshop3/hlfs/build/../3part/snappy/lib32/libsnappy.so.1
(0x00364000)
        libexpat.so.1 => /lib/libexpat.so.1 (0x002e1000)
        libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0x002a1000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x0057a000)
        libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0x00309000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x0032f000)

I set libhlfs.so point to /home/jiawei/workshop3/hlfs/output/lib32 but,
in fact, it points to /usr/lib. The same as libhdfs.so and liblog4c.so.
I guess i have configured qemu/configure not correctly but i am not
clear about how i should configure? Could anyone give me some
suggestions? Thanks in advance.

-- 
Thanks
Harry Wei



reply via email to

[Prev in Thread] Current Thread [Next in Thread]