# New Ticket Created by  Nicholas Clark 
# Please include the string:  [perl #31208]
# in the subject line of all future correspondence about this issue. 
# <URL: http://rt.perl.org:80/rt3/Ticket/Display.html?id=31208 >


---
osname= darwin
osvers= 7.3.0
arch=   darwin-64int-2level
cc=     ccache gcc 
---
Flags:
    category=core
    severity=high
    ack=no
---
On OS X, if I attempt to follow the instructions in dynclasses/README, it
fails during make -C dynclasses

First failure is:

$ make -C dynclasses
/Users/nick/Sandpit/maint/bin/perl5.8.3 ../classes/pmc2c2.pl --dump foo.pmc
/Users/nick/Sandpit/maint/bin/perl5.8.3 ../classes/pmc2c2.pl --c foo.pmc
can't find file 'foo.dump' in path '/Users/nick/Parrot/parrot24/classes/..', 
'/Users/nick/Parrot/parrot24/classes' at ../classes/pmc2c2.pl line 242.
make: *** [foo.c] Error 2


I hack round this with

$ cp dynclasses/foo.dump .

And try again:

$ make -C dynclasses
/Users/nick/Sandpit/maint/bin/perl5.8.3 ../classes/pmc2c2.pl --dump foo.pmc
Use of uninitialized value in numeric gt (>) at ../classes/pmc2c2.pl line 488.
/Users/nick/Sandpit/maint/bin/perl5.8.3 ../classes/pmc2c2.pl --c foo.pmc
env MACOSX_DEPLOYMENT_TARGET=10.3 cc -pipe -fno-common -no-cpp-precomp  -pipe 
-fno-common -Wno-long-double  -g -Dan_Sugalski -Larry -Wall -Wstrict-prototypes 
-Wmissing-prototypes -Winline -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings 
-Waggregate-return -Winline -W -Wno-unused -Wsign-compare -Wformat-nonliteral 
-Wformat-security -Wpacked -Wdisabled-optimization -falign-functions=16 -Wno-shadow  
-DHAS_JIT -DPPC -DHAVE_COMPUTED_GOTO  -bundle -undefined dynamic_lookup   \
-o foo.dylib \
        -I../include -I../classes \
        -L../blib/lib -lparrot foo.c
ld: warning -L: directory name (arry) does not exist
ld: ../blib/lib/libparrot.dylib is input for the dynamic link editor, is not 
relocatable by the static link editor again
make: *** [foo.dylib] Error 1


I'm not sure what the problem is, as ../blib/lib/libparrot.dylib does exist,
and is being found, but we seem to be making some .so specific assumptions
here, or maybe some x86 specific assumptions. I'm not sure how to do this
portably.


Note also that make -C is *not* portable. It's a gnu make-ism.
And that LD_LIBRARY_PATH instruction isn't portable either.

Nicholas Clark
---
Summary of my parrot 0.1.0 configuration:
  configdate='Tue Aug 17 12:12:23 2004'
  Platform:
    osname=darwin, archname=darwin-2level
    jitcapable=1, jitarchname=ppc-darwin,
    jitosname=DARWIN, jitcpuarch=ppc
    execcapable=1
    perl=/Users/nick/Sandpit/maint/bin/perl5.8.3
  Compiler:
    cc='ccache gcc', ccflags='-pipe -fno-common -no-cpp-precomp  -pipe -fno-common 
-Wno-long-double ',
  Linker and Libraries:
    ld='env MACOSX_DEPLOYMENT_TARGET=10.3 cc', ldflags=' -flat_namespace ',
    cc_ldflags='',
    libs='-lm'
  Dynamic Linking:
    so='.dylib', ld_shared=' -bundle -undefined dynamic_lookup',
    ld_shared_flags=''
  Types:
    iv=long, intvalsize=4, intsize=4, opcode_t=long, opcode_t_size=4,
    ptrsize=4, ptr_alignment=1 byteorder=4321, 
    nv=double, numvalsize=8, doublesize=8

---
Environment:
    DYLD_LIBRARY_PATH    HOME    LANG    LANGUAGE    LD_LIBRARY_PATH    LOGDIR    PATH 
   PERL5LIB    SHELL

Reply via email to