[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