<html><body><div>Hi Pavel Pisa,<br><span> </span><span></span><br>I've fixed the leak. Please checkout my github.<br><br><a href="https://github.com/yangqiao/rtems-source-builder/tree/graphics">https://github.com/yangqiao/rtems-source-builder/tree/graphics</a><br><br>Best wishes<br><br>On Jul 21, 2015, at 09:51 PM, Pavel Pisa <pisa@cmp.felk.cvut.cz> wrote:<br><br><div><blockquote type="cite"><div class="msg-quote"><div class="_stretch"><span class="body-text-content"><span class="body-text-content">Hello Qiao Yang<br><br>On Tuesday 21 of July 2015 14:21:07 QIAO YANG wrote:<br></span></span><blockquote class="quoted-plain-text" type="cite">Hi Pavel Pisa,</blockquote><blockquote class="quoted-plain-text" type="cite"><br></blockquote><blockquote class="quoted-plain-text" type="cite">On Jul 19, 2015, at 10:35 PM, Pavel Pisa <<a href="mailto:pisa@cmp.felk.cvut.cz" data-mce-href="mailto:pisa@cmp.felk.cvut.cz">pisa@cmp.felk.cvut.cz</a>> wrote:</blockquote><blockquote class="quoted-plain-text" type="cite">> Hello Chris and Qiao Yang,</blockquote><blockquote class="quoted-plain-text" type="cite">></blockquote><blockquote class="quoted-plain-text" type="cite">> On Monday 20 of July 2015 01:12:33 Chris Johns wrote:</blockquote><blockquote class="quoted-plain-text" type="cite">>> On 20/07/2015 6:55 am, QIAO YANG wrote:</blockquote><blockquote class="quoted-plain-text" type="cite">>> > I've ported the graphic libraries into rsb so that we can build them</blockquote><blockquote class="quoted-plain-text" type="cite">>> > much easier. All Build passed, tested on arm with raspberrypi and i386</blockquote><blockquote class="quoted-plain-text" type="cite">>> > with pc386.</blockquote><blockquote class="quoted-plain-text" type="cite">>></blockquote><blockquote class="quoted-plain-text" type="cite">>> Fantastic and thank you.</blockquote><span class="body-text-content"><span class="body-text-content">....<br></span></span><blockquote class="quoted-plain-text" type="cite">></blockquote><blockquote class="quoted-plain-text" type="cite">> I use system wide prefix for my RTEMS install. When I specified that</blockquote><blockquote class="quoted-plain-text" type="cite">></blockquote><blockquote class="quoted-plain-text" type="cite">> --prefix=/opt/rtems4.11</blockquote><blockquote class="quoted-plain-text" type="cite">></blockquote><blockquote class="quoted-plain-text" type="cite">> When I specified that to sb-set-builder then it silently skips install</blockquote><blockquote class="quoted-plain-text" type="cite">> steps. This leads not only to problem that I have not received resulting</blockquote><blockquote class="quoted-plain-text" type="cite">> binaries (even not found them in temporary RSB trees) but even build of</blockquote><blockquote class="quoted-plain-text" type="cite">> later packages dependant on previous ones failed.</blockquote><blockquote class="quoted-plain-text" type="cite">></blockquote><blockquote class="quoted-plain-text" type="cite">> I resolved that by use of RSB option</blockquote><blockquote class="quoted-plain-text" type="cite">></blockquote><blockquote class="quoted-plain-text" type="cite">> --pkg-tar-files</blockquote><blockquote class="quoted-plain-text" type="cite">></blockquote><blockquote class="quoted-plain-text" type="cite">> tar files has been generated and I could extract content to the right</blockquote><blockquote class="quoted-plain-text" type="cite">> directory and continue build with followup with sucesfull Microwindows</blockquote><blockquote class="quoted-plain-text" type="cite">> package build. I have been able to use that (after tar extraction)</blockquote><blockquote class="quoted-plain-text" type="cite">> to build and run my graphic application in QEMU then.</blockquote><blockquote class="quoted-plain-text" type="cite"><br></blockquote><blockquote class="quoted-plain-text" type="cite">So the library works if I've got it right. No problem with the build</blockquote><blockquote class="quoted-plain-text" type="cite">process.</blockquote><span class="body-text-content"><span class="body-text-content"><br>The libraries are configured properly. Only thing to solve for you<br>is to find way how to limit all/as most as possible files installed<br>in improper directories. It is not fatal but can make troubles<br>and is misleading. Look for packages options --disable-test, samples<br>and some related options to direct install of support files to BSP<br>specific directories. Documentation can go to RTEMS prefix and shared<br>area. But includes, libraries, binaries and configs should not.</span></span></div></div></blockquote><blockquote type="cite"><div class="msg-quote"><div class="_stretch"><span class="body-text-content"><span class="body-text-content"><br><br>The other issues are for discussion with Chris Johns<br>and he woks on these. So rebase of your work onto<br>his newer RSB versions should help.<br><br>I have some more things for Microwindows. It seems that<br>Microwindows mainline (<a href="https://github.com/ghaerr/microwindows" data-mce-href="https://github.com/ghaerr/microwindows">https://github.com/ghaerr/microwindows</a>)<br>moves forward (commits by georgp24).<br><br>You are using alex-sever-h fork. I do not expect that he returns<br>to the project. We should consolidate code. I have his changes<br>in my fork. Some of these are not appropriate for mainline<br>some needs cheanup. But we should move closer to mainline.<br>As I find time, I try to prepare branch with changes suitable<br>for mainline. I would like to change Microwindows RTEMS config<br>and makefiles such way that NOKBD and NOMOUSE can be selected<br>for RTEMS by config. Same for some screen variants.<br><br>So the patches removing keyboard and mouse in Makefiles would<br>not be required. All things should be controlled by config.<br><br></span></span><blockquote class="quoted-plain-text" type="cite">> Because libraries build is specific than I expect that all build</blockquote><blockquote class="quoted-plain-text" type="cite">> results should be installed in BSP directory, i.e.</blockquote><blockquote class="quoted-plain-text" type="cite">> /opt/rtems4.11/i386-rtems4.11/pc686/{lib,bin,lib/include} in my case.</blockquote><blockquote class="quoted-plain-text" type="cite">> It seems that JPEG library is configured right. But there are significant</blockquote><blockquote class="quoted-plain-text" type="cite">> leakages from freetype, libpng, t1lib and libtiff to</blockquote><blockquote class="quoted-plain-text" type="cite">> "/opt/rtems4.11/bin" and "/opt/rtems4.11/share" directories.</blockquote><blockquote class="quoted-plain-text" type="cite">> t1lib even installs to /share/t1lib directly.</blockquote><blockquote class="quoted-plain-text" type="cite"><br></blockquote><blockquote class="quoted-plain-text" type="cite">Do you mean that the libraries are not installed in the bsp dir?</blockquote><span class="body-text-content"><span class="body-text-content"><br>Yes and no, libraries required to build RTEMS applications are installed<br>in the right place but there is significant level of noise - tools,<br>scripts etc installed in inappropriate places.<br><br>Add --pkg-tar-files RSB option and then you can easily see what<br>is content of each installed package - I hope, that it is 1:1 to what<br>is really installed/copied to the filesystem.<br><br></span></span><blockquote class="quoted-plain-text" type="cite">In fact,</blockquote><blockquote class="quoted-plain-text" type="cite">I've got all libraries installed in the right place. Firstly, I doubt if</blockquote><blockquote class="quoted-plain-text" type="cite">the bsp pc686 exists in arch i386. I can only find pc386 in mainline. Make</blockquote><blockquote class="quoted-plain-text" type="cite">sure that the bsp name is correct. Secondly, verify the path you passed is</blockquote><blockquote class="quoted-plain-text" type="cite">what the builder expects as chris explained. I haven't found out why the</blockquote><blockquote class="quoted-plain-text" type="cite">JPEG works while others can't, but I do use the paths to determin where to</blockquote><blockquote class="quoted-plain-text" type="cite">install.</blockquote><span class="body-text-content"><span class="body-text-content"><br>RTEMS supports boards variants. This means that there are more boards<br>supported than only these seen as individual subdirectory of each<br>CPU architecture (these subdirectories are more or less equivalent to<br>machine or platform on Linux). The varinats usually differ in the compiler<br>flags and some defines which control source builds.<br><br>See<br><br> rtems/c/src/lib/libbsp/i386/pc386/make/custom<br><br>There are varinats<br> edison.cfg pc386.cfg pc486.cfg pc586.cfg pc586-sse.cfg<br> pc686.cfg pcp4.cfg<br><br>where pc686.cfg includes common pc386.cfg base but selects<br>pentium generation corresponding optimization<br> CPU_CFLAGS = -mtune=pentiumpro<br><br>and variant name for RTEMS<br> RTEMS_CPU_MODEL=pentiumpro<br><br></span></span><blockquote class="quoted-plain-text" type="cite">I followed alan's blog to setup my environment.</blockquote><blockquote class="quoted-plain-text" type="cite"><br></blockquote><blockquote class="quoted-plain-text" type="cite">alias i386-kernel-configuer='cd $HOME/development/rtems-386/rtems-git/; \</blockquote><blockquote class="quoted-plain-text" type="cite">./bootstrap; \</blockquote><blockquote class="quoted-plain-text" type="cite">mkdir $HOME/development/rtems-386/build-rtems-386/; \</blockquote><blockquote class="quoted-plain-text" type="cite">cd $HOME/development/rtems-386/build-rtems-386/; \</blockquote><blockquote class="quoted-plain-text" type="cite">../rtems-git/configure --target=i386-rtems4.11 \</blockquote><blockquote class="quoted-plain-text" type="cite">--enable-rtemsbsp=pc386 \</blockquote><blockquote class="quoted-plain-text" type="cite">--enable-tests=samples \</blockquote><blockquote class="quoted-plain-text" type="cite">--enable-networking \</blockquote><blockquote class="quoted-plain-text" type="cite">--enable-posix \</blockquote><blockquote class="quoted-plain-text" type="cite">--prefix=$HOME/development/rtems-386/bsps/4.11'</blockquote><blockquote class="quoted-plain-text" type="cite"><br></blockquote><blockquote class="quoted-plain-text" type="cite">So in my case I've got a directory 'build-rtems-386' and a directory 'bsp'</blockquote><blockquote class="quoted-plain-text" type="cite">. What I passed to sb-set-builder is the directory:</blockquote><blockquote class="quoted-plain-text" type="cite">--prefix=$HOME/development/rtems-386/bsps/4.11, the same path used for</blockquote><blockquote class="quoted-plain-text" type="cite">kernel configure.</blockquote><blockquote class="quoted-plain-text" type="cite"><br></blockquote><blockquote class="quoted-plain-text" type="cite">The libraries should be finally installed into directories</blockquote><blockquote class="quoted-plain-text" type="cite">$HOME/development/rtems-386/bsps/4.11/pc386/lib</blockquote><blockquote class="quoted-plain-text" type="cite">$HOME/development/rtems-386/bsps/4.11/pc386/lib/include</blockquote><blockquote class="quoted-plain-text" type="cite">$HOME/development/rtems-386/bsps/4.11/pc386/bin</blockquote><blockquote class="quoted-plain-text" type="cite"><br></blockquote><blockquote class="quoted-plain-text" type="cite">I hope this may help. Tell me if I misunderstood anything.</blockquote><span class="body-text-content"><br>Great to document for others but there should not be and most<br>probably is not difference for my setup. So I think that<br>you should see utils spread to the same places as I have noticed.<br><br>Best wishes,<br><br> Pavel<br></span></div></div></blockquote></div></div></body></html>