Re: Fw: Cross-compile SableVM for PowerPC

David Bélanger <[email protected]> Mon, 4 Apr 2005 11:11:46 -0400
Newsgroups gmane.comp.java.vm.sablevm.general
Message-ID <[email protected]>
Also, try these patches if you have not applied them.  They fix some
issue with libs locations:

http://www.sable.mcgill.ca/~dbelan2/ebuilds/dev-java/sablevm-svn/files/autogen.patch
http://www.sable.mcgill.ca/~dbelan2/ebuilds/dev-java/sablevm-svn/files/ltmain.patch

Note: The order is important as autogen.sh regenerates the "broken"
ltmain.sh file that is patched by the 2nd patch.

patch -p0 < autogen.patch
./autogen.sh
patch -p0 < ltmain.patch


David

On Mon, Apr 04, 2005 at 11:03:38AM -0400, David Bélanger wrote:
> 
> Hi,
> 
> I am forwarding to [email protected].  Please subscribe to
> [email protected]
> http://sablevm.org/lists/control/listinfo/sablevm-user/
> and continue discussing there as I cannot immediately reply sometimes
> and other people might help also.
> 
> Do a:
> ls -l /usr/local/ppc/ppc-sab-libffi/lib/m860
> 
> Also, where is located your cross-compiled libltdl?
> 
> 
> David
> 
> 
> ----- Forwarded message from christina <[email protected]> -----
> 
> Hi,David B?langer,
>     I have cross-compiled libpopt,and set the LDFLAGS="-L/usr/local/ppc/ppc-sab-libffi/lib/m860 -L/usr/local/lib -L/usr/local/ppc/popt-ppc/lib",but the error message became as follow,It still couldn't find libffi and libltdl and it seems that the LDFLAGS do nothing here.
> I have be stuck on the problemhow for days,how I get on.
> thank you very much.
> christina  
> ====================================================================	
> /bin/sh ../../libtool --tag=CC --mode=link ppc-linux-gcc  -g -O2 -Wall -fno-gcse
>  -fno-strict-aliasing -fno-reorder-blocks -finline-limit=60000  -L/usr/local/ppc
> /ppc-sab-libffi/lib/m860 -L/usr/local/lib -L/usr/local/ppc/popt-ppc/lib -o sable
> vm  sablevm.o ../libsablevm/libsablevm.la -lpopt
> ppc-linux-gcc -g -O2 -Wall -fno-gcse -fno-strict-aliasing -fno-reorder-blocks -f
> inline-limit=60000 -o .libs/sablevm sablevm.o  -L/usr/local/ppc/ppc-sab-libffi/l
> ib/m860 -L/usr/local/lib -L/usr/local/ppc/popt-ppc/lib ../libsablevm/.libs/libsa
> blevm.so /usr/local/ppc/popt-ppc/lib/libpopt.so -Wl,--rpath -Wl,/usr/local/ppc/p
> opt-ppc/lib
> /eldk/usr/bin/../lib/gcc-lib/ppc-linux/3.2.2/../../../../ppc-linux/bin/ld: warni
> ng: libffi.so.4, needed by ../libsablevm/.libs/libsablevm.so, not found (try usi
> ng -rpath or -rpath-link)
> /eldk/usr/bin/../lib/gcc-lib/ppc-linux/3.2.2/../../../../ppc-linux/bin/ld: warni
> ng: libltdl.so.3, needed by ../libsablevm/.libs/libsablevm.so, not found (try us
> ing -rpath or -rpath-link)
> ../libsablevm/.libs/libsablevm.so: undefined reference to `ffi_type_float'
> ../libsablevm/.libs/libsablevm.so: undefined reference to `ffi_type_sint8'
> ../libsablevm/.libs/libsablevm.so: undefined reference to `ffi_prep_cif'
> ../libsablevm/.libs/libsablevm.so: undefined reference to `lt_dlerror
> ../libsablevm/.libs/libsablevm.so: undefined reference to `ffi_type_uint8'
> ../libsablevm/.libs/libsablevm.so: undefined reference to `lt_dlclose'
> ../libsablevm/.libs/libsablevm.so: undefined reference to `ffi_type_pointer'
> ../libsablevm/.libs/libsablevm.so: undefined reference to `ffi_call'
> ../libsablevm/.libs/libsablevm.so: undefined reference to `ffi_type_uint16'
> ../libsablevm/.libs/libsablevm.so: undefined reference to `ffi_type_double'
> ../libsablevm/.libs/libsablevm.so: undefined reference to `ffi_type_sint32'
> ../libsablevm/.libs/libsablevm.so: undefined reference to `ffi_type_sint16'
> ../libsablevm/.libs/libsablevm.so: undefined reference to `ffi_type_void'
> ../libsablevm/.libs/libsablevm.so: undefined reference to `ffi_type_sint64'
> ../libsablevm/.libs/libsablevm.so: undefined reference to `lt_dlopenext'
> ../libsablevm/.libs/libsablevm.so: undefined reference to `lt_dlsym'
> ../libsablevm/.libs/libsablevm.so: undefined reference to `lt_dlinit'
> collect2: ld returned 1 exit status
> make: *** [sablevm] Error 1
> 	
> ===================================================
> 
> >
> >Yes, a crosscompiled libpopt is required.  You need to cross-compile all
> >required libs and libpopt is one of the required libs.
> >
> >David
> >
> >On Sun, Mar 27, 2005 at 09:30:53AM +0800, christina wrote:
> >> Hi, David B?langer,
> >>     I haven't solved the problem. I don't know if a crosscompiled libpopt is needed.
> >> when I use the native libpopt, it stopped as follow:
> >>  ___________________________________________________________________
> >> >> /bin/sh ../../libtool --tag=CC --mode=link ppc-linux-gcc  -g -O2 -Wall -fno-gcse
> >> >>  -fno-strict-aliasing -fno-reorder-blocks -finline-limit=60000  -L/usr/local/ppc
> >> >> /ppc-sab-libffi/lib/m860 -L/usr/local/lib  -o sablevm  sablevm.o ../libsablevm/l
> >> >> ibsablevm.la -lpopt
> >> >> ppc-linux-gcc -g -O2 -Wall -fno-gcse -fno-strict-aliasing -fno-reorder-blocks -f
> >> >> inline-limit=60000 -o .libs/sablevm sablevm.o  -L/usr/local/ppc/ppc-sab-libffi/l
> >> >> ib/m860 -L/usr/local/lib ../libsablevm/.libs/libsablevm.so /usr/lib/libpopt.so -
> >> >> Wl,--rpath -Wl,/usr/local/lib
> >> >> /usr/lib/libpopt.so: could not read symbols: Invalid operation
> >> >> collect2: ld returned 1 exit status
> >> >> make[3]: *** [sablevm] Error 1
> >> >> make[3]: Leaving directory `/home/cyc/build_env/Rvmroot/sablevm-ppc/src/sablevm'
> >> >> make[2]: *** [all-recursive] Error 1
> >> >> make[2]: Leaving directory `/home/cyc/build_env/Rvmroot/sablevm-ppc/src'
> >> >> make[1]: *** [all-recursive] Error 1
> >> >> make[1]: Leaving directory `/home/cyc/build_env/Rvmroot/sablevm-ppc'
> >> >> make: *** [all] Error 2
> >> >> ------------------------------------------------------------------
> >> LDFLAGS="-L/usr/local/ppc/ppc-sab-libffi/lib/m860 -L/usr/local/lib"
> >> CPPFLAGS="-I/usr/local/ppc/ppc-sab-libffi/include -I/usr/local/include"
> >> 
> >> how can I deal with it.
> >> 
> >> thank you!
> >> christina.
> >> 	
> >> 
> >> -----------------------------------
> >> >
> >> >Sorry for delay in reply...  Did you resolve it?
> >> >
> >> >The error message is caused because the native libpopt instead of the
> >> >cross-libpopt is used.  Check your LDFLAGS/CPPFLAGS.
> >> >
> >> >David
> >> >
> >> >On Wed, Mar 16, 2005 at 03:08:34PM +0800, christina wrote:
> >> >> Hi,David,
> >> >>  The configure step is ok now,but when I type "make",it stopped with this error:
> >> >> ___________________________________________________________________
> >> >> /bin/sh ../../libtool --tag=CC --mode=link ppc-linux-gcc  -g -O2 -Wall -fno-gcse
> >> >>  -fno-strict-aliasing -fno-reorder-blocks -finline-limit=60000  -L/usr/local/ppc
> >> >> /ppc-sab-libffi/lib/m860 -L/usr/local/lib  -o sablevm  sablevm.o ../libsablevm/l
> >> >> ibsablevm.la -lpopt
> >> >> ppc-linux-gcc -g -O2 -Wall -fno-gcse -fno-strict-aliasing -fno-reorder-blocks -f
> >> >> inline-limit=60000 -o .libs/sablevm sablevm.o  -L/usr/local/ppc/ppc-sab-libffi/l
> >> >> ib/m860 -L/usr/local/lib ../libsablevm/.libs/libsablevm.so /usr/lib/libpopt.so -
> >> >> Wl,--rpath -Wl,/usr/local/lib
> >> >> /usr/lib/libpopt.so: could not read symbols: Invalid operation
> >> >> collect2: ld returned 1 exit status
> >> >> make[3]: *** [sablevm] Error 1
> >> >> make[3]: Leaving directory `/home/cyc/build_env/Rvmroot/sablevm-ppc/src/sablevm'
> >> >> make[2]: *** [all-recursive] Error 1
> >> >> make[2]: Leaving directory `/home/cyc/build_env/Rvmroot/sablevm-ppc/src'
> >> >> make[1]: *** [all-recursive] Error 1
> >> >> make[1]: Leaving directory `/home/cyc/build_env/Rvmroot/sablevm-ppc'
> >> >> make: *** [all] Error 2
> 
> 
> ----- End forwarded message -----
> 
> ---
> 
> David Bélanger
> Web page:   http://www.cs.mcgill.ca/~dbelan2/
> Public key: http://www.cs.mcgill.ca/~dbelan2/public_key.txt
> 
> 
> _______________________________________________
> SableVM-user mailing list
> [email protected]
> http://sablevm.org/lists/control/listinfo/sablevm-user
> 

-- 

---

David Bélanger
Web page:   http://www.cs.mcgill.ca/~dbelan2/
Public key: http://www.cs.mcgill.ca/~dbelan2/public_key.txt