[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
- [Qemu-devel] [QEMU]Add new entries for qemu/configure questions,
harryxiyou <=