[okl4-developer] Question on OKL4 build system: follow-up

Guillaume PETITJEAN guillaume.petitjean at st.com
Thu Jun 5 23:10:05 EST 2008


I've done some progress in integrating my new application in OKL4 build 
system (cf. my previous mail).
Now the OKL4 build system calls the application's own build system (ie. 
make) properly. Basically I've created a symbolic link in 
iguana/examples that points to the existing source tree of the app, and 
I've written a SConscript at the root of this app.

The problem is in the "weaving" step. I've understand that the build 
system uses elfweaver to merge the application and OKL4 elf files. Is it 
correct ?  But I don't understand how to use it correctly in the 
SConscripts.

I tried to add :

/weaver = env.WeaverIguanaProgram()/

in the application SConscript (I don't really understand what the 
arguments should be).

Here is the error I had (nmf is the name of my application):

/scons: *** [build/images/weaver.xml] 
/home/guillaume/OKL4/lhl_integration/okl4_2.1/build/iguana/object/iguana_example_nmf/host.axf: 
No such file or directory
/

Then I copied host.axf (which is the application elf file) into 
iguana_example_nmf. The error is:


/[XML ] build/images/weaver.xml
[ELF ] build/images/image.elf
An error occurred:
Now printing a traceback.

Traceback (most recent call last):
  File "tools/pyelf/elfweaver", line 74, in ?
    main(sys.argv)
  File 
"/home/guillaume/OKL4/lhl_integration/okl4_2.1/tools/pyelf/weaver/main.py", 
line 94, in main
    commands[args[1]](args[2:])
  File 
"/home/guillaume/OKL4/lhl_integration/okl4_2.1/tools/pyelf/weaver/merge.py", 
line 187, in merge_cmd
    merge(spec_file, options)
  File 
"/home/guillaume/OKL4/lhl_integration/okl4_2.1/tools/pyelf/weaver/merge.py", 
line 119, in merge
    namespace, image, machine, pools, bootinfo)
  File 
"/home/guillaume/OKL4/lhl_integration/okl4_2.1/tools/pyelf/weaver/merge.py", 
line 97, in collect_image_objects
    collect_program_pd_elements(parsed, ignore_name, namespace, image, 
machine, bootinfo, pools)
  File 
"/home/guillaume/OKL4/lhl_integration/okl4_2.1/tools/pyelf/weaver/prog_pd_xml.py", 
line 583, in collect_program_pd_elements
    collect_program_element(el, ignore_name, namespace, image, machine, 
bootinfo, pools)
  File 
"/home/guillaume/OKL4/lhl_integration/okl4_2.1/tools/pyelf/weaver/prog_pd_xml.py", 
line 346, in collect_program_element
    pools)
  File 
"/home/guillaume/OKL4/lhl_integration/okl4_2.1/tools/pyelf/weaver/segments_xml.py", 
line 269, in collect_elf_segments
    pools           = pools)
  File 
"/home/guillaume/OKL4/lhl_integration/okl4_2.1/tools/pyelf/weaver/image.py", 
line 935, in add_segment
    new_segment = segment.copy()
  File "tools/pyelf/elf/segment.py", line 242, in copy
    assert sect.get_link() is None
AssertionError


/Any help appreciated ;)/
/Guillaume



More information about the Developer mailing list