libtool
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Line length limitations


From: Robert Boehne
Subject: Re: Line length limitations
Date: Tue, 29 May 2001 15:58:54 -0500

Albert:

Well, the problem is generally with $relink_command so it doesn't
come into play in the same context as the shell limitation.
The problem is that relink_command is passed through sed, and
Solaris truncates the output to 4000 characters, IRIX truncates
to 8201, the rest seem to deal with much larger output (100k was
checked).
I've been meaning to make a patch that at least warns the user about
this limitation, but I haven't gotten around to it yet.
  A near-term solution is to somehow pass parts of the relink_command to
sed in chunks less than 4000 characters.  The long term solution is
the binary-branch that will one day do this work for itself, not
passing things through buggy vendor utilities.
  Of course there is also the simple workaround to use GNU sed which
is so easy that I haven't found the time to fix this.  ;)
If you'd like to help out with a patch, we'd all be appreicative.  :)

Robert

address@hidden wrote:
> 
> While building the latest version of Ethereal 0.8.18 with a long
> --prefix, I ran into what appeared to be a limitation in the
> command-line length of Solaris 2.6/SPARC /bin/sh. So, I upgraded the
> version of libtool used therein to MLB hoping Robert's
> piecewise-linking enhancements would work around this problem. I had
> the same error. Turns out the problem was with sed. Solaris
> 2.5.1-8/SPARC have the same problem. GNU sed does not. Here's the
> snippet from libtool 1.4 that was giving the problem:
> 
>   # Now compile the dynamic symbol file.
>   $show "(cd $output_objdir && $CC 
> -c$no_builtin_flag$pic_flag_for_symtable\"$dlsyms\")"
>   $run eval '(cd $output_objdir && $CC 
> -c$no_builtin_flag$pic_flag_for_symtable"$dlsyms")' || exit $?
> 
>   # Clean up the generated files.
>   $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T"
>   $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T"
> 
>   # Transform the symbol file into the correct name.
>   compile_command=`$echo "X$compile_command" | $Xsed -e 
> "address@hidden@%$output_objdir/${outputname}S.${objext}%"`
>   finalize_command=`$echo "X$finalize_command" | $Xsed -e 
> "address@hidden@%$output_objdir/${outputname}S.${objext}%"`
>   ;;
> 
> The problem arises with the assignment for compile_command. I get:
>   Output line too long.
>   Output line too long.
> 
> The following platforms don't have the same sed limitation (or at
> least their limitation is greater than Solaris): HP-UX 10.20, 11.00,
> Tru64 UNIX 4.0D, 5.0, IRIX 6.2, 6.5, AIX 4.3.2.
> 
> Should the command to find the maximum command-line length take the
> above into consideration? And, if it did, would it have helped?
> 
> --
> albert chin (address@hidden)
> 
> _______________________________________________
> Libtool mailing list
> address@hidden
> http://mail.gnu.org/mailman/listinfo/libtool

-- 
Robert Boehne             Software Engineer
Ricardo Software   Chicago Technical Center
TEL: (630)789-0003 x. 238
FAX: (630)789-0127
email:  address@hidden



reply via email to

[Prev in Thread] Current Thread [Next in Thread]