Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[perl #31807] make install not portable

0 views
Skip to first unread message

Nicholas Clark

unread,
Oct 2, 2004, 9:32:00 AM10/2/04
to bugs-bi...@rt.perl.org
# New Ticket Created by Nicholas Clark
# Please include the string: [perl #31807]
# in the subject line of all future correspondence about this issue.
# <URL: http://rt.perl.org:80/rt3/Ticket/Display.html?id=31807 >


---
osname= linux
osvers= 2.6.8-1-686
arch= i386-linux-thread-multi
cc= cc
---
Flags:
category=core
severity=medium
ack=no
---
$ make install
/home/nick/Install/bin/perl5.8.4 tools/dev/install_files.pl --buildprefix= --prefix=/home/nick/Install/parrot --exec-prefix=/home/nick/Install/parrot --bindir=/home/nick/Install/parrot/bin --libdir=/home/nick/Install/parrot/lib --includedir=/home/nick/Install/parrot/include MANIFEST MANIFEST.generated | sh


We have perl. Which is guaranteed to be on all platforms we build on.
So why are we making a big list of commands and then feeding them to Unix
shell? Which isn't going to be on all platforms that we build on.

Nicholas Clark
---
Summary of my parrot 0.1.0 configuration:
configdate='Sat Oct 2 13:54:02 2004'
Platform:
osname=linux, archname=i686-linux
jitcapable=1, jitarchname=i386-linux,
jitosname=LINUX, jitcpuarch=i386
execcapable=1
perl=/home/nick/Install/bin/perl5.8.4
Compiler:
cc='ccache gcc', ccflags=' -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
Linker and Libraries:
ld='gcc', ldflags=' -L/usr/local/lib',
cc_ldflags='',
libs='-lnsl -ldl -lm -lcrypt -lutil -lpthread -lrt'
Dynamic Linking:
so='.so', ld_shared='-shared -L/usr/local/lib -fPIC',
ld_shared_flags=''
Types:
iv=long, intvalsize=4, intsize=4, opcode_t=long, opcode_t_size=4,
ptrsize=4, ptr_alignment=1 byteorder=1234,
nv=double, numvalsize=8, doublesize=8

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

Steve Fink

unread,
Oct 4, 2004, 12:19:54 AM10/4/04
to perl6-i...@perl.org
On Oct-02, Nicholas Clark wrote:
> $ make install
> /home/nick/Install/bin/perl5.8.4 tools/dev/install_files.pl --buildprefix= --prefix=/home/nick/Install/parrot --exec-prefix=/home/nick/Install/parrot --bindir=/home/nick/Install/parrot/bin --libdir=/home/nick/Install/parrot/lib --includedir=/home/nick/Install/parrot/include MANIFEST MANIFEST.generated | sh
>
> We have perl. Which is guaranteed to be on all platforms we build on.
> So why are we making a big list of commands and then feeding them to Unix
> shell? Which isn't going to be on all platforms that we build on.

Because long ago, when I implemented 'make install', I only did the
minimum necessary to get RPM building working. And RPMs don't work so
well on Windows, or so I hear. The "generate a script and pipe it
through sh" approach is something I frequently use when cooking things
up quickly, because you can develop without the pipe, and then when
everything looks good, add it on and know what's going on. It's a nice
way to get visibility into what something's doing. And the script itself
uses forward slashes everwhere, so why bother pretending to be portable?

Not that any of this matters. I've committed fixes to hopefully make it
work portably. Of course, the MANIFEST.generated file is woefully
incomplete, so the files actually installed aren't terribly useful.

0 new messages