Hey Ben,

OK giving the latest build a try on Sol 10 SPARC and here are some 
initial comments/observations:

1) So although the README says:

For Solaris 10 Sparc and X86, use /usr/sfw/bin/gcc


When you try to use that compiler you get:

 ./configure

Solaris 10/FCS gcc in /usr/sfw/bin will not compiled qemu correctly.

please get gcc-3.4.3 or later, from www.blastwave.org using pkg-get -i gcc3 or 
get the latest patch from SunSolve for gcc


The compiler in /usr/sfw/bin is 3.4.3 though:

 /usr/sfw/bin/gcc -dumpversion

3.4.3


So I guess my comment here is that although the README says to use
/usr/sfw/bin/gcc, the configure script does not seem to like that 
version even though gcc actually reports it is the correct version.

Anyway just to make sure I follow the error instructions from configure 
I went to sunsolve and grabbed the only Sol 10 gcc patch I could find 
"123647-01 SUNWgccruntime" installed it yet still get the same error.


2) So getting past the compiler version issue if I use 
--disable-gcc-check I now see that there is no support for SPARC 64 bit? 
It was unclear in the README and just says:

64-bit sparc has not been tested and is unlikely to work, due to the lack of 
64-bit libraries for X and libSDL


Well I did successfully compile libSDL 64 bit so that cannot be the 
problem, exactly which "64 bit X libraries" are being referred to in the 
README? I am guessing there is not even a SPARC 64 target though based 
on the "Target List" in the configure output:

./configure --disable-gcc-check --install=/usr/ucb/install --sparc_cpu=v9

Install prefix    /usr/local

BIOS directory    /usr/local/share/qemu

binary directory  /usr/local/bin

Manual directory  /usr/local/share/man

ELF interp prefix /usr/gnemul/qemu-%M

Source path       /opt/local/qemu

C compiler        gcc

Host C compiler   gcc

make              gmake

install           /usr/ucb/install

host CPU          sparc64

host big endian   yes

target list       i386-softmmu sparc-softmmu x86_64-softmmu mips-softmmu 
mipsel-softmmu mips64-softmmu mips64el-softmmu arm-softmmu ppc-softmmu 
ppcemb-softmmu ppc64-softmmu m68k-softmmu sh4-softmmu sh4eb-softmmu cris-softmmu

gprof enabled     no

profiler          no

static build      no

-Werror enabled   no

SDL support       no

mingw32 support   no

Adlib support     no

CoreAudio support no

ALSA support      no

DSound support    no

FMOD support      no

OSS support       no

VNC TLS support   no

Target Sparc Arch v9

kqemu support     no

Documentation     no

The error log from compiling the libSDL test is:

ld: fatal: file /usr/local/lib/libSDL.so: wrong ELF class: ELFCLASS64


So is there anything in the configure script or the "target-sparc" 
directory I can tweak to try to build 64 bit or should I just go back 
and recompile libSDL 32 bit and just settle for a 32 bit qemu SPARC build?

I am trying to keep everything I build on my systems 64 bit just for 
uniformity though more than anything.

Thx!

Tom


Ben Taylor wrote:

>---- "Thomas D. Briglia" <briglia at stanford.edu> wrote: 
>  
>
>>Nice work with SDL, it compiled no problem, and I did not even have to 
>>read the README! ;-)
>>    
>>
>
>Since you're on Solaris 10, there is one dependency that I documented
>last night which is for gnu tsl (transport security layer) which requires
>pkg-config.  
>
>I compiled it up on my Solaris 9/X86 box, but had to do a pkg-get -i gnutls
>and pkg-get -i pkgconfig, but it all compiled right up.
>
>  
>
>>Actually first time it crapped out for I do not have audio enabled on my 
>>servers yet as soon as I deactivated audio in the configuration phase it 
>>compiled 64 bit no prob w/o a single Blastwave package, totally native 
>>Solaris dev env! ;-)
>>    
>>
>
>Audio on a server is not something you'd expect to see  :-)
>
>  
>
>>My normal dev env looks like:
>>
>>PATH=/usr/sfw/bin:/usr/bin:/usr/local/bin:/usr/ccs/bin:/usr/sbin:/usr/local/apr/bin:/usr/ucb:/usr/local/ldapcsdk-6.02/bin
>>LDFLAGS=-m64 -L/usr/local/ldapcsdk-6.02/lib -L/usr/local/ssl/lib 
>>-L/usr/local/lib/sasl2 -L/usr/local/lib
>>    
>>
>
>If you don't want to have any problems, I'd suggest adding -R flags for
>all the -L flags you have.
>
>  
>
>>CPPFLAGS=-m64 -I/usr/local/ldapcsdk-6.02/include 
>>-I/usr/local/ssl/include -I/usr/local/include/gssapi 
>>-I/usr/local/include/sasl2
>>    
>>
>
>
>Well, QEMU configure overrides the CFLAGS and CPPFLAGS
>to make sure that it gets the flags it expects.
>
>I'm pretty sure
>
>LD_LIBRARY_PATH=/usr/local/ldapcsdk-6.02/lib:/usr/lib/sasl2:/usr/local/BerkeleyDB.4.6/lib:/usr/local/ssl/lib:/usr/local/lib/sparcv9:/usr/sfw/lib/sparcv9:/usr/lib/sparcv9:/usr/local/lib:/usr/sfw/lib:/usr/lib:/usr/local/apr/lib
>  
>
>>LD_LIBRARY_PATH_64=/usr/local/ldapcsdk-6.02/lib:/usr/lib/sasl2:/usr/local/BerkeleyDB.4.6/lib:/usr/local/ssl/lib:/usr/local/lib/sparcv9:/usr/sfw/lib/sparcv9:/usr/lib/sparcv9:/usr/local/apr/lib:/usr/local/lib
>>    
>>
>
>Dump LD_LIBRARY_PATH.  See above about -R flags (this adds runtime lookups
>for the libraries so you don't have to carry around a LD_LIBRARY_PATH).
>
>see this http://xahlee.org/UnixResource_dir/_/ldpath.html for an explanatation.
>
>  
>
>>CFLAGS=-mcpu=v9 -m64 -O
>>LDSHARED=gcc -G -mcpu=v9 -m64
>>CXXFLAGS=-m64
>>CC=gcc -m64
>>CXX=g++ -m64
>>SASL_PATH=/usr/lib/sasl2
>>PKG_CONFIG_PATH=/usr/local/ssl/lib/pkgconfig:/usr/local/lib/pkgconfig:/usr/sfw/lib/pkgconfig
>>
>>Later on I will compile QEMU. If it goes as smoothe as SDL, then a 
>>double Kudos to you and all the other developers!
>>    
>>
>
>If you're on Solaris 10, it should just build.  
>
>If you're going to use the VNC features of QEMU, then you'll want to also build
>out GNU tls, opencdk, pgp and libpgp_error to enforce better security for the
>VNC passwords that get pushed across the network.
>
>Ben
>  
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<http://mail.opensolaris.org/pipermail/qemu-discuss/attachments/20071212/40811def/attachment.html>

Reply via email to