Discussion:
[perl #49912] [BUG] Unable to Configure using Borland C
(too old to reply)
Arocker @ Vex . Net
2008-01-18 01:26:45 UTC
Permalink
# New Ticket Created by ***@vex.net
# Please include the string: [perl #49912]
# in the subject line of all future correspondence about this issue.
# <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=49912 >


The following text shows the result of attempting to install Parrot using
bcc32. The program appeared to hang at the "Generating CPU specific stuff"
stage until killed.

C:\parrot>Configure.pl --cc=bcc32
Parrot Version 0.5.2 Configure 2.0
Copyright (C) 2001-2007, The Perl Foundation.

Hello, I'm Configure. My job is to poke and prod your system to figure out
how to build Parrot. The process is completely automated, unless you
passed in
the `--ask' flag on the command line, in which case I'll prompt you for a few
pieces of info.

Since you're running this program, you obviously have Perl 5--I'll be pulling
some defaults from its configuration.

Checking MANIFEST.....................................................done.
Setting up Configure's default values.................................done.
Setting up installation paths.........................................done.
Tweaking settings for miniparrot...................................skipped.
Loading platform and local hints files................................done.
Finding header files distributed with Parrot..........................done.
Determining what C compiler and linker to use.........................done.
Determining whether make is installed..................................yes.
Determining whether lex is installed...............................skipped.
Determining whether yacc is installed..............................skipped.
Determining if your C compiler is actually gcc..........................no.
Determining whether libc has the backtrace* functions (glibc only)......no.
Determining Fink location on Darwin................................skipped.
Determining if your C compiler is actually Visual C++...................no.
Detecting compiler attributes (-DHASATTRIBUTE_xxx)....................done.
Detecting supported compiler warnings (-Wxxx)......................skipped.
Enabling optimization...................................................no.
Determining flags for building shared libraries.......................done.
Determine if parrot should be linked against a shared library...........no.
Determining what charset files should be compiled in..................done.
Determining what encoding files should be compiled in.................done.
Determining what types Parrot should use..............................done.
Determining what opcode files should be compiled in...................done.
Determining what pmc files should be compiled in......................done.
Determining your minimum pointer alignment......................... 1 byte.
Probing for C headers.................................................done.
Determining some sizes................................................done.
Computing native byteorder for Parrot's wordsize.............little-endian.
Test the type of va_ptr (this test is likely to segfault)............stack.
Figuring out how to pack() Parrot's types.............................done.
Figuring out what formats should be used for sprintf..................done.
Determining if your C library has a working S_ISREG....................yes.
Determining CPU architecture and OS...................................done.
Determining architecture, OS and JIT capability.......................done.
Generating CPU specific stuff...Terminating on signal SIGINT(2)
Jerry Gay
2008-01-18 14:31:53 UTC
Permalink
Post by Arocker @ Vex . Net
# Please include the string: [perl #49912]
# in the subject line of all future correspondence about this issue.
# <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=49912 >
The following text shows the result of attempting to install Parrot using
bcc32. The program appeared to hang at the "Generating CPU specific stuff"
stage until killed.
would you mind running again with --verbose added to your flags, and
attaching that output? it'll give us much more to go on. thanks for
reporting.
~jerry
Steve Peters via RT
2008-01-18 15:24:08 UTC
Permalink
Post by Arocker @ Vex . Net
The following text shows the result of attempting to install Parrot
using
bcc32. The program appeared to hang at the "Generating CPU specific
stuff"
stage until killed.
C:\parrot>Configure.pl --cc=bcc32
Parrot Version 0.5.2 Configure 2.0
Copyright (C) 2001-2007, The Perl Foundation.
Hello, I'm Configure. My job is to poke and prod your system to figure
out
how to build Parrot. The process is completely automated, unless you
passed in
the `--ask' flag on the command line, in which case I'll prompt you
for a few
pieces of info.
Since you're running this program, you obviously have Perl 5--I'll be
pulling
some defaults from its configuration.
Checking
MANIFEST.....................................................done.
Setting up Configure's default
values.................................done.
Setting up installation
paths.........................................done.
Tweaking settings for
miniparrot...................................skipped.
Loading platform and local hints
files................................done.
Finding header files distributed with
Parrot..........................done.
Determining what C compiler and linker to
use.........................done.
Determining whether make is
installed..................................yes.
Determining whether lex is
installed...............................skipped.
Determining whether yacc is
installed..............................skipped.
Determining if your C compiler is actually
gcc..........................no.
Determining whether libc has the backtrace* functions (glibc
only)......no.
Determining Fink location on
Darwin................................skipped.
Determining if your C compiler is actually Visual
C++...................no.
Detecting compiler attributes (-
DHASATTRIBUTE_xxx)....................done.
Detecting supported compiler warnings (-
Wxxx)......................skipped.
Enabling
optimization...................................................no.
Determining flags for building shared
libraries.......................done.
Determine if parrot should be linked against a shared
library...........no.
Determining what charset files should be compiled
in..................done.
Determining what encoding files should be compiled
in.................done.
Determining what types Parrot should
use..............................done.
Determining what opcode files should be compiled
in...................done.
Determining what pmc files should be compiled
in......................done.
Determining your minimum pointer alignment......................... 1
byte.
Probing for C
headers.................................................done.
Determining some
sizes................................................done.
Computing native byteorder for Parrot's wordsize.............little-
endian.
Test the type of va_ptr (this test is likely to
segfault)............stack.
Figuring out how to pack() Parrot's
types.............................done.
Figuring out what formats should be used for
sprintf..................done.
Determining if your C library has a working
S_ISREG....................yes.
Determining CPU architecture and
OS...................................done.
Determining architecture, OS and JIT
capability.......................done.
Generating CPU specific stuff...Terminating on signal SIGINT(2)
When using a non-default C compiler, you will usually need to add a
--link to the Configure line. So, something like...

Configure.pl --cc=bcc32 --link=bcc32

should work.

Steve
a***@ippimail.com
2008-01-18 16:30:25 UTC
Permalink
Post by Steve Peters via RT
When using a non-default C compiler, you will usually need to add a
--link to the Configure line. So, something like...
Configure.pl --cc=bcc32 --link=bcc32
Doesn't appear to make any difference.


--

Email and shopping with the feelgood factor!
55% of income to good causes. http://www.ippimail.com
James Keenan via RT
2008-01-23 00:11:36 UTC
Permalink
Glimmerings of a hint of progress.
C:\parrot>Configure.pl --cc=bcc32 --miniparrot
bypasses the test that hangs.
That's not too surprising, as a look into the configuration step classes
will show. In config/init/miniparrot.pm, we find this documentation:

"Modifies settings to match miniparrot (ANSI C Parrot)'s needs. This
step primarily overwrites a lot of settings in the Configure database to
disable JIT and match ANSI characteristics."

And in many of the later config step classes, calling Configure.pl with
--miniparrot short-circuits causes such classes to be essentially skipped.
This enables "make" to fall on its face with
C:\parrot>make
MAKE Version 5.2 Copyright (c) 1987, 2000 Borland
Error makefile 2306: Redefinition of target 'compilers\imcc\main.obj'
*** 1 errors during make ***
Any suggestions for further floundering would be welcome.
Unfortunately, I have no experience with Borland specifically or
C-compilers on Win32 more generally. Any of our Win32 gurus out there?

kid51
--
Email and shopping with the feelgood factor!
55% of income to good causes. http://www.ippimail.com
James Keenan via RT
2008-01-23 00:15:08 UTC
Permalink
Any suggestions for further floundering would be welcome.
Well, here's one thought. You could try running Configure.pl with the
addition of the --configure_trace option. Read the POD for
Parrot::Configure::Trace to see how you would then be able to trace the
evolution of specific values inside the Parrot::Configure object as you
go through the 60+ config steps.

Caveat: Every time I've used P::C::Trace, it's been on a configuration
that completed successfully and hence resulted in a well-formed trace
file at the end of configuration. Don't know how it will work if you
get a failure *during* configuration as opposed to during 'make'.
James Keenan via RT
2008-01-23 00:14:49 UTC
Permalink
Any suggestions for further floundering would be welcome.
Well, here's one thought. You could try running Configure.pl with the
addition of the --configure_trace option. Read the POD for
Parrot::Configure::Trace to see how you would then be able to trace the
evolution of specific values inside the Parrot::Configure object as you
go through the 60+ config steps.

Caveat: Every time I've used P::C::Trace, it's been on a configuration
that completed successfully and hence resulted in a well-formed trace
file at the end of configuration. Don't know how it will work if you
get a failure *during* configuration as opposed to during 'make'.
James Keenan via RT
2008-11-24 01:26:56 UTC
Permalink
Post by James Keenan via RT
Any suggestions for further floundering would be welcome.
Well, here's one thought. You could try running Configure.pl with the
addition of the --configure_trace option. Read the POD for
Parrot::Configure::Trace to see how you would then be able to trace the
evolution of specific values inside the Parrot::Configure object as you
go through the 60+ config steps.
Alan: Any update on this?

Question for any Win32 expert: Is the Borland C compiler worth
expending Parrot tuits on?

kid51
a***@ippimail.com
2008-11-24 02:13:52 UTC
Permalink
Post by James Keenan via RT
Alan: Any update on this?
Question for any Win32 expert: Is the Borland C compiler worth
expending Parrot tuits on?
The Strawberry Perl route produced results, so I stopped whacking the
horse, on the assumption that it was dead.


--

Email and shopping with the feelgood factor!
55% of income to good causes. http://www.ippimail.com

Loading...