logo       

Re: ar.exe & scripts: msg#00008

gnu.mingw.msys

Subject: Re: ar.exe & scripts

On 2006-1-2 17:01 UTC, Florian Schricker wrote:
>
> Atm I am having problems with ar and "-M" - reading some script to
> create the lib. The script itself is generated by qmake (Qt anybody?
> ;-)) and prints
>
> CREATE $(DEVHOME)/arch/$(ARCH)/lib/libsomething.a
> ADDMOD release/file1.o
> ADDMOD release/file2.o
> ADDMOD release/file3.o
> SAVE
>
> Quite simple; but whatever I do, running
>
> ar -M < scriptfile
>
> always bails out with
>
> Syntax error in archive script, line 1
>
> Replacing the variables - actually these are environment varibales -
> with their content helps - but that's not what I want! Esp. DEVHOME and
> ARCH are used to be independent of install prefixes and arches.
>
> Any clues? Is this a known bug?
> I installed MinGW-4.1.0 and MSYS-1.0.10; anything more I can provide?

http://lists.trolltech.com/qt-interest/2005-07/thread00110-0.html
| "line too long, more than 255 characters"
...
| This seams to be a problem with ar.exe the library tool that comes with
| mingw, it can not handle so long paths. We are addressing this problem
| and will use ar script files to create the static library.

http://www.gnu.org/software/binutils/manual/html_chapter/binutils_1.html
| The ar command language is not designed to be equivalent to the command-
| line options; in fact, it provides somewhat less control over archives.
| The only purpose of the command language is to ease the transition to
| GNU ar for developers who already have scripts written for the MRI
| "librarian" program.

Going only by that information, I'd guess that the qt developers
encountered some problem, and decided to use an oddball feature
of ar in a way that's different from its "only purpose", and which
doesn't support the environment-variable substitution you want.

As far as I can tell, MRI is Microtec Research, Inc., a producer
of embedded-systems tools. There might be little interest in
turning ar's MRI hack into a general-purpose scripting facility.

I don't find any string in the MSYS ar binary that would print
the message quoted. I know I've used ar command lines longer
than 255 characters. I wonder whether the qt people diagnosed
the problem correctly.

If you transform the generated script into a command line, does
ar execute it correctly?


-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems? Stop! Download the new AJAX search engine that makes
searching your log files as easy as surfing the web. DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click


<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise