Error while building the rtems-libbsd

Utkarsh Rai utkarsh.rai60 at gmail.com
Wed Jan 8 17:52:06 UTC 2020


So, finally after resetting almost every configuration on my system , and
rebasing the changes  on the latest libsd commit I was able to build the
libbsd successfully on my host  for beagle BSP.
 I have been trying to get a test app to work for PRU drivers , as of now
the app cannot read the IRQs triggered as described here
<https://reviews.freebsd.org/D11959> (The issue seems to be with mmaps) .
Should I write the app from scratch or continue upon the current work?(And
in that case it would be helpful if I could get some pointers to solve the
mmap issue).


On Sun, Jan 5, 2020 at 2:27 PM Christian Mauderer <list at c-mauderer.de>
wrote:

> On 05/01/2020 03:17, Utkarsh Rai wrote:
> > 1. For the libbbsd I have been
> > using https://github.com/nilhoel1/rtems-libbsd/tree/ti_pruss, this was
> > used by @Nils Hölscher <mailto:nilhoel1 at gmail.com> for his GSoc project(
> > I have talked to him about my errors, and this libbsd builds fine on his
> > host system).
>
> That version of libbsd is based on commit bc2ba9a9c of libbsd which has
> been added on 2019-07-09.
>
> > 2. The rtems and RSB versions are https://github.com/RTEMS/rtems.git
> > and https://github.com/RTEMS/rtems-source-builder.git
>
> Which commit did you check out? I would suggest to either check out one
> with about the same date as the libbsd commit. Or you should rebase the
> changes onto the latest libbsd commit. That depends on whether you want
> to just use the work or continue it.
>
> > 3. I have been using the beaglebone black BSP.
> >
> >
> > On Fri, Jan 3, 2020 at 2:12 PM Christian Mauderer <list at c-mauderer.de
> > <mailto:list at c-mauderer.de>> wrote:
> >
> >     On 01/01/2020 16:14, Utkarsh Rai wrote:
> >     > I have been successful in building the rtems-libbsd using 'python3
> >     > ./waf'. Although, I had to do some weird changes to some of the
> >     files in
> >     > the libbsd package. (These changes were done as there were several
> >     build
> >     > errors even after the 'python ./waf' command )
> >     >
> >     > 1. In the  ../freebsd/sys/netinet/in_mcast.c
> >     > and ../../freebsd/sys/netpfil/pf/if_pfsync.c files I had to change
> >     > the IP_MIN_MEMBERSHIPS with IP_MAX_MEMBERSHIPS .
> >     >
> >     > 2. In the ../../freebsd/sys/netinet6/in6_mcast.c  and
> >     > .../freebsd/sys/netinet/ip_carp.c files I had to
> >     > change  IPV6_MIN_MEMBERSHIPS, to IPV6_MAX_MEMBERSHIPS,
> >     >
> >     > 3. In the ../testsuite/syscalls01/test_main.c I changed
> >     the IPPROTO_SEP
> >     > to IPPROTO_EGP .
> >     >
> >     > Now, I suspect that these changes will come back to bite me as I
> >     proceed
> >     > further as I have simply overwritten them based on build error
> >     > messages.  It would be helpful if the community can provide its
> >     views on
> >     > my changes and whether this is a bug or something that I am doing
> >     wrong.
> >
> >     I would too expect that these changes are not a good idea. In normal
> >     case libbsd builds without any trouble.
> >
> >     Can you give some more information about the exact versions you use:
> >
> >     - Which commit of libbsd are you trying to build?
> >     - Which rtems commit do you use?
> >     - Which tool version do you use? If RSB: Which commit?
> >     - What BSP do you use?
> >
> >     Best regards
> >
> >     Christian
> >
> >     >
> >     > On Tue, Dec 31, 2019 at 6:28 PM Christian Mauderer
> >     <list at c-mauderer.de <mailto:list at c-mauderer.de>
> >     > <mailto:list at c-mauderer.de <mailto:list at c-mauderer.de>>> wrote:
> >     >
> >     >     On 31/12/2019 12:41, Utkarsh Rai wrote:
> >     >     > My host system has an x-86_64  architecture with ubuntu-18.04
> >     >     running on
> >     >     > top of it, I have a python2 installed.
> >     >     > Interestingly enough, when I clean up the libbsd directory
> >     and try to
> >     >     > build as a super-user, I have two observations:-
> >     >
> >     >     Please note that building as super user is generally not a
> >     good idea for
> >     >     any sane build environment. Although I have to say that in
> >     this case it
> >     >     provided an interesting error output ...
> >     >
> >     >     > 1. The build fails with the following error message:-
> >     >     > [1/4] Creating
> >     >     >
> >     >
> >
>   ///h/o/m/e///u/r/1/0///s/a/n/d/b/o/x///r/t/e/m/s/-/l/i/b/b/s/d///b/u/i/l/d///a/r/m/-/r/t/e/m/s/5/-/b/e/a/g/l/e/b/o/n/e/b/l/a/c/k/-/d/e/f/a/u/l/t/build-include/rtems/bsd/modules.h
> >     >
> >     >     ... here. That looks like some join went horrible wrong. I
> >     assume that
> >     >     there is some location in the build system where an array of
> paths
> >     >     should be joined but only one is given. Looks like a bug.
> >     >
> >     >     > [2/4] Compiling rtemsbsd/rtems/generate_kvm_symbols
> >     >     > [3/4] Compiling
> >     >     testsuite/include/rtems/bsd/test/network-config.h.in
> >     <http://network-config.h.in>
> >     >     <http://network-config.h.in>
> >     >     > <http://network-config.h.in>
> >     >     > /bin/sh: 1:
> >     >     >
> >
>  .//home/ur10/sandbox/rtems-libbsd/rtemsbsd/rtems/generate_kvm_symbols:
> >     >
> >     >     The ./ in front is a bit odd here. Looks like an absolute path
> >     which
> >     >     (for some reason) has been forced to be local...
> >     >
> >     >     > not found
> >     >     >
> >     >     > Now I have checked, and the file in question is present at
> its
> >     >     location.
> >     >     >
> >     >     > 2. The traceback of the last calls is something like this:-
> >     >     >   File
> >     >     >
> >     >
> >
>   "/home/ur10/sandbox/rtems-libbsd/.waf-2.0.13-4c5a17779813574907c253ab5418388d/waflib/Build.py",
> >     >     > line 100, in execute_build
> >     >     >     self.compile()
> >     >     >   File
> >     >     >
> >     >
> >
>   "/home/ur10/sandbox/rtems-libbsd/.waf-2.0.13-4c5a17779813574907c253ab5418388d/waflib/Build.py",
> >     >     > line 174, in compile
> >     >     >     self.store()
> >     >     >   File
> >     >     >
> >     >
> >
>   "/home/ur10/sandbox/rtems-libbsd/.waf-2.0.13-4c5a17779813574907c253ab5418388d/waflib/Build.py",
> >     >     > line 153, in store
> >     >     >     Utils.writef(db+'.tmp',x,m='wb')
> >     >     >   File
> >     >     >
> >     >
> >
>   "/home/ur10/sandbox/rtems-libbsd/.waf-2.0.13-4c5a17779813574907c253ab5418388d/waflib/Utils.py",
> >     >     > line 155, in writef
> >     >     >     with open(fname,m)as f:
> >     >     > IOError: [Errno 2] No such file or directory:
> >     >     >
> >     >
> >
>   u'/home/ur10/sandbox/rtems-libbsd/build/arm-rtems5-beagleboneblack-default/.wafpickle-linux2-34017264-20.tmp'
> >     >     >
> >     >     > If I am correct,  this is a python exception for invalid file
> >     >     handling.
> >     >     > Since I have already removed the  'build'  directory, I
> suppose
> >     >     the call
> >     >     > should be 'w+' or 'wb+' but this does not seem to be the
> >     case. (I am
> >     >     > going out on a limb with this assumption, I may be wrong !)
> >     >
> >     >     You are right that it's a python exception. Most likely it's a
> >     follow up
> >     >     bug due to the wrong paths further up.
> >     >
> >     >     >
> >     >     > It would be very helpful if you could provide your views on
> the
> >     >     problem
> >     >     > and as to how I should proceed to resolve this.
> >     >     >
> >     >
> >     >     The solution is to find the bug in the path handling from
> >     further above.
> >     >     As a workaround could you try to use python3? Some string
> >     handling is
> >     >     different there so it might work or give a better error
> message.
> >     >     Just use
> >     >
> >     >       python3 ./waf ...
> >     >
> >     >     instead of only "waf" in every waf command line.
> >     >
> >     >     >
> >     >     > On Mon, Dec 30, 2019 at 7:19 PM Christian Mauderer
> >     >     <list at c-mauderer.de <mailto:list at c-mauderer.de>
> >     <mailto:list at c-mauderer.de <mailto:list at c-mauderer.de>>
> >     >     > <mailto:list at c-mauderer.de <mailto:list at c-mauderer.de>
> >     <mailto:list at c-mauderer.de <mailto:list at c-mauderer.de>>>> wrote:
> >     >     >
> >     >     >     On 28/12/2019 18:43, Utkarsh Rai wrote:
> >     >     >     > Hi,
> >     >     >     > While building the rtems-libbsd as described here
> >     >     >     >
> >     >     >
> >     >
> >       <
> https://devel.rtems.org/browser/rtems-libbsd/README.waf?rev=b83012a9f9f1551d9d223c3126d0f43aba79db62
> > I
> >     >     >     > was able to successfully configure the waf file as:-
> >     >     >     > waf configure
> >     >     >     > --prefix="/home/ur10/sandbox/rtems/5"
> >     >     >     > --rtems-bsps=arm/beagleboneblack
> >     >     >     > --buildset=buildset/default.ini
> >     >     >     > But the build fails on the "waf" instruction with the
> >     error
> >     >     -  "Could
> >     >     >     > not create the directory ///h".
> >     >     >     > My path for the build is
> >      PATH="~/sandbox/rtems/bin:$PATH",
> >     >     with the
> >     >     >     > tools and the rtems-libbsd in the sandbox directory.
> >     >     >     > It would be very kind of you if someone could point
> out as
> >     >     to what
> >     >     >     is it
> >     >     >     > that I am doing wrong.
> >     >     >     > Thank You, Regards.
> >     >     >
> >     >     >     Hello Utkarsh Rai,
> >     >     >
> >     >     >     I now have seen that bug about two or three times on the
> >     list.
> >     >     But I've
> >     >     >     never been able to reproduce it. What host system are you
> >     >     using? Do you
> >     >     >     have a python2 or a python3 as default python?
> >     >     >
> >     >     >     Sometimes it works to clean up the libbsd directory.
> Remove
> >     >     the "build"
> >     >     >     directory and the ".waf2..." or ".waf3..." directory.
> Also
> >     >     remove any
> >     >     >     "__pycache__" directories.
> >     >     >
> >     >     >     >From your call it seems that you use waf from your host
> >     >     system. Can you
> >     >     >     try to use the waf version delivered with libbsd instead
> >     >     (using "./waf
> >     >     >     configure ...")?
> >     >     >
> >     >     >     Best regards
> >     >     >
> >     >     >     Christian
> >     >     >
> >     >
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20200108/cab7d4ae/attachment-0001.html>


More information about the devel mailing list