From: SF/projects/mingw n. l. <min...@li...> - 2012-10-21 15:59:34
|
Bugs item #3413249, was opened at 2011-09-23 03:08 Message generated for change (Comment added) made by earnie You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=102435&aid=3413249&group_id=2435 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: MinGW Installer Group: None Status: Pending Resolution: None Priority: 1 Private: No Submitted By: Robert Hartmann (ifrh) >Assigned to: Keith Marshall (keithmarshall) Summary: mingw-get-inst-20110802.exe: as.exe and ld.exe are missing Initial Comment: Hi there, today I have downloaded mingw-get-inst-20110802.exe I have to do the installation behinde a proxy. (I had to set some enviroment variables, that is ok for me) My PC at work is a Windows XP professional Version 2002 SP3 I have choosen to install as System-Administrator (into C:\MinGW) , I selected the Option "Use pre-packaged repository catalogues 20110802". After install gcc, g++ and objc I tested as normal user: ======= gcc --version: gcc (GCC) 4.5.2 Copyright (C) 2010 Free Software Foundation, Inc. Dies ist freie Software; die Kopierbedingungen stehen in den Quellen. Es gibt KEINE Garantie; auch nicht f³r MARKTG─NGIGKEIT oder F▄R SPEZIELLE ZWECKE. ======= But I can't compile a simple "hello, world": Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=c:/mingw/bin/../libexec/gcc/mingw32/4.5.2/lto-wrapper.exe Target: mingw32 Configured with: ../gcc-4.5.2/configure --enable-languages=c,c++,ada,fortran,objc,obj-c++ --disable-sjlj-exceptions --with-dwarf2 --enable-shared --enable-libgomp --disable-win32-registry --enable-libstdcxx-debug --enable-version-specific-runtime-libs --disable-werror --build=mingw32 --prefix=/mingw Thread model: win32 gcc version 4.5.2 (GCC) COLLECT_GCC_OPTIONS='-v' '-c' '-mtune=i386' '-march=i386' c:/mingw/bin/../libexec/gcc/mingw32/4.5.2/cc1.exe -quiet -v -iprefix c:\mingw\bin\../lib/gcc/mingw32/4.5.2/ test.c -quiet -dumpbase test.c -mtune=i386 -march=i386 -auxbase test -version -o C:\PROFILES\rhartm2m\LOCALS~1\Temp\cctf0nbh.s GNU C (GCC) version 4.5.2 (mingw32) compiled by GNU C version 4.5.2, GMP version 5.0.1, MPFR version 2.4.1, MPC version 0.8.1 GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 ignoring nonexistent directory "c:\mingw\bin\../lib/gcc/mingw32/4.5.2/../../../../mingw32/include" ignoring nonexistent directory "/mingw/include" ignoring duplicate directory "c:/mingw/lib/gcc/../../include" ignoring duplicate directory "c:/mingw/lib/gcc/../../lib/gcc/mingw32/4.5.2/include" ignoring duplicate directory "c:/mingw/lib/gcc/../../lib/gcc/mingw32/4.5.2/include-fixed" ignoring nonexistent directory "c:/mingw/lib/gcc/../../lib/gcc/mingw32/4.5.2/../../../../mingw32/include" ignoring nonexistent directory "/mingw/include" #include "..." search starts here: #include <...> search starts here: c:\mingw\bin\../lib/gcc/mingw32/4.5.2/../../../../include c:\mingw\bin\../lib/gcc/mingw32/4.5.2/include c:\mingw\bin\../lib/gcc/mingw32/4.5.2/include-fixed End of search list. GNU C (GCC) version 4.5.2 (mingw32) compiled by GNU C version 4.5.2, GMP version 5.0.1, MPFR version 2.4.1, MPC version 0.8.1 GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 Compiler executable checksum: 48c0bd49e9a9404f24c600b71b435d06 COLLECT_GCC_OPTIONS='-v' '-c' '-mtune=i386' '-march=i386' as -o test.o C:\PROFILES\rhartm2m\LOCALS~1\Temp\cctf0nbh.s gcc: CreateProcess: No such file or directory ======= C:\MinGW\bin>gcc --version gcc (GCC) 4.5.2 Copyright (C) 2010 Free Software Foundation, Inc. Dies ist freie Software; die Kopierbedingungen stehen in den Quellen. Es gibt KEINE Garantie; auch nicht f³r MARKTG─NGIGKEIT oder F▄R SPEZIELLE ZWECKE. C:\MinGW\bin>g++ --version g++ (GCC) 4.5.2 Copyright (C) 2010 Free Software Foundation, Inc. Dies ist freie Software; die Kopierbedingungen stehen in den Quellen. Es gibt KEINE Garantie; auch nicht f³r MARKTG─NGIGKEIT oder F▄R SPEZIELLE ZWECKE. C:\MinGW\bin>as --version 'as' is not recognized as an internal or external command, operable program or batch file. C:\MinGW\bin>ld --version 'ld' is not recognized as an internal or external command, operable program or batch file. ====================== Ok "as" and "ld" are missing! This shouldn't happen. After this i went into cmd and mingw-get --reinstall install binutils doesn't help C:\MinGW\bin>mingw-get --reinstall install as mingw-get: *** ERROR *** as: unknown package C:\MinGW\bin>mingw-get --reinstall install ld mingw-get: *** ERROR *** ld: unknown package Please help me!!! Thanks :-) ---------------------------------------------------------------------- >Comment By: Earnie Boyd (earnie) Date: 2012-10-21 08:59 Message: Assigning to Keith as a reminder or closer. ---------------------------------------------------------------------- Comment By: Robert Hartmann (ifrh) Date: 2011-11-03 08:13 Message: Hi there, today I could check the file permissions for the C:\MinGW\var\lib\mingw-get\data\manifest*.xml. You are right, the localuser hadn't permission to write into the manifest files. But mingw-get doesn't report a permission error ! I did a clean installation as administrator in which Bug 3432808 occures. Now I want to test, what happend with file permissions: Normal Users *sometimes* aren't allowed to write in the MinGW-tree. That means: Normal Users can save new files or create new folders inside the MinGW-Tree but they can't delete ore modify any file which was created by the administrator. Step 1 (remove binutils as administrator): mingw-get remove binutils remove: binutils-2.21.1-2-mingw32-bin.tar.lzma removing release binutils-2.21.1-2-mingw32-bin.tar.lzma remove: binutils-2.21.1-2-mingw32-doc.tar.lzma removing release binutils-2.21.1-2-mingw32-doc.tar.lzma remove: binutils-2.21.1-2-mingw32-lang.tar.lzma removing release binutils-2.21.1-2-mingw32-lang.tar.lzma Step 2 (delete binutils*.lzma as Administrator ): del C:\MinGW\var\cache\mingw-get\packages\binutils*.lzma Step 3 (install binutils as normal user and remove it directly): mingw-get install binutils http://prdownloads.sourceforge.net/mingw/binutils-2.21.1-2-mingw32-bin.tar.lzma? download 1.75 MB / 1.75 MB |================================================| 100% http://prdownloads.sourceforge.net/mingw/binutils-2.21.1-2-mingw32-doc.tar.lzma? download 488.87 kB / 488.87 kB |================================================| 100% http://prdownloads.sourceforge.net/mingw/binutils-2.21.1-2-mingw32-lang.tar.lzma ?download 823.03 kB / 823.03 kB |================================================| 100% install: binutils-2.21.1-2-mingw32-bin.tar.lzma installing binutils-2.21.1-2-mingw32-bin.tar.lzma install: binutils-2.21.1-2-mingw32-doc.tar.lzma installing binutils-2.21.1-2-mingw32-doc.tar.lzma install: binutils-2.21.1-2-mingw32-lang.tar.lzma installing binutils-2.21.1-2-mingw32-lang.tar.lzma mingw-get remove binutils mingw-get: *** ERROR *** remove binutils: package is not installed mingw-get: *** ERROR *** remove binutils: package is not installed mingw-get: *** ERROR *** remove binutils: package is not installed ============= Next scenario : ============= Step 1 (install binutils as Administrator: mingw-get install binutils install: binutils-2.21.1-2-mingw32-bin.tar.lzma installing binutils-2.21.1-2-mingw32-bin.tar.lzma install: binutils-2.21.1-2-mingw32-doc.tar.lzma installing binutils-2.21.1-2-mingw32-doc.tar.lzma install: binutils-2.21.1-2-mingw32-lang.tar.lzma installing binutils-2.21.1-2-mingw32-lang.tar.lzma Step 2 (Install binutils as normal user - assume normal user doesn't know that it is installed allready): mingw-get install binutils install: binutils-2.21.1-2-mingw32-bin.tar.lzma installing binutils-2.21.1-2-mingw32-bin.tar.lzma mingw-get: *** ERROR *** package binutils-2.21.1-2-mingw32-bin.tar.lzma is alrea dy installed install: binutils-2.21.1-2-mingw32-doc.tar.lzma installing binutils-2.21.1-2-mingw32-doc.tar.lzma mingw-get: *** ERROR *** package binutils-2.21.1-2-mingw32-doc.tar.lzma is alrea dy installed install: binutils-2.21.1-2-mingw32-lang.tar.lzma installing binutils-2.21.1-2-mingw32-lang.tar.lzma mingw-get: *** ERROR *** package binutils-2.21.1-2-mingw32-lang.tar.lzma is alre ady installed Step 3 (Assume normal user doesn't want it any more): mingw-get remove binutils remove: binutils-2.21.1-2-mingw32-bin.tar.lzma removing release binutils-2.21.1-2-mingw32-bin.tar.lzma remove: binutils-2.21.1-2-mingw32-doc.tar.lzma removing release binutils-2.21.1-2-mingw32-doc.tar.lzma remove: binutils-2.21.1-2-mingw32-lang.tar.lzma removing release binutils-2.21.1-2-mingw32-lang.tar.lzma Step 4 (Assume Administrator doesn't want it any more - and Administrator doesn't know, that normal user has removed): mingw-get remove binutils remove: binutils-2.21.1-2-mingw32-bin.tar.lzma removing release binutils-2.21.1-2-mingw32-bin.tar.lzma mingw-get: *** ERROR *** binutils-2.21.1-2-mingw32-bin.tar.lzma: invalid manifest; no references remove: binutils-2.21.1-2-mingw32-doc.tar.lzma removing release binutils-2.21.1-2-mingw32-doc.tar.lzma mingw-get: *** ERROR *** binutils-2.21.1-2-mingw32-doc.tar.lzma: invalid manifest; no references remove: binutils-2.21.1-2-mingw32-lang.tar.lzma removing release binutils-2.21.1-2-mingw32-lang.tar.lzma mingw-get: *** ERROR *** binutils-2.21.1-2-mingw32-lang.tar.lzma: invalid manifest; no references ====================== By the way, the original problem with wrong file contents in binutils-2.21.1-2-mingw32-bin.tar.lzma doesn't occure any more :-) Best regards, Robert Hartmann (Germany) P.S. I think some new messages and permission tests should introduced into mingw-get :-) ---------------------------------------------------------------------- Comment By: Robert Hartmann (ifrh) Date: 2011-10-10 14:29 Message: Hi Keith Marshall, You wrote "Denial of permission to update the manifests would explain the various 'not installed' or 'already installed' anomalies you have observed. Of course, if this is the case, it is a bug that this denial of permission isn't reported." Until end of October 2011 I can't test it. But I remeber, that the normal user (domain user with Power-User-Rights on local harddisk) wasn't allowed to delete files from mingw-cache-folder which was created by Computer-Administrator-account. ---------------------------------------------------------------------- Comment By: Keith Marshall (keithmarshall) Date: 2011-09-28 06:58 Message: Robert, If you want to be able to run mingw-get as a normal user (recommended), you need to install it as that normal user in the first instance, or failing that, ensure that all users have full access privileges for all files and directories, throughout the MinGW directory hierarchy. mingw-get works perfectly well through a network proxy, without any special configuration requirements. (There may have been authentication issues in the past, but hopefully these are now resolved). wget has no bearing on the issue; mingw-get does NOT use it, in any way, shape or form. If your proxy really is fulfilling a download request by saving previously cached content from a different file, then that's a proxy malfunction completely beyond mingw-get's power to resolve; you should take it up with your network administrator. 'mingw-get remove ...' deletes the installed image, but NOT the cached tarball from its package cache; this is by design. Thus, if you have an invalid tarball in the package cache, (mingw-get's cache, not the network proxy cache), you MUST delete it manually, before you attempt to 'mingw-get install --reinstall ...', to force a fresh download. I'm puzzled by the 'already installed' diagnostics after the 'mingw-get remove ...'; perhaps a privileges issue which wasn't caught, preventing proper updating of the installation records, if the user running mingw-get lacked access rights for the manifest and sysroot record files in the var/lib/mingw-get/data directory. It is imperative that the user running mingw-get has full access privilege throughout the MinGW tree; in particular he/she MUST be able to freely create and update any file within var/lib/mingw-get/data, (with the possible exception of profile.xml which must be readable, but not necessarily writeable). Denial of permission to update the manifests would explain the various 'not installed' or 'already installed' anomalies you have observed. Of course, if this is the case, it is a bug that this denial of permission isn't reported. Earnie, mingw-get ALREADY detects and reports failed downloads, and will abort any installation which requires the failed package. In this case, the download appeared to succeed, albeit with invalid content, so mingw-get was none the wiser; it simply installed what it thought was the correct package content. Also, as noted above, 'mingw-get remove ...' doesn't help in this circumstance; the defective package must be manually removed from the package cache, to force a fresh download, after which 'mingw-get install --reinstall ...' will suffice to overwrite the earlier defective installation. In this particular case, in which the content of mingwrt-dev appears to have been assigned to the binutils-bin package, the 'mingw-get remove ...' would have improperly deleted the mingwrt-dev files, so a 'mingw-get install --reinstall mingwrt-dev binutils' may now be required to repair the installation. Finally, the feature to request a download only is ALREADY supported; 'mingw-get install --download-only ...' is the incantation required. However, this will NOT replace a damaged tarball which is already present in the cache; this requires manual removal of the bad package from the cache beforehand. ---------------------------------------------------------------------- Comment By: Robert Hartmann (ifrh) Date: 2011-09-28 05:08 Message: Next try... as Administrator I removed the binutils*mingw32*.tar.lzma from harddisk, because normal user wasn't allowed to delete them. Now I run as normal user G:\>mingw-get install binutils http://prdownloads.sourceforge.net/mingw/binutils-2.21.1-2-mingw32-bin.tar.lzma? download 1.75 MB / 1.75 MB |================================================| 100% http://prdownloads.sourceforge.net/mingw/binutils-2.21.1-2-mingw32-doc.tar.lzma? download 488.87 kB / 488.87 kB |================================================| 100% http://prdownloads.sourceforge.net/mingw/binutils-2.21.1-2-mingw32-lang.tar.lzma ?download 823.03 kB / 823.03 kB |================================================| 100% install: binutils-2.21.1-2-mingw32-bin.tar.lzma installing binutils-2.21.1-2-mingw32-bin.tar.lzma install: binutils-2.21.1-2-mingw32-doc.tar.lzma installing binutils-2.21.1-2-mingw32-doc.tar.lzma install: binutils-2.21.1-2-mingw32-lang.tar.lzma installing binutils-2.21.1-2-mingw32-lang.tar.lzma From file size this should be correct. Now I try to remove as normal user but: G:\>mingw-get remove binutils mingw-get: *** ERROR *** remove binutils: package is not installed mingw-get: *** ERROR *** remove binutils: package is not installed mingw-get: *** ERROR *** remove binutils: package is not installed Why "package is not installed" ... it should be! ---------------------------------------------------------------------- Comment By: Robert Hartmann (ifrh) Date: 2011-09-28 04:56 Message: Hi, I run "mingw-get remove binutils" as normal user. I got the output: ****************** G:\>mingw-get remove binutils remove: binutils-2.21.1-2-mingw32-bin.tar.lzma removing release binutils-2.21.1-2-mingw32-bin.tar.lzma remove: binutils-2.21.1-2-mingw32-doc.tar.lzma removing release binutils-2.21.1-2-mingw32-doc.tar.lzma remove: binutils-2.21.1-2-mingw32-lang.tar.lzma removing release binutils-2.21.1-2-mingw32-lang.tar.lzma ****************** After this I looked into the directory: C:\MinGW\var\cache\mingw-get\packages There exist binutils-2.21.1-2mingw32-bin.tar.lzma (556 KB) binutils-2.21.1-2mingw32-doc.tar.lzma (489 KB) binutils-2.21.1-2mingw32-lang.tar.lzma (824 KB) Shouldn't these files become removed? Now I run "mingw-get install binutils": ******************* G:\>mingw-get install binutils install: binutils-2.21.1-2-mingw32-bin.tar.lzma installing binutils-2.21.1-2-mingw32-bin.tar.lzma mingw-get: *** ERROR *** package binutils-2.21.1-2-mingw32-bin.tar.lzma is alrea dy installed install: binutils-2.21.1-2-mingw32-doc.tar.lzma installing binutils-2.21.1-2-mingw32-doc.tar.lzma mingw-get: *** ERROR *** package binutils-2.21.1-2-mingw32-doc.tar.lzma is alrea dy installed install: binutils-2.21.1-2-mingw32-lang.tar.lzma installing binutils-2.21.1-2-mingw32-lang.tar.lzma mingw-get: *** ERROR *** package binutils-2.21.1-2-mingw32-lang.tar.lzma is alre ady installed => but I had told to remove ... ******************* Ok next try as administrator: G:\>mingw-get remove binutils remove: binutils-2.21.1-2-mingw32-bin.tar.lzma removing release binutils-2.21.1-2-mingw32-bin.tar.lzma remove: binutils-2.21.1-2-mingw32-doc.tar.lzma removing release binutils-2.21.1-2-mingw32-doc.tar.lzma mingw-get: *** ERROR *** binutils-2.21.1-2-mingw32-doc.tar.lzma: invalid manifes t; no references remove: binutils-2.21.1-2-mingw32-lang.tar.lzma removing release binutils-2.21.1-2-mingw32-lang.tar.lzma mingw-get: *** ERROR *** binutils-2.21.1-2-mingw32-lang.tar.lzma: invalid manife st; no references And as administrator mingw-get install binutils G:\>mingw-get install binutils install: binutils-2.21.1-2-mingw32-bin.tar.lzma installing binutils-2.21.1-2-mingw32-bin.tar.lzma install: binutils-2.21.1-2-mingw32-doc.tar.lzma installing binutils-2.21.1-2-mingw32-doc.tar.lzma install: binutils-2.21.1-2-mingw32-lang.tar.lzma installing binutils-2.21.1-2-mingw32-lang.tar.lzma But that doesn't help because the lzma-Files have the wrong contents ... Very strange, using the same executable for installing at home (Windows XP home edition, SP3) doesn't download a binutil-archive with wrong content. Is it possible to configure mingw-get to pass a proxy but ignore perhaps cached contents, that means something like the option --no-cache from GNU Wget. Best regards, Robert Hartmann from Germany ---------------------------------------------------------------------- Comment By: Earnie Boyd (earnie) Date: 2011-09-26 06:21 Message: When the developer has a round tuit for this item he plans to add recognition of a failed download. Until then try mingw-get remove binutils mingw-get install binutils I'm guessing that --reinstall isn't working due to the fact that the package cache /var/cache/mingw-get/packages already contains a binutils-VERSION-mingw32-bin.tar.gz file and a new download isn't being accomplished with --reinstall. Let us know if this procedure works for you. IIRC, there is already a request for options to download the files without installing them. Earnie ---------------------------------------------------------------------- Comment By: Robert Hartmann (ifrh) Date: 2011-09-23 07:15 Message: I said, that the file "binutils-2.21.1-2-mingw32-bin.tar.lzma" which was downloaded by mingw-get (mingw-get-inst) has only 556KB as file size and is located in C:\MinGW\var\cache\mingw-get\packages. And I asked, "Why doesn't mingw-get-inst, mingw-get complains about broken download? " The point is, that the download was not broken: The downloaded file is a correct lzma-file, but not binutils. Here is the contents list of the mingw-get (mingw-get-inst) downloaded file: [You can see, that aren't realy binutils!] doc/ doc/runtime/ doc/runtime/CONTRIBUTORS doc/runtime/DISCLAIMER doc/runtime/README include/ include/assert.h include/complex.h include/conio.h include/ctype.h include/dir.h include/direct.h include/dirent.h include/dos.h include/errno.h include/excpt.h include/fcntl.h include/fenv.h include/float.h include/getopt.h include/gmon.h include/inttypes.h include/io.h include/libgen.h include/limits.h include/locale.h include/malloc.h include/math.h include/mbctype.h include/mbstring.h include/mem.h include/memory.h include/process.h include/profil.h include/profile.h include/search.h include/setjmp.h include/share.h include/signal.h include/stdint.h include/stdio.h include/stdlib.h include/string.h include/strings.h include/sys/ include/sys/fcntl.h include/sys/file.h include/sys/locking.h include/sys/param.h include/sys/stat.h include/sys/time.h include/sys/timeb.h include/sys/types.h include/sys/unistd.h include/sys/utime.h include/tchar.h include/time.h include/unistd.h include/utime.h include/values.h include/varargs.h include/wchar.h include/wctype.h include/_mingw.h lib/ lib/binmode.o lib/crt1.o lib/crt2.o lib/crtmt.o lib/crtst.o lib/CRT_fp10.o lib/CRT_fp8.o lib/CRT_noglob.o lib/dllcrt1.o lib/dllcrt2.o lib/gcrt1.o lib/gcrt2.o lib/libcoldname.a lib/libcrtdll.a lib/libgmon.a lib/libm.a lib/libmingw32.a lib/libmingwex.a lib/libmingwthrd.a lib/libmingwthrd_old.a lib/libmoldname.a lib/libmoldname70.a lib/libmoldname70d.a lib/libmoldname71.a lib/libmoldname71d.a lib/libmoldname80.a lib/libmoldname80d.a lib/libmoldname90.a lib/libmoldname90d.a lib/libmoldnamed.a lib/libmsvcr70.a lib/libmsvcr70d.a lib/libmsvcr71.a lib/libmsvcr71d.a lib/libmsvcr80.a lib/libmsvcr80d.a lib/libmsvcr90.a lib/libmsvcr90d.a lib/libmsvcrt.a lib/libmsvcrtd.a lib/txtmode.o share/ share/man/ share/man/man3/ share/man/man3/basename.3 share/man/man3/dirname.3 ---------------------------------------------------------------------- Comment By: Robert Hartmann (ifrh) Date: 2011-09-23 06:39 Message: I found out, that the file "binutils-2.21.1-2-mingw32-bin.tar.lzma" which was downloaded by mingw-get (mingw-get-inst) in directory has only 556KB as file size located in C:\MinGW\var\cache\mingw-get\packages BUT the file "binutils-2.21.1-2-mingw32-bin.tar.lzma" downloaded with FireFox from URL http://downloads.sourceforge.net/project/mingw/MinGW/BaseSystem/GNU-Binutils/binutils-2.21.1/binutils-2.21.1-2-mingw32-bin.tar.lzma?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fmingw%2Ffiles%2FMinGW%2FBaseSystem%2FGNU-Binutils%2Fbinutils-2.21.1%2F&ts=1316784194&use_mirror=dfn has 1796 KB as file size. Between 556 KB and 1796 KB is to much difference: So something is realy going wrong with mingw-get but perhaps only if you are behind a proxy? Why doesn't mingw-get-inst, mingw-get complains about broken download? ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=102435&aid=3413249&group_id=2435 |