[Parrot-users] Compiling Parrot 1.4.0
Andrew Whitworth
wknight8111 at gmail.com
Tue Nov 24 14:01:28 UTC 2009
I don't necessarily think it's a compiler error either. But it is a
difference from a known-working configuration and I want to make sure
we eliminate the easy solutions first.
It *is* probable that there is some kind of weird makefile issue to
deal with that none of the developers noticed before the release. I
can probably try a fresh checkout later tonight on Ubuntu x64 9.10 to
verify, but can't do that till later.
--Andrew Whitworth
On Tue, Nov 24, 2009 at 8:40 AM, Alessio Giovanni Baroni
<alessiogiovanni.baroni at gmail.com> wrote:
> I don't think it is a compiler problem. It's a "simple" No such file or
> directory.
> I attempt to see the Makefiles ......
>
> Alessio.
>
>
> 2009/11/24 Andrew Whitworth <wknight8111 at gmail.com>
>>
>> One thing that concerns me, I'm looking back and notice that there was
>> zero testing on GCC4.4+ for the 1.4.0 release. I don't think any of
>> the major Linux distros were using that version of the compiler at
>> that time. You can see the list of platforms where there was testing
>> here:
>>
>> https://trac.parrot.org/parrot/browser/tags/RELEASE_1_4_0/PLATFORMS
>>
>> I don't know if there was an issue (although I do remember that there
>> were at least a small handful of compatibility issues that popped up
>> when 4.4.1 was released), but I do suggest that you try with a
>> different compiler. At the very least it will help us narrow down
>> where the problems may be. Are you able to get your hands on an older
>> GCC version (4.3.3 or earlier), or can you get a copy of LLVM+Clang?
>>
>> Thanks,
>>
>> --Andrew Whitworth
>>
>>
>>
>> On Tue, Nov 24, 2009 at 8:27 AM, Alessio Giovanni Baroni
>> <alessiogiovanni.baroni at gmail.com> wrote:
>> > This is the output:
>> >
>> > Parrot Version 1.4.0 Configure 2.0
>> > Copyright (C) 2001-2009, Parrot 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.
>> >
>> > init::manifest - Check
>> > MANIFEST.....................................done.
>> > init::defaults - Set Configure's default
>> > values.....................done.
>> > init::install - Set up installation
>> > paths..........................done.
>> > init::hints - Load platform and local hints
>> > files................done.
>> > init::headers - Find header files distributed with
>> > Parrot..........done.
>> > inter::progs - Determine what C compiler and linker to
>> > use........done.
>> > inter::make - Is make
>> > installed...................................yes.
>> > inter::lex - Is lex
>> > installed................................skipped.
>> > inter::yacc - Is yacc
>> > installed...............................skipped.
>> > auto::gcc - Is your C compiler actually
>> > gcc................yes,
>> > 4.4.
>> > auto::glibc - Is GNU libc
>> > installed...............................yes.
>> > auto::backtrace - Does libc have the backtrace*
>> > functions.............yes.
>> > auto::fink - Determine Fink location on
>> > Darwin...............skipped.
>> > auto::macports - Determine Macports location on
>> > Darwin...........skipped.
>> > auto::msvc - Is your C compiler actually Visual
>> > C++..........skipped.
>> > auto::attributes - Detect compiler
>> > attributes.........................done.
>> > auto::warnings - Detect supported compiler warnings..........set
>> > for
>> > gcc.
>> > init::optimize - Enable
>> > optimization.................................yes.
>> > inter::shlibs - Determine flags for building shared
>> > libraries.....-fPIC.
>> > inter::libparrot - Should parrot link against a shared
>> > library.........yes.
>> > inter::charset - Which charset files should be compiled
>> > in..........done.
>> > inter::encoding - Which encoding files should be compiled
>> > in.........done.
>> > inter::types - What types should Parrot
>> > use.......................done.
>> > auto::ops - Which opcode files should be compiled
>> > in...........done.
>> > auto::pmc - Which pmc files should be compiled
>> > in..............done.
>> > auto::alignptrs - Determine your minimum pointer alignment........ 1
>> > byte.
>> > auto::headers - Probe for C
>> > headers................................done.
>> > auto::sizes - Determine some
>> > sizes...............................done.
>> > auto::byteorder - Compute native byteorder for
>> > wordsize.....little-endian.
>> > auto::va_ptr - Test the type of
>> > va_ptr........................register.
>> > auto::format - What formats should be used for
>> > sprintf............done.
>> > auto::isreg - Does your C library have a working
>> > S_ISREG..........yes.
>> > auto::arch - Determine CPU architecture and
>> > OS..................done.
>> > auto::jit - Determine JIT
>> > capability............................yes.
>> > auto::cpu - Generate CPU specific
>> > stuff........................done.
>> > auto::funcptr - Does compiler support function pointer
>> > casts........yes.
>> > auto::cgoto - Does your compiler support computed
>> > goto............yes.
>> > auto::inline - Does your compiler support
>> > inline...................yes.
>> > auto::gc - Determine allocator to
>> > use.........................done.
>> > auto::memalign - Does your C library support
>> > memalign................yes.
>> > auto::signal - Determine some signal
>> > stuff........................done.
>> > auto::socklen_t - Determine whether there is
>> > socklen_t................yes.
>> > auto::neg_0 - Determine whether negative zero can be
>> > printed......yes.
>> > auto::env - Does your C library have setenv /
>> > unsetenv.........both.
>> > auto::thread - Does your system has
>> > thread.........................yes.
>> > auto::gmp - Does your platform support
>> > GMP......................yes.
>> > auto::readline - Does your platform support
>> > readline.................yes.
>> > auto::gdbm - Does your platform support
>> > gdbm.....................yes.
>> > auto::pcre - Does your platform support
>> > pcre....................done.
>> > auto::opengl - Does your platform support OpenGL.......yes,
>> > freeglut
>> > 4.
>> > auto::crypto - Does your platform support crypto...........yes,
>> > 0.9.8g.
>> > auto::gettext - Does your configuration include
>> > gettext.............yes.
>> > auto::snprintf - Test
>> > snprintf......................................done.
>> > auto::perldoc - Is perldoc
>> > installed.................................no.
>> > auto::pod2man - Is pod2man
>> > installed................................yes.
>> > auto::ctags - Is (exuberant) ctags
>> > installed.......................no.
>> > auto::revision - Determine Parrot's
>> > revision........................done.
>> > auto::icu - Is ICU
>> > installed....................................yes.
>> > gen::config_h - Generate C
>> > headers.................................done.
>> > gen::core_pmcs - Generate core pmc
>> > list.............................done.
>> > gen::crypto - Generate Digest PMC
>> > files..........................done.
>> > gen::parrot_include - Generate
>> > runtime/parrot/include....................done.
>> > gen::opengl - Generating OpenGL bindings...In OpenGL header
>> > '/usr/include/GL/glext.h', prototype 'glGetInteger64i_v', can't handle
>> > type
>> > 'GLint64*'; original prototype:
>> > GLAPI void APIENTRY glGetInteger64i_v (GLenum, GLuint, GLint64 *);
>> >
>> > In OpenGL header '/usr/include/GL/glext.h', prototype
>> > 'glGetBufferParameteri64v', can't handle type 'GLint64*'; original
>> > prototype:
>> > GLAPI void APIENTRY glGetBufferParameteri64v (GLenum, GLenum, GLint64
>> > *);
>> >
>> > In OpenGL header '/usr/include/GL/glext.h', prototype 'glFenceSync',
>> > can't
>> > handle type 'GLsync'; original prototype:
>> > GLAPI GLsync APIENTRY glFenceSync (GLenum, GLbitfield);
>> >
>> > In OpenGL header '/usr/include/GL/glext.h', prototype 'glIsSync', can't
>> > handle type 'GLsync'; original prototype:
>> > GLAPI GLboolean APIENTRY glIsSync (GLsync);
>> >
>> > In OpenGL header '/usr/include/GL/glext.h', prototype 'glDeleteSync',
>> > can't
>> > handle type 'GLsync'; original prototype:
>> > GLAPI void APIENTRY glDeleteSync (GLsync);
>> >
>> > In OpenGL header '/usr/include/GL/glext.h', prototype
>> > 'glClientWaitSync',
>> > can't handle type 'GLsync'; original prototype:
>> > GLAPI GLenum APIENTRY glClientWaitSync (GLsync, GLbitfield, GLuint64);
>> >
>> > In OpenGL header '/usr/include/GL/glext.h', prototype 'glWaitSync',
>> > can't
>> > handle type 'GLsync'; original prototype:
>> > GLAPI void APIENTRY glWaitSync (GLsync, GLbitfield, GLuint64);
>> >
>> > In OpenGL header '/usr/include/GL/glext.h', prototype 'glGetInteger64v',
>> > can't handle type 'GLint64*'; original prototype:
>> > GLAPI void APIENTRY glGetInteger64v (GLenum, GLint64 *);
>> >
>> > In OpenGL header '/usr/include/GL/glext.h', prototype 'glGetSynciv',
>> > can't
>> > handle type 'GLsync'; original prototype:
>> > GLAPI void APIENTRY glGetSynciv (GLsync, GLenum, GLsizei, GLsizei *,
>> > GLint
>> > *);
>> >
>> > ......................done.
>> > gen::call_list - Generate NCI signature
>> > list........................done.
>> > gen::makefiles - Generate makefiles and other build
>> > files...........done.
>> > gen::platform - Move platform files into
>> > place.....................done.
>> > gen::config_pm - Record configuration data for later
>> > retrieval......done.
>> > Okay, we're done!
>> >
>> > You can now use `make' to build your Parrot.
>> > After that, you can use `make test' to run the test suite.
>> >
>> > Happy Hacking,
>> > The Parrot Team
>> >
>> >
>> > Thanks to you!
>> >
>> >
>> >
>> > 2009/11/24 Andrew Whitworth <wknight8111 at gmail.com>
>> >>
>> >> This is a very interesting problem. I was on x64 Ubuntu 9.04 when
>> >> 1.4.0 came out and didn't see any problems. Although I do know that
>> >> the 9.10 upgrade was very disruptive in a number of ways and could
>> >> have changed some dependency stuff.
>> >>
>> >> Here's what we need to start debugging:
>> >>
>> >> 1) "make realclean"
>> >> 2) Copy the output of Configure.pl and attach it
>> >>
>> >>
>> >> Thanks,
>> >>
>> >> --Andrew Whitworth
>> >>
>> >>
>> >>
>> >> On Tue, Nov 24, 2009 at 7:18 AM, Alessio Giovanni Baroni
>> >> <alessiogiovanni.baroni at gmail.com> wrote:
>> >> > From here: http://ftp.parrot.org/releases/stable/1.4.0/
>> >> >
>> >> >
>> >> > 2009/11/24 Andrew Whitworth <wknight8111 at gmail.com>
>> >> >>
>> >> >> Very interesting issue. How did you get 1.4.0, did you download the
>> >> >> tarball, get it from SVN, or pick it up from somewhere else?
>> >> >>
>> >> >> --Andrew Whitworth
>> >> >>
>> >> >>
>> >> >>
>> >> >> On Tue, Nov 24, 2009 at 7:03 AM, Alessio Giovanni Baroni
>> >> >> <alessiogiovanni.baroni at gmail.com> wrote:
>> >> >> > Hi to all,
>> >> >> > I compiling parrot with the follow options: perl Configure.pl
>> >> >> > --prefix=/opt/ParrotVM --optimize='-O3' --jitcapable
>> >> >> > --parrot_is_shared.
>> >> >> > My machine is Ubuntu 9.10 (64 bit)
>> >> >> > But I have the follow error:
>> >> >> >
>> >> >> > make[1]: uscita dalla directory
>> >> >> > «/home/alessio/Scaricati/parrot-1.4.0/src/dynoplibs»
>> >> >> > make -C compilers/pct
>> >> >> > make[1]: ingresso nella directory
>> >> >> > «/home/alessio/Scaricati/parrot-1.4.0/compilers/pct»
>> >> >> > ../../parrot -o ../../runtime/parrot/library/PCT.pbc --output-pbc
>> >> >> > PCT.pir
>> >> >> > ../../parrot -o ../../runtime/parrot/library/PCT/PAST.pbc
>> >> >> > --output-pbc
>> >> >> > src/PAST.pir
>> >> >> > error:imcc:No such file or directory
>> >> >> > in file 'src/PAST/Compiler.pir' line 41
>> >> >> > included from 'src/PAST.pir' line 1
>> >> >> > make[1]: *** [../../runtime/parrot/library/PCT.pbc] Errore 2
>> >> >> > make[1]: uscita dalla directory
>> >> >> > «/home/alessio/Scaricati/parrot-1.4.0/compilers/pct»
>> >> >> > make: *** [compilers.dummy] Errore 2
>> >> >> >
>> >> >> > Why?
>> >> >> >
>> >> >> > _______________________________________________
>> >> >> > Parrot-users mailing list
>> >> >> > Parrot-users at lists.parrot.org
>> >> >> > http://lists.parrot.org/mailman/listinfo/parrot-users
>> >> >> >
>> >> >> >
>> >> >
>> >> >
>> >
>> >
>
>
More information about the Parrot-users
mailing list