Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

"make install" modifies the source directory. #985

Closed
p5pRT opened this issue Dec 23, 1999 · 2 comments
Closed

"make install" modifies the source directory. #985

p5pRT opened this issue Dec 23, 1999 · 2 comments

Comments

@p5pRT
Copy link

p5pRT commented Dec 23, 1999

Migrated from rt.perl.org#1933 (status was 'resolved')

Searchable as RT1933$

@p5pRT
Copy link
Author

p5pRT commented Dec 23, 1999

From @Abigail

I usually build Perl as a normal user, but have a different user that
owns the installed files, a user not equal to root. That's the user
I run 'make install' as.

It turns out that if you build Perl as one user, then run 'make install'
as another - the installation isn't complete (unless you are root, or
have enough write permission). However, you will only notice it if you
monitor what's scrolling by rapidly - no error is reported.

make install will manify the README.* files, by first making a symbolic
link in the pod directory to the README.* files, then creating a program
'extra.pods' in the build directory. Both actions require write permission.

I think it would be more appropriate if one of the following was done​:
  - 'make' creates the symbolic links and the program 'extra.pods'.
  - The symbolic links and 'extra.pods' are created in /tmp, or some
  other place with write permission.
  - 'make install' should tell *at the end* what has failed, not bury
  an error message in several thousands of lines of output.

Abigail

Perl Info


Site configuration information for perl 5.00563:

Configured by abigail at Wed Dec 22 17:25:59 EST 1999.

Summary of my perl5 (revision 5.0 version 5 subversion 63) configuration:
  Platform:
    osname=linux, osvers=2.2.13, archname=i686-linux
    uname='linux alexandra 2.2.13 #2 wed nov 3 12:57:15 est 1999 i686 unknown '
    config_args='-d -Dprefix=/opt/devperl -Uinstallusrbinperl -Doptimize=-g'
    hint=recommended, useposix=true, d_sigaction=define
    usethreads=undef useperlio=undef d_sfio=undef
    use64bits=undef usemultiplicity=undef
  Compiler:
    cc='cc', optimize='-g', gccversion=2.95.2 19991024 (release)
    cppflags='-Dbool=char -DHAS_BOOL -DDEBUGGING -fno-strict-aliasing -I/usr/local/include'
    ccflags ='-Dbool=char -DHAS_BOOL -DDEBUGGING -fno-strict-aliasing -I/usr/local/include'
    stdchar='char', d_stdstdio=define, usevfork=false
    intsize=4, longsize=4, ptrsize=4, doublesize=8
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
    alignbytes=4, usemymalloc=n, prototype=define
  Linker and Libraries:
    ld='cc', ldflags =' -L/usr/local/lib'
    libpth=/usr/local/lib /lib /usr/lib
    libs=-lnsl -lndbm -lgdbm -ldbm -ldb -ldl -lm -lc -lposix -lcrypt
    libc=/lib/libc-2.1.2.so, so=so, useshrplib=false, libperl=libperl.a
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-rdynamic'
    cccdlflags='-fpic', lddlflags='-shared -L/usr/local/lib'

Locally applied patches:
    


@INC for perl 5.00563:
    /home/abigail/Perl
    /home/abigail/Sybase
    /opt/devperl/lib/5.00563/i686-linux
    /opt/devperl/lib/5.00563
    /opt/devperl/lib/site_perl/5.00563/i686-linux
    /opt/devperl/lib/site_perl
    .


Environment for perl 5.00563:
    HOME=/home/abigail
    LANG (unset)
    LANGUAGE (unset)
    LD_LIBRARY_PATH=/home/abigail/Lib:/usr/local/lib:/usr/lib:/lib:/usr/X11R6/lib
    LOGDIR (unset)
    PATH=/home/abigail/Bin:/opt/perl/bin:/usr/local/bin:/usr/local/X11/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/X11R6/bin:/usr/games:/opt/povray/bin:/opt/teTeX/bin/i686-pc-linux-gnu
    PERL5LIB=/home/abigail/Perl:/home/abigail/Sybase
    PERLDIR=/opt/perl
    PERL_BADLANG (unset)
    SHELL=/bin/bash

@p5pRT
Copy link
Author

p5pRT commented Jan 5, 2000

From @gsar

On 23 Dec 1999 09​:14​:03 GMT, abigail@​delanet.com wrote​:

I think it would be more appropriate if one of the following was done​:
- 'make' creates the symbolic links and the program 'extra.pods'.
- The symbolic links and 'extra.pods' are created in /tmp, or some
other place with write permission.
- 'make install' should tell *at the end* what has failed, not bury
an error message in several thousands of lines of output.

Please try this.

Sarathy
gsar@​ActiveState.com

Inline Patch
-----------------------------------8<-----------------------------------
Change 4712 by gsar@auger on 1999/12/28 02:30:55

	avoid creating new files during make install

Affected files ...

... //depot/perl/Makefile.SH#92 edit

Differences ...

==== //depot/perl/Makefile.SH#92 (text) ====
Index: perl/Makefile.SH
--- perl/Makefile.SH.~1~	Wed Jan  5 10:55:41 2000
+++ perl/Makefile.SH	Wed Jan  5 10:55:41 2000
@@ -261,7 +261,7 @@
 .c$(OBJ_EXT):
 	$(CCCMD) $(PLDLFLAGS) $*.c
 
-all: $(FIRSTMAKEFILE) miniperl $(private) $(public) $(dynamic_ext) $(nonxs_ext)
+all: $(FIRSTMAKEFILE) miniperl extra.pods $(private) $(public) $(dynamic_ext) $(nonxs_ext)
 	@echo " ";
 	@echo "	Everything is up to date. 'make test' to run test suite."
 
@@ -505,7 +505,7 @@
 $(plextract):	miniperl lib/Config.pm lib/re.pm
 	$(LDLIBPTH) ./miniperl -Ilib $@.PL
 
-extra.pods: perl
+extra.pods: miniperl
 	-@test -f extra.pods && rm -f `cat extra.pods`
 	-@rm -f extra.pods
 	-@for x in `grep -l '^=[a-z]' README.*` ; do \
@@ -516,7 +516,7 @@
 
 install: all install.perl install.man
 
-install.perl:	all extra.pods installperl
+install.perl:	all installperl
 	if [ -n "$(COMPILE)" ]; \
 	then \
 		cd utils; $(MAKE) compile; \
@@ -526,7 +526,7 @@
 	fi
 	$(LDLIBPTH) ./perl installperl
 
-install.man:	all extra.pods installman
+install.man:	all installman
 	$(LDLIBPTH) ./perl installman
 
 # XXX Experimental. Hardwired values, but useful for testing.
End of Patch.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant