On 02/12/2019 01:24, Chris Johns wrote:
On 2/12/19 11:10 am, Chris Johns wrote:
On 28/11/19 5:55 pm, Sebastian Huber wrote:
Hello,
I encountered this error on a Mingw64 and MSYS2 system:
Waf: Leaving directory `/c/rtems/home/rtems-5/build/powerpc/qoriq_e6500_32'
Build failed
Traceback (most recent call last):
File
"/c/rtems/home/rtems-5/.waf3-2.0.18-96675f149f50dab16c9e2e6aaf5e787b/waflib/Task.py",
line 190, in process
self.post_run()
File "/c/rtems/home/rtems-5/gccdeps.py", line 144, in post_run
raise ValueError('could not find %r for %r' % (x, self))
ValueError: could not find
'c:\\rtems\\home\\rtems-5\\bsps\\shared\\dev\\clock\\clockimpl.h' for
{task 7696547476648: c clock-config.c -> clock-config.c.13.o}
Tried to build sparc/erc32 on Windows MSYS2 using the eng.pdf quick start guide
and the build locked up with ...
[1706/4038] Compiling build/sparc/erc32/testsuites/libtests/dl06/dl06-pre.exe
[1707/4038] Compiling build/sparc/erc32/testsuites/libtests/dl07/dl07-pre.exe
[1708/4038] Compiling build/sparc/erc32/testsuites/libtests/dl08/dl08-pre.exe
[1709/4038] Compiling build/sparc/erc32/testsuites/libtests/dl09/dl09-pre.exe
[1710/4038] Compiling build/sparc/erc32/testsuites/libtests/dl10/dl10-pre.exe
Unhandled exception in thread started by <bound method Thread._bootstrap of
<Consumer(Thread-1712, started daemon 25777509536)>>
Traceback (most recent call last):
File "/usr/lib/python3.7/threading.py", line 522, in set
self._cond.notify_all()
File "/usr/lib/python3.7/threading.py", line 365, in notify_all
self.notify(len(self._waiters))
File "/usr/lib/python3.7/threading.py", line 346, in notify
raise RuntimeError("cannot notify on un-acquired lock")
RuntimeError: cannot notify on un-acquired lock
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3.7/threading.py", line 890, in _bootstrap
self._bootstrap_inner()
File "/usr/lib/python3.7/threading.py", line 915, in _bootstrap_inner
self._started.set()
File "/usr/lib/python3.7/threading.py", line 522, in set
self._cond.notify_all()
File "/usr/lib/python3.7/threading.py", line 244, in __exit__
return self._lock.__exit__(*args)
RuntimeError: release unlocked lock
I updated MSYS2 to the latest and this error did not appear however I am now
seeing ...
[1867/4038] Processing testsuites/libtests/tar01/init.o:
testsuites/libtests/tar01/init.c
build/sparc/erc32/testsuites/libtests/tar01/tar01-tar.h
build/sparc/erc32/testsuites/libtests/tar01/tar01-tar-gz.h
build/sparc/erc32/testsuites/libtests/tar01/tar01-tar-xz.h ->
build/sparc/erc32/testsuites/libtests/tar01/init.o
In file included from
D:/opt/rtems/rtems.seb/testsuites/libtests/tar01/init.c:26:0:
testsuites/libtests/tar01/tar01-tar.h:7:12: warning: extra tokens at end of
#ifndef directive
#ifndef
__D:_opt_rtems_rtems_seb_build_sparc_erc32_testsuites_libtests_tar01_tar01_tar_h
^
testsuites/libtests/tar01/tar01-tar.h:8:12: warning: ISO C99 requires whitespace
after the macro name
#define
__D:_opt_rtems_rtems_seb_build_sparc_erc32_testsuites_libtests_tar01_tar01_tar_h
^
In file included from
D:/opt/rtems/rtems.seb/testsuites/libtests/tar01/init.c:27:0:
testsuites/libtests/tar01/tar01-tar-gz.h:7:12: warning: extra tokens at end of
#ifndef directive
#ifndef
__D:_opt_rtems_rtems_seb_build_sparc_erc32_testsuites_libtests_tar01_tar01_tar_gz_h
^
D:/opt/rtems/rtems.seb/testsuites/libtests/tar01/init.c: In function
'test_untar_unzip_tgz':
D:/opt/rtems/rtems.seb/testsuites/libtests/tar01/init.c:44:26: error:
'tar01_tar_gz' undeclared (first use in this function); did you mean
'tar01_tar_size'?
#define TARFILE_GZ_START tar01_tar_gz
^
D:/opt/rtems/rtems.seb/testsuites/libtests/tar01/init.c:198:26: note: in
expansion of macro 'TARFILE_GZ_START'
char *buffer = (char *)TARFILE_GZ_START;
^~~~~~~~~~~~~~~~
D:/opt/rtems/rtems.seb/testsuites/libtests/tar01/init.c:44:26: note: each
undeclared identifier is reported only once for each function it appears in
#define TARFILE_GZ_START tar01_tar_gz
^
D:/opt/rtems/rtems.seb/testsuites/libtests/tar01/init.c:198:26: note: in
expansion of macro 'TARFILE_GZ_START'
char *buffer = (char *)TARFILE_GZ_START;
^~~~~~~~~~~~~~~~
D:/opt/rtems/rtems.seb/testsuites/libtests/tar01/init.c:45:26: error:
'tar01_tar_gz_size' undeclared (first use in this function); did you mean
'tar01_tar_size'?
#define TARFILE_GZ_SIZE tar01_tar_gz_size
^
D:/opt/rtems/rtems.seb/testsuites/libtests/tar01/init.c:199:19: note: in
expansion of macro 'TARFILE_GZ_SIZE'
size_t buflen = TARFILE_GZ_SIZE;
^~~~~~~~~~~~~~~
I think this revealed two issues.
1. The file name sanitation in bin2c was not really good. I fixed it
like this:
https://git.rtems.org/rtems-tools/commit/?id=83b8f1f2a5838a5d56e15c70d44348e3e393e3f7
2. The custom commands use a lot of node.abspath(). I have this pattern
from the Waf book. However, the standard .c file to .o rule uses a mix
of relative and absolute paths, e.g.:
'../../../testsuites/samples/ticker/init.c'
'-o/build/git-rtems-5/build/arm/xilinx_zynq_a9_qemu/testsuites/samples/ticker/init.c.87.o'
Do you have a preference?
--
Sebastian Huber, embedded brains GmbH
Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone : +49 89 189 47 41-16
Fax : +49 89 189 47 41-09
E-Mail : sebastian.hu...@embedded-brains.de
PGP : Public key available on request.
Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel