Ali,

I hacked src/SConscript to get it working. If I swap 

     static_objs = [ make_obj(s, True) for s in sources ]
     shared_objs = [ make_obj(s, False) for s in sources ]

such that shared_objs is defined first I get the library I want.
It appears that the first "for loop" pops objects from "sources" so it is empty 
when it's used the second time.

Mike
     


On Sep 21, 2011, at 5:52 PM, Ali Saidi wrote:

> Hi Mike,
> 
> I just tried it as well and that portion of the build seems to be broken. Not 
> many people use the shared library. Unfortunately, I'm not going to have time 
> to look into it for a while, but if you see what older version you have that 
> works and the current version you should be able to use the hg bisect command 
> to find the offending change in reasonably short order.
> 
> Ali
> 
> On Wed, 21 Sep 2011 08:35:58 -0600, "Michael Levenhagen" <[email protected]> 
> wrote:
>> I'm trying to build libgem5_debug.so and the library appears "empty".
>> I just moved from an old m5 sandbox where this command worked.
>> What do I need to do to build a shared library in gem5?
>> 
>> Mike
>> 
>> 
>> [mjleven@morbo sandbox-1]$ scons  build/ALPHA_SE/libgem5_debug.so
>> scons: Reading SConscript files ...
>> 
>> Mercurial libraries cannot be found, ignoring style hook.  If
>> you are a gem5 developer, please fix this and run the style
>> hook. It is important.
>> 
>> Checking for leading underscore in global variables...no
>> Checking for C header file Python.h... yes
>> Checking for C library pthread... yes
>> Checking for C library dl... yes
>> Checking for C library util... yes
>> Checking for C library m... yes
>> Checking for C library python2.4... yes
>> Checking for accept(0,0,0) in C++ library None... yes
>> Checking for zlibVersion() in C++ library z... yes
>> Checking for clock_nanosleep(0,0,NULL,NULL) in C library None... no
>> Checking for clock_nanosleep(0,0,NULL,NULL) in C library rt... yes
>> Checking for C header file fenv.h... yes
>> Reading /home/mjleven/sstLibs/gem5HG/sandbox-1/src/mem/protocol/SConsopts
>> Reading /home/mjleven/sstLibs/gem5HG/sandbox-1/src/mem/ruby/SConsopts
>> Reading /home/mjleven/sstLibs/gem5HG/sandbox-1/src/cpu/ozone/SConsopts
>> Reading /home/mjleven/sstLibs/gem5HG/sandbox-1/src/cpu/simple/SConsopts
>> Reading /home/mjleven/sstLibs/gem5HG/sandbox-1/src/cpu/o3/SConsopts
>> Reading /home/mjleven/sstLibs/gem5HG/sandbox-1/src/cpu/inorder/SConsopts
>> Reading /home/mjleven/sstLibs/gem5HG/sandbox-1/src/cpu/checker/SConsopts
>> Reading /home/mjleven/sstLibs/gem5HG/sandbox-1/src/cpu/nocpu/SConsopts
>> Reading /home/mjleven/sstLibs/gem5HG/sandbox-1/src/arch/x86/SConsopts
>> Reading /home/mjleven/sstLibs/gem5HG/sandbox-1/src/arch/noisa/SConsopts
>> Reading /home/mjleven/sstLibs/gem5HG/sandbox-1/src/arch/mips/SConsopts
>> Reading /home/mjleven/sstLibs/gem5HG/sandbox-1/src/arch/sparc/SConsopts
>> Reading /home/mjleven/sstLibs/gem5HG/sandbox-1/src/arch/power/SConsopts
>> Reading /home/mjleven/sstLibs/gem5HG/sandbox-1/src/arch/arm/SConsopts
>> Reading /home/mjleven/sstLibs/gem5HG/sandbox-1/src/arch/alpha/SConsopts
>> Building in /home/mjleven/sstLibs/gem5HG/sandbox-1/build/ALPHA_SE
>> Variables file
>> /home/mjleven/sstLibs/gem5HG/sandbox-1/build/variables/ALPHA_SE not
>> found,
>>  using defaults in
>> /home/mjleven/sstLibs/gem5HG/sandbox-1/build_opts/ALPHA_SE
>> scons: done reading SConscript files.
>> scons: Building targets ...
>> [   SHCXX] ALPHA_SE/base/date.cc -> .dos
>> [    SHCC] libelf/elf_begin.c -> .os
>> [    SHCC] libelf/elf_cntl.c -> .os
>> [    SHCC] libelf/elf_data.c -> .os
>> [    SHCC] libelf/elf_end.c -> .os
>> [    SHCC] libelf/elf_fill.c -> .os
>> [    SHCC] libelf/elf_flag.c -> .os
>> [    SHCC] libelf/elf_getarhdr.c -> .os
>> [    SHCC] libelf/elf_getarsym.c -> .os
>> [    SHCC] libelf/elf_getbase.c -> .os
>> [    SHCC] libelf/elf_getident.c -> .os
>> [    SHCC] libelf/elf_hash.c -> .os
>> [    SHCC] libelf/elf_kind.c -> .os
>> [    SHCC] libelf/elf_memory.c -> .os
>> [    SHCC] libelf/elf_next.c -> .os
>> [    SHCC] libelf/elf_phnum.c -> .os
>> [    SHCC] libelf/elf_rand.c -> .os
>> [    SHCC] libelf/elf_rawfile.c -> .os
>> [    SHCC] libelf/elf_scn.c -> .os
>> [    SHCC] libelf/elf_shnum.c -> .os
>> [    SHCC] libelf/elf_shstrndx.c -> .os
>> [    SHCC] libelf/elf_strptr.c -> .os
>> [    SHCC] libelf/elf_update.c -> .os
>> [    SHCC] libelf/elf_version.c -> .os
>> [    SHCC] libelf/gelf_checksum.c -> .os
>> [    SHCC] libelf/gelf_dyn.c -> .os
>> [    SHCC] libelf/gelf_ehdr.c -> .os
>> [    SHCC] libelf/gelf_fsize.c -> .os
>> [    SHCC] libelf/gelf_getclass.c -> .os
>> [    SHCC] libelf/gelf_phdr.c -> .os
>> [    SHCC] libelf/gelf_rel.c -> .os
>> [    SHCC] libelf/gelf_rela.c -> .os
>> [    SHCC] libelf/gelf_shdr.c -> .os
>> [    SHCC] libelf/gelf_sym.c -> .os
>> [    SHCC] libelf/gelf_symshndx.c -> .os
>> [    SHCC] libelf/gelf_xlate.c -> .os
>> [    SHCC] libelf/libelf.c -> .os
>> [    SHCC] libelf/libelf_align.c -> .os
>> [    SHCC] libelf/libelf_allocate.c -> .os
>> [    SHCC] libelf/libelf_ar.c -> .os
>> [    SHCC] libelf/libelf_checksum.c -> .os
>> [    SHCC] libelf/libelf_data.c -> .os
>> [    SHCC] libelf/libelf_ehdr.c -> .os
>> [    SHCC] libelf/libelf_extended.c -> .os
>> [    SHCC] libelf/libelf_phdr.c -> .os
>> [    SHCC] libelf/libelf_shdr.c -> .os
>> [    SHCC] libelf/libelf_xlate.c -> .os
>> [      M4] libelf/elf_types.m4, libelf_convert.m4 -> libelf_convert.c
>> [    SHCC] libelf/libelf_convert.c -> .os
>> [      M4] libelf/elf_types.m4, libelf_fsize.m4 -> libelf_fsize.c
>> [    SHCC] libelf/libelf_fsize.c -> .os
>> [      M4] libelf/elf_types.m4, libelf_msize.m4 -> libelf_msize.c
>> [    SHCC] libelf/libelf_msize.c -> .os
>> [      AR]  -> libelf/libelf.a
>> [  RANLIB]  -> libelf/libelf.a
>> [   SHCXX] gzstream/gzstream.cc -> .os
>> [      AR]  -> gzstream/libgzstream.a
>> [  RANLIB]  -> gzstream/libgzstream.a
>> g++ -o build/ALPHA_SE/libgem5_debug.so -shared
>> build/ALPHA_SE/base/date.dos -Lbuild/gzstream -Lbuild/libelf
>> -L/usr/lib64 -L/usr/lib64/python2.4/config -lpthread -ldl -lutil -lm
>> -lpython2.4 -lz -lrt -lelf -lgzstream
>> scons: done building targets.
>> [mjleven@morbo sandbox-1]$
>> 
>> 
>> _______________________________________________
>> gem5-users mailing list
>> [email protected]
>> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
> 
> _______________________________________________
> gem5-users mailing list
> [email protected]
> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
> 


_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to