|
From: Angel T. <fn...@fm...> - 2006-02-23 00:26:52
|
When I run "make install" after configuring and building Valgrind 3.1.0 I get this on stderr: /bin/sh: -c: line 7: syntax error near unexpected token `;' /bin/sh: -c: line 7: `for f in ; do \' make[4]: *** [install-exec-local] Error 2 make[3]: *** [install-am] Error 2 make[2]: *** [install-recursive] Error 1 make[1]: *** [install-recursive] Error 1 make: *** [install] Error 2 Is there a problem with the install script or what? |
|
From: Angel T. <fn...@fm...> - 2006-02-24 19:38:02
Attachments:
output.txt
|
> When I run "make install" after configuring and building Valgrind > 3.1.0 I get this on stderr: > > /bin/sh: -c: line 7: syntax error near unexpected token `;' > /bin/sh: -c: line 7: `for f in ; do \' > make[4]: *** [install-exec-local] Error 2 > make[3]: *** [install-am] Error 2 > make[2]: *** [install-recursive] Error 1 > make[1]: *** [install-recursive] Error 1 > make: *** [install] Error 2 Here's some more info. Attached are the last tens of lines I get on the terminal when I execute 'make install' in "/home/angel/software/Valgrind/source/unpacked". Any ideas about what might be wrong? |
|
From: Alasdair F. <ala...@sp...> - 2006-02-28 09:03:16
|
Angel,
This looks very similar to what I say when building on RedHat 7.2 -
basically bash doesn't understand a for loop with an empty list ie;
for f in ; do \
I believe this is fixed in SVN, but here's what I did.
- First of all make distclean, to clean up everything from after the
configure stage.
- Take a copy of memcheck/Makefile.in for safety (although you can get
it from the tar archive)
- Edit memcheck/Makefile.in and the target 'install-exec-local:' -
Delete the for loop starting:
for f in $(noinst_LIBRARIES); do \
- Repeat for addrcheck/Makefile.in
- ./configure as previous.
I hope this works for you,
Alasdair
>> When I run "make install" after configuring and building Valgrind
>> 3.1.0 I get this on stderr:
>>
>> /bin/sh: -c: line 7: syntax error near unexpected token `;'
>> /bin/sh: -c: line 7: `for f in ; do \'
>> make[4]: *** [install-exec-local] Error 2
>> make[3]: *** [install-am] Error 2
>> make[2]: *** [install-recursive] Error 1
>> make[1]: *** [install-recursive] Error 1
>> make: *** [install] Error 2
>
> make[3]: Entering directory
> `/home/angel/software/Valgrind/source/unpacked/memcheck'
> for f in memcheck-ppc32-linux vgpreload_memcheck-ppc32-linux.so; do \
> p=`echo $f | sed -e 's/^[^-]*-//' -e 's/\..*$//'`; \
> n=`echo $f | sed -e 's/-[^-]\{1,\}-[^-.]\{1,\}//'`; \
> mkdir -p ../.in_place/$p; \
> rm -f ../.in_place/$p/$n; \
> ln -f -s ../../memcheck/$f ../.in_place/$p/$n; \
> done
> make[4]: Entering directory
> `/home/angel/software/Valgrind/source/unpacked/memcheck'
> for f in memcheck-ppc32-linux vgpreload_memcheck-ppc32-linux.so; do \
> p=`echo $f | sed -e 's/^[^-]*-//' -e 's/\..*$//'`; \
> n=`echo $f | sed -e 's/-[^-]\{1,\}-[^-.]\{1,\}//'`; \
> /home/angel/software/Valgrind/source/unpacked/install-sh -d
> /home/angel/installed/Valgrind/lib/valgrind/$p; \
> /home/angel/installed/coreutils/bin/install -c $f
> /home/angel/installed/Valgrind/lib/valgrind/$p/$n; \
> done ; \
> for f in ; do \
> if expr match $f libcoregrind_ > /dev/null ; then \
> pU=`echo $f | sed -e 's/libcoregrind_//g' -e 's/\.a//g'` ; \
> pD=`echo $pU | sed -e 's/_/-/g'` ; \
> /home/angel/installed/coreutils/bin/install -c -m 644 $f
> /home/angel/installed/Valgrind/lib/valgrind/$pD/libcoregrind.a ; \
> /home/angel/installed/coreutils/bin/install -c -m 644
> /home/angel/software/Valgrind/source/unpacked/VEX/libvex_$pU.a
> /home/angel/installed/Valgrind/lib/valgrind/$pD/libvex.a ; \
> fi ; \
> done
> /bin/sh: -c: line 7: syntax error near unexpected token `;'
> /bin/sh: -c: line 7: `for f in ; do \'
> make[4]: *** [install-exec-local] Error 2
> make[4]: Leaving directory
> `/home/angel/software/Valgrind/source/unpacked/memcheck'
> make[3]: *** [install-am] Error 2
> make[3]: Leaving directory
> `/home/angel/software/Valgrind/source/unpacked/memcheck'
> make[2]: *** [install-recursive] Error 1
> make[2]: Leaving directory
> `/home/angel/software/Valgrind/source/unpacked/memcheck'
> make[1]: *** [install-recursive] Error 1
> make[1]: Leaving directory
> `/home/angel/software/Valgrind/source/unpacked'
> make: *** [install] Error 2
--
------------------------------------------------------------------------
Alasdair Ferro SpiraTech Ltd,
Product Engineer Carrington Business Park,
mailto:ala...@sp... Manchester,
Work: +44 (0)161 776 4582 M31 4DD, U.K.
http://www.spiratech.com
------------------------------------------------------------------------
This email and any files transmitted with it are confidential and
may be legally privileged. It is intended solely for the use of the
individual or entity to whom it is addressed. If you have received
this in error, please contact the sender and delete the material
immediately. Whilst this email has been swept for viruses, you
should carry out your own virus check before opening any
attachment. SpiraTech Ltd accepts no liability for any loss or
damage which may be caused by software viruses or interception
or interruption of this email.
|
|
From: Alasdair F. <ala...@sp...> - 2006-02-28 15:00:53
|
It is already fixed - it's in the development archive (SVN), just not a
full release yet.
I prefer to "top post" so I don't have to scroll past millions of lines
of signatures / mailing list cr*p to read a reply. Each to their own.......
Alasdair
>> Angel,
>>
>> This looks very similar to what I say when building on RedHat 7.2 -
>> basically bash doesn't understand a for loop with an empty list ie;
>> for f in ; do \
>>
>> I believe this is fixed in SVN, but here's what I did.
>>
>> - First of all make distclean, to clean up everything from after the
>> configure stage.
>> - Take a copy of memcheck/Makefile.in for safety (although you can
>> get it from the tar archive)
>> - Edit memcheck/Makefile.in and the target 'install-exec-local:' -
>> Delete the for loop starting:
>> for f in $(noinst_LIBRARIES); do \
>> - Repeat for addrcheck/Makefile.in
>> - ./configure as previous.
>>
>> I hope this works for you,
>>
>> Alasdair
>>>> When I run "make install" after configuring and building Valgrind
>>>> 3.1.0 I get this on stderr:
>>>>
>>>> /bin/sh: -c: line 7: syntax error near unexpected token `;'
>>>> /bin/sh: -c: line 7: `for f in ; do \'
>>>> make[4]: *** [install-exec-local] Error 2
>>>> make[3]: *** [install-am] Error 2
>>>> make[2]: *** [install-recursive] Error 1
>>>> make[1]: *** [install-recursive] Error 1
>>>> make: *** [install] Error 2
>>>
>>> make[3]: Entering directory
>>> `/home/angel/software/Valgrind/source/unpacked/memcheck'
>>> for f in memcheck-ppc32-linux vgpreload_memcheck-ppc32-linux.so; do \
>>> p=`echo $f | sed -e 's/^[^-]*-//' -e 's/\..*$//'`; \
>>> n=`echo $f | sed -e 's/-[^-]\{1,\}-[^-.]\{1,\}//'`; \
>>> mkdir -p ../.in_place/$p; \
>>> rm -f ../.in_place/$p/$n; \
>>> ln -f -s ../../memcheck/$f ../.in_place/$p/$n; \
>>> done
>>> make[4]: Entering directory
>>> `/home/angel/software/Valgrind/source/unpacked/memcheck'
>>> for f in memcheck-ppc32-linux vgpreload_memcheck-ppc32-linux.so; do \
>>> p=`echo $f | sed -e 's/^[^-]*-//' -e 's/\..*$//'`; \
>>> n=`echo $f | sed -e 's/-[^-]\{1,\}-[^-.]\{1,\}//'`; \
>>> /home/angel/software/Valgrind/source/unpacked/install-sh -d
>>> /home/angel/installed/Valgrind/lib/valgrind/$p; \
>>> /home/angel/installed/coreutils/bin/install -c $f
>>> /home/angel/installed/Valgrind/lib/valgrind/$p/$n; \
>>> done ; \
>>> for f in ; do \
>>> if expr match $f libcoregrind_ > /dev/null ; then \
>>> pU=`echo $f | sed -e 's/libcoregrind_//g' -e 's/\.a//g'` ; \
>>> pD=`echo $pU | sed -e 's/_/-/g'` ; \
>>> /home/angel/installed/coreutils/bin/install -c -m 644 $f
>>> /home/angel/installed/Valgrind/lib/valgrind/$pD/libcoregrind.a ; \
>>> /home/angel/installed/coreutils/bin/install -c -m 644
>>> /home/angel/software/Valgrind/source/unpacked/VEX/libvex_$pU.a
>>> /home/angel/installed/Valgrind/lib/valgrind/$pD/libvex.a ; \
>>> fi ; \
>>> done
>>> /bin/sh: -c: line 7: syntax error near unexpected token `;'
>>> /bin/sh: -c: line 7: `for f in ; do \'
>>> make[4]: *** [install-exec-local] Error 2
>>> make[4]: Leaving directory
>>> `/home/angel/software/Valgrind/source/unpacked/memcheck'
>>> make[3]: *** [install-am] Error 2
>>> make[3]: Leaving directory
>>> `/home/angel/software/Valgrind/source/unpacked/memcheck'
>>> make[2]: *** [install-recursive] Error 1
>>> make[2]: Leaving directory
>>> `/home/angel/software/Valgrind/source/unpacked/memcheck'
>>> make[1]: *** [install-recursive] Error 1
>>> make[1]: Leaving directory
>>> `/home/angel/software/Valgrind/source/unpacked'
>>> make: *** [install] Error 2
>
> Dear Alasdair,
> First of all, please do not top post, i.e. do not put your reply on
> top of the conversation...
> Next, I think you are right about the for loop... In fact, I managed
> to fix this on my own and I was just going to post the fix. Btw, this
> problem occurs on Yellow Dog (not sure about the spelling and
> capitalization) Linux. I have archived the Makefile.in files in the
> attachment. In order to apply the "update" just decompress the
> archive in the folder where you have already decompressed Valgrind.
> All the changes to the Makefile.in files are exactly the same and I
> would like to summarize them here. So, For each of the problematic
> makefile I wrapped the for loop with a if strip check like this:
> for f in $(noinst_LIBRARIES); do \
> if expr match $$f libcoregrind_ > /dev/null ; then \
> pU=`echo $$f | sed -e 's/libcoregrind_//g' -e 's/\.a//g'` ; \
> pD=`echo $$pU | sed -e 's/_/-/g'` ; \
> $(INSTALL_DATA) $$f $(DESTDIR)$(valdir)/$$pD/libcoregrind.a ; \
> $(INSTALL_DATA) @VEX_DIR@/libvex_$$pU.a
> $(DESTDIR)$(valdir)/$$pD/libvex.a ; \
> fi ; \
> becomes:
> $(if $(strip $(noinst_LIBRARIES)), \
> for f in $(noinst_LIBRARIES); do \
> if expr match $$f libcoregrind_ > /dev/null ; then \
> pU=`echo $$f | sed -e 's/libcoregrind_//g' -e 's/\.a//g'` ; \
> pD=`echo $$pU | sed -e 's/_/-/g'` ; \
> $(INSTALL_DATA) $$f $(DESTDIR)$(valdir)/$$pD/libcoregrind.a ; \
> $(INSTALL_DATA) @VEX_DIR@/libvex_$$pU.a
> $(DESTDIR)$(valdir)/$$pD/libvex.a ; \
> fi ; \
> done \
> )
> I think this is a little bit better solution as it should also work
> when noinst_LIBRARIES is not empty. I hope the support or development
> team will take into account out problem and will incorporate the
> necessary fixes in the next release of Valrind.
--
------------------------------------------------------------------------
Alasdair Ferro SpiraTech Ltd,
Product Engineer Carrington Business Park,
mailto:ala...@sp... Manchester,
Work: +44 (0)161 776 4582 M31 4DD, U.K.
http://www.spiratech.com
------------------------------------------------------------------------
This email and any files transmitted with it are confidential and
may be legally privileged. It is intended solely for the use of the
individual or entity to whom it is addressed. If you have received
this in error, please contact the sender and delete the material
immediately. Whilst this email has been swept for viruses, you
should carry out your own virus check before opening any
attachment. SpiraTech Ltd accepts no liability for any loss or
damage which may be caused by software viruses or interception
or interruption of this email.
|
|
From: Julian S. <js...@ac...> - 2006-02-28 15:17:12
|
I should also point out that RedHat 7.2 was never an officially
supported target; the earliest thing we try to keep working is
RedHat 7.3.
J
On Tuesday 28 February 2006 15:00, Alasdair Ferro wrote:
> It is already fixed - it's in the development archive (SVN), just not a
> full release yet.
>
> I prefer to "top post" so I don't have to scroll past millions of lines
> of signatures / mailing list cr*p to read a reply. Each to their own.......
>
> Alasdair
>
> >> Angel,
> >>
> >> This looks very similar to what I say when building on RedHat 7.2 -
> >> basically bash doesn't understand a for loop with an empty list ie;
> >> for f in ; do \
> >>
> >> I believe this is fixed in SVN, but here's what I did.
> >>
> >> - First of all make distclean, to clean up everything from after the
> >> configure stage.
> >> - Take a copy of memcheck/Makefile.in for safety (although you can
> >> get it from the tar archive)
> >> - Edit memcheck/Makefile.in and the target 'install-exec-local:' -
> >> Delete the for loop starting:
> >> for f in $(noinst_LIBRARIES); do \
> >> - Repeat for addrcheck/Makefile.in
> >> - ./configure as previous.
> >>
> >> I hope this works for you,
> >>
> >> Alasdair
> >>
> >>>> When I run "make install" after configuring and building Valgrind
> >>>> 3.1.0 I get this on stderr:
> >>>>
> >>>> /bin/sh: -c: line 7: syntax error near unexpected token `;'
> >>>> /bin/sh: -c: line 7: `for f in ; do \'
> >>>> make[4]: *** [install-exec-local] Error 2
> >>>> make[3]: *** [install-am] Error 2
> >>>> make[2]: *** [install-recursive] Error 1
> >>>> make[1]: *** [install-recursive] Error 1
> >>>> make: *** [install] Error 2
> >>>
> >>> make[3]: Entering directory
> >>> `/home/angel/software/Valgrind/source/unpacked/memcheck'
> >>> for f in memcheck-ppc32-linux vgpreload_memcheck-ppc32-linux.so; do \
> >>> p=`echo $f | sed -e 's/^[^-]*-//' -e 's/\..*$//'`; \
> >>> n=`echo $f | sed -e 's/-[^-]\{1,\}-[^-.]\{1,\}//'`; \
> >>> mkdir -p ../.in_place/$p; \
> >>> rm -f ../.in_place/$p/$n; \
> >>> ln -f -s ../../memcheck/$f ../.in_place/$p/$n; \
> >>> done
> >>> make[4]: Entering directory
> >>> `/home/angel/software/Valgrind/source/unpacked/memcheck'
> >>> for f in memcheck-ppc32-linux vgpreload_memcheck-ppc32-linux.so; do \
> >>> p=`echo $f | sed -e 's/^[^-]*-//' -e 's/\..*$//'`; \
> >>> n=`echo $f | sed -e 's/-[^-]\{1,\}-[^-.]\{1,\}//'`; \
> >>> /home/angel/software/Valgrind/source/unpacked/install-sh -d
> >>> /home/angel/installed/Valgrind/lib/valgrind/$p; \
> >>> /home/angel/installed/coreutils/bin/install -c $f
> >>> /home/angel/installed/Valgrind/lib/valgrind/$p/$n; \
> >>> done ; \
> >>> for f in ; do \
> >>> if expr match $f libcoregrind_ > /dev/null ; then \
> >>> pU=`echo $f | sed -e 's/libcoregrind_//g' -e 's/\.a//g'` ; \
> >>> pD=`echo $pU | sed -e 's/_/-/g'` ; \
> >>> /home/angel/installed/coreutils/bin/install -c -m 644 $f
> >>> /home/angel/installed/Valgrind/lib/valgrind/$pD/libcoregrind.a ; \
> >>> /home/angel/installed/coreutils/bin/install -c -m 644
> >>> /home/angel/software/Valgrind/source/unpacked/VEX/libvex_$pU.a
> >>> /home/angel/installed/Valgrind/lib/valgrind/$pD/libvex.a ; \
> >>> fi ; \
> >>> done
> >>> /bin/sh: -c: line 7: syntax error near unexpected token `;'
> >>> /bin/sh: -c: line 7: `for f in ; do \'
> >>> make[4]: *** [install-exec-local] Error 2
> >>> make[4]: Leaving directory
> >>> `/home/angel/software/Valgrind/source/unpacked/memcheck'
> >>> make[3]: *** [install-am] Error 2
> >>> make[3]: Leaving directory
> >>> `/home/angel/software/Valgrind/source/unpacked/memcheck'
> >>> make[2]: *** [install-recursive] Error 1
> >>> make[2]: Leaving directory
> >>> `/home/angel/software/Valgrind/source/unpacked/memcheck'
> >>> make[1]: *** [install-recursive] Error 1
> >>> make[1]: Leaving directory
> >>> `/home/angel/software/Valgrind/source/unpacked'
> >>> make: *** [install] Error 2
> >
> > Dear Alasdair,
> > First of all, please do not top post, i.e. do not put your reply on
> > top of the conversation...
> > Next, I think you are right about the for loop... In fact, I managed
> > to fix this on my own and I was just going to post the fix. Btw, this
> > problem occurs on Yellow Dog (not sure about the spelling and
> > capitalization) Linux. I have archived the Makefile.in files in the
> > attachment. In order to apply the "update" just decompress the
> > archive in the folder where you have already decompressed Valgrind.
> > All the changes to the Makefile.in files are exactly the same and I
> > would like to summarize them here. So, For each of the problematic
> > makefile I wrapped the for loop with a if strip check like this:
> > for f in $(noinst_LIBRARIES); do \
> > if expr match $$f libcoregrind_ > /dev/null ; then \
> > pU=`echo $$f | sed -e 's/libcoregrind_//g' -e 's/\.a//g'` ; \
> > pD=`echo $$pU | sed -e 's/_/-/g'` ; \
> > $(INSTALL_DATA) $$f $(DESTDIR)$(valdir)/$$pD/libcoregrind.a ; \
> > $(INSTALL_DATA) @VEX_DIR@/libvex_$$pU.a
> > $(DESTDIR)$(valdir)/$$pD/libvex.a ; \
> > fi ; \
> > becomes:
> > $(if $(strip $(noinst_LIBRARIES)), \
> > for f in $(noinst_LIBRARIES); do \
> > if expr match $$f libcoregrind_ > /dev/null ; then \
> > pU=`echo $$f | sed -e 's/libcoregrind_//g' -e 's/\.a//g'` ; \
> > pD=`echo $$pU | sed -e 's/_/-/g'` ; \
> > $(INSTALL_DATA) $$f $(DESTDIR)$(valdir)/$$pD/libcoregrind.a ; \
> > $(INSTALL_DATA) @VEX_DIR@/libvex_$$pU.a
> > $(DESTDIR)$(valdir)/$$pD/libvex.a ; \
> > fi ; \
> > done \
> > )
> > I think this is a little bit better solution as it should also work
> > when noinst_LIBRARIES is not empty. I hope the support or development
> > team will take into account out problem and will incorporate the
> > necessary fixes in the next release of Valrind.
|