Skip to content

Notes on development

Juan Gonzalez-Gomez edited this page Apr 13, 2016 · 43 revisions

Notes

The prebuild packages for building the projects are stored in This Sourceforge repo

Package example: toolchaing-atmelavr

The packages that are stored in the the Sourceforge repo for the different platforms are:

The fields are:

  • Name: toochain-atmelavr
  • Platform: linux_i686, linux_x86_64, linux_armv6l, darwin_x86_64, windows
  • Version: A number (1, 2, 3...)

The package name should have this structure:

<name>-<platform>-<version>.tar.gz

Versions: toolchain-icestorm

Arch: x86_64

Version 1

  • Package: toochain-icestorm-linux_x86_64-1.tar.gz
  • Date: 2016-Feb-01
  • Yosys 0.5+435
  • arachne-pnr 0.1+136+0
  • Status: upload to PlatformIO Storage
  • Tests:
    • First test under Linux Ubuntu 15.10: the toolchain-icestorm is automatically installed!!!! It works!!
    • But It did not work on Ubuntu 14.04 --> Yosys fail: Error message:

symbol _ZTTNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEE, version GLIBCXX_3.4.21 not defined in file libstdc++.so.6 with link time reference ```

  • Solution: It is necessary to compile it statically
  • Dynamic libraries:
$ ldd yosys
	linux-vdso.so.1 =>  (0x00007ffd3ebdc000)
	libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f0529b82000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f052987a000)
	librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f0529671000)
	libreadline.so.6 => /lib/x86_64-linux-gnu/libreadline.so.6 (0x00007f052942b000)
	libffi.so.6 => /usr/lib/x86_64-linux-gnu/libffi.so.6 (0x00007f0529223000)
	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f052901e000)
	libtcl8.6.so => /usr/lib/x86_64-linux-gnu/libtcl8.6.so (0x00007f0528c6d000)
	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f0528a56000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f052868b000)
	/lib64/ld-linux-x86-64.so.2 (0x00005630cc9c7000)
	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f052846d000)
	libtinfo.so.5 => /lib/x86_64-linux-gnu/libtinfo.so.5 (0x00007f0528244000)
	libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f0528029000)

$ ldd arachne-pnr 
	linux-vdso.so.1 =>  (0x00007ffc3cfb1000)
	libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fd95b4a1000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fd95b199000)
	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fd95af81000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fd95abb7000)
	/lib64/ld-linux-x86-64.so.2 (0x00005602ccd0e000)

$ ldd icepack 
	linux-vdso.so.1 =>  (0x00007ffd7df6c000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f6f49e9a000)
	libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f6f49b18000)
	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f6f49900000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f6f49536000)
	/lib64/ld-linux-x86-64.so.2 (0x000055701cccc000)

$ ldd iceprog 
	linux-vdso.so.1 =>  (0x00007ffdb277f000)
	libftdi.so.1 => /usr/lib/x86_64-linux-gnu/libftdi.so.1 (0x00007f9d03a87000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f9d0377f000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f9d033b4000)
	libusb-0.1.so.4 => /lib/x86_64-linux-gnu/libusb-0.1.so.4 (0x00007f9d031ab000)
	/lib64/ld-linux-x86-64.so.2 (0x000055f36bcae000)

$ ldd icetime 
	linux-vdso.so.1 =>  (0x00007fff0bdf6000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fb27cbb8000)
	libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fb27c836000)
	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fb27c61e000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fb27c254000)
	/lib64/ld-linux-x86-64.so.2 (0x000055e171f12000)

Version 2

  • Dynamic libraries:
$ ldd yosys
	linux-vdso.so.1 =>  (0x00007ffeaf8f1000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fe45d9ba000)
	librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fe45d7b2000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fe45d3e7000)
	/lib64/ld-linux-x86-64.so.2 (0x000056103f644000)
	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fe45d1c9000)

$ ldd arachne-pnr 
	not a dynamic executable

$ ldd iceprog
	not a dynamic executable

$ ldd icepack
	not a dynamic executable

$ ldd icetime
	not a dynamic executable

Links:

News