Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options

Re^4: Tk Package Fails to Make - Next Crisis

by syphilis (Bishop)
on Apr 10, 2009 at 07:46 UTC ( #756765=note: print w/replies, xml ) Need Help??

in reply to Re^3: Tk Package Fails to Make - Next Crisis
in thread SOLVED (mostly): Tk Package Fails to Make

Hmmmm, there's definitely something wrong here

Yes, something is definitely wrong with MinGW. Which Windows OS do you have ?

Save the following script as try.c:
int main (void) { return 0; }
Then cd to the directory that contains 'try.c' and run:
gcc -o try.exe try.c -v
What output do you get ?
(I'm still interested to see the perl -V output too, btw.)


Replies are listed 'Best First'.
Re^5: Tk Package Fails to Make - Next Crisis
by BJ_Covert_Action (Beadle) on Apr 10, 2009 at 19:02 UTC
    Oh, cap 'V,' yep didn't pick up on that. Alright, perl -V gives me:

    Summary of my perl5 (revision 5 version 10 subversion 0) configuration +: Platform: osname=MSWin32, osvers=5.1, archname=MSWin32-x86-multi-thread uname='' config_args='undef' hint=recommended, useposix=true, d_sigaction=undef useithreads=define, usemultiplicity=define useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=und +ef use64bitint=undef, use64bitall=undef, uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='gcc', ccflags =' -s -O2 -DWIN32 -DHAVE_DES_FCRYPT -DPERL_IMPL +ICIT_CONTEXT -DPERL_IMPLICIT_SYS -fno-strict-aliasing -DPERL_MSVCRT_R +EADFIX', optimize='-s -O2', cppflags='-DWIN32' ccversion='', gccversion='3.4.5', gccosandvers='' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234 d_longlong=undef, longlongsize=8, d_longdbl=define, longdblsize=12 ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='long lo +ng', lseeksize=8 alignbytes=8, prototype=define Linker and Libraries: ld='g++', ldflags ='-s -L"C:\strawberry\perl\lib\CORE" -L"C:\straw +berry\c\lib"' libpth=C:\strawberry\c\lib libs= -lmsvcrt -lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool - +lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid - +lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 perllibs= -lmsvcrt -lmoldname -lkernel32 -luser32 -lgdi32 -lwinspo +ol -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luu +id -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 libc=-lmsvcrt, so=dll, useshrplib=true, libperl=libperl510.a gnulibc_version='' Dynamic Linking: dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' ' cccdlflags=' ', lddlflags='-mdll -s -L"C:\strawberry\perl\lib\CORE +" -L"C:\strawberry\c\lib"' Characteristics of this binary (from libperl): Compile-time options: MULTIPLICITY PERL_DONT_CREATE_GVSV PERL_IMPLICIT_CONTEXT PERL_IMPLICIT_SYS PERL_MALLOC_WRAP PL_OP_SLAB_ALLOC USE_ITHREADS USE_LARGE_FILES USE_PERLIO Built under MSWin32 Compiled at Jan 29 2009 20:56:38 @INC: C:/strawberry/perl/lib C:/strawberry/perl/site/lib .

    I am running on windows XP and I am pretty sure our office is up to using SP3. I can double check on that though if you need those details. Running the gcc command on try.c, as you described, yields:

    Reading specs from C:\GNAT\lib\gcc-lib\pentium-mingw32msv\2.8.1\specs gcc version 2.8.1 C:\GNAT\lib\gcc-lib\pentium-mingw32msv\2.8.1\cpp.exe -lang-c -v -unde +f -D__GNUC__=2 -D__GNUC_MINOR__=8 -Di386 -D_WIN32 -DWIN32 -D__WIN32__ + -D__MINGW32__ -DWINNT -D_X86_=1 -D__STDC__=1 -D__stdcall=__a ttribute__((__stdcall__)) -D__cdecl=__attribute__((__cdecl__)) -D__i38 +6__ -D_WIN32 -D__WIN32__ -D__WIN32__ -D__MINGW32__ -D__WINNT__ -D_X86 +_=1 -D__STDC__=1 -D__stdcall=__attribute__((__stdcall__)) -D_ _cdecl=__attribute__((__cdecl__)) -D__i386 -D__WIN32 -D__WINNT -Asyste +m(winnt) -Acpu(i386) -Amachine(i386) -remap -Di386 -Di586 -Asystem(un +ix) -Acpu(i386) -Amachine(i386) -D__i386__ -D__i586__ -Asyste m(unix) -Acpu(i386) -Amachine(i386) try.c C:\DOCUME~1\BJACKS~1.SLC\LOC +ALS~1\Temp\cca00264.i GNU CPP version 2.8.1 (80386, BSD syntax) #include "..." search starts here: #include <...> search starts here: C:\GNAT\lib\gcc-lib\pentium-mingw32msv\2.8.1\include End of search list. C:\GNAT\lib\gcc-lib\pentium-mingw32msv\2.8.1\cc1.exe C:\DOCUME~1\BJAC +KS~1.SLC\LOCALS~1\Temp\cca00264.i -quiet -dumpbase try.c -version -o +C:\DOCUME~1\BJACKS~1.SLC\LOCALS~1\Temp\cca00264.s GNU C version 2.8.1 (pentium-mingw32msv) compiled by GNU C version 2.8 +.1. as -o C:\DOCUME~1\BJACKS~1.SLC\LOCALS~1\Temp\cca002641.o C:\DOCUME~1\ +BJACKS~1.SLC\LOCALS~1\Temp\cca00264.s ld -o try.exe C:\GNAT\lib\gcc-lib\pentium-mingw32msv\2.8.1\crt2.o -LC +:\GNAT\lib\gcc-lib\pentium-mingw32msv\2.8.1 -LC:\GNAT\lib -LC:\GNAT\l +ib C:\DOCUME~1\BJACKS~1.SLC\LOCALS~1\Temp\cca002641.o -lmingw 32 -lgcc -lmoldname -lmsvcrt -lkernel32 -ladvapi32 -lshell32 -lmingw32 + -lgcc -lmoldname -lmsvcrt

    It looks like I have a version of gcc installed from my GNAT development environment that might be conflicting with the one installed with strawberry perl. Does that sound right? Does that even matter?

    Thank you again for all the help =)


      It looks like I have a version of gcc installed from my GNAT development environment that might be conflicting with the one installed with strawberry perl.

      Yes, that's not strawberry's gcc. Can you rename 'C:/GNAT' to 'C:/GNAT_hide' (so that the system can't find it), then re-run the CPAN install of Math::FFT. Hopefully the CPAN install will then work fine.

      Then, assuming you do need that GNAT gcc, you just have to work out how to manage the co-existence of those 2 versions of gcc. Another way would be to make sure that C:/strawberry/c/bin is at the start of your path envvar whenever you want to use that version of gcc. To achieve that just run:
      set PATH=C:\strawberry\c\bin;%PATH%
      That will ensure that strawberry's gcc is found instead of GNAT's. (You'll need to re-run that command every time you open up a cmd.exe shell that needs to find strawberry's gcc - unless you make that your permanent path setting.)

      The best thing would be to remove the GNAT version, if possible.

        Oh beautiful! I changed the envar path to GNAT_hide as you mentioned and Math::FFT gave me: a good install command should. As for the Bundle::CPAN install, I am now showing: I tried the reports PMQS/IO-Compress-2.017.tar.gz command and was told to see: for details. I went to said website and found and intriguing looking table with some info about successful installs on windows and windows cygwin systems. However, this is my cherry visit to the CPANtesters site so I am not sure what I am looking for...

        On the other side of the realm, I did try and install of Tk again and managed to do a successful install (apparently) since I was rewarded with a final message of:

        Appending installation info to C:\strawberry\perl\lib/perllocal.pod SREZIC/Tk-804.028.tar.gz C:\strawberry\c\bin\dmake.EXE install UNINST=1 -- OK

        So maybe there is just something funny with me trying to update and install the CPAN module?.

        As for the GNAT version of gcc, I don't really use GNAT much so I may just move that path to the end of my PATH variable, or take it out entirely, or something else. GNAT is on this system because it is commonly used amongst our other employees, but I haven't found a use for Ada yet that I couldn't do in either perl or matlab (mostly perl). So yeah.

        Thanks to everyone for all of the help. Between this and my consistent breaking of my linux box at home (I play with things I don't know anything about all to freely) I have been learning a ton about unix syntax and structure in general. I'm looking forward to learning more from all of you.

        If anyone has any further advice or ideas regarding my updating the CPAN module, I would love to hear them.

        Cheers for now,


Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://756765]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (3)
As of 2020-10-30 02:49 GMT
Find Nodes?
    Voting Booth?
    My favourite web site is:

    Results (277 votes). Check out past polls.