[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: (forw) #240677 shadow: FTBFS: cannot compile sub.c



On Sun, Mar 28, 2004 at 10:28:49PM +0200, Christian Perrier wrote:
> This happend while I was trying to build a NMU for getting all shadow
> translations out of BTS....
> 
> Can someone with more coding skills than me have a look at it?
> 
> ----- Forwarded message from Christian Perrier <bubulle@debian.org> -----
...
> if /bin/sh ../libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -I.. -I../lib    -O2 -Wall -MT sub.lo -MD -MP -MF ".deps/sub.Tpo" \
>   -c -o sub.lo `test -f 'sub.c' || echo './'`sub.c; \
> then mv -f ".deps/sub.Tpo" ".deps/sub.Plo"; \
> else rm -f ".deps/sub.Tpo"; exit 1; \
> fi
> gcc -DHAVE_CONFIG_H -I. -I. -I.. -I.. -I../lib -O2 -Wall -MT sub.lo -MD -MP -MF .deps/sub.Tpo -c sub.c -o sub.o
> sub.c: In function `subsystem':
> sub.c:81: error: increment of read-only member `pw_shell'
> make[3]: *** [sub.lo] Erreur 1
> make[3]: quittant le r?pertoire ? /home/bubulle/src/debian/shadow/shadow-4.0.3/libmisc ?
> make[2]: *** [all-recursive] Erreur 1
> make[2]: quittant le r?pertoire ? /home/bubulle/src/debian/shadow/shadow-4.0.3 ?
> make[1]: *** [all] Erreur 2
> make[1]: quittant le r?pertoire ? /home/bubulle/src/debian/shadow/shadow-4.0.3 ?
> make: *** [build] Erreur 2

GCC has become much more sensitive about writes to read-only
variables recently.  The attached patch should fix the problem.

-- 
Matt Kraai            kraai@ftbfs.org            http://ftbfs.org/
diff -ru shadow-4.0.3-old/lib/prototypes.h shadow-4.0.3/lib/prototypes.h
--- shadow-4.0.3-old/lib/prototypes.h	2004-03-29 00:27:22.000000000 -0800
+++ shadow-4.0.3/lib/prototypes.h	2004-03-29 00:29:58.000000000 -0800
@@ -203,7 +203,7 @@
 extern void sulog(const char *, int, const char *, const char *);
 
 /* sub.c */
-extern void subsystem(const struct passwd *);
+extern void subsystem(struct passwd *);
 
 /* ttytype.c */
 extern void ttytype(const char *);
diff -ru shadow-4.0.3-old/libmisc/sub.c shadow-4.0.3/libmisc/sub.c
--- shadow-4.0.3-old/libmisc/sub.c	2004-03-29 00:27:22.000000000 -0800
+++ shadow-4.0.3/libmisc/sub.c	2004-03-29 00:29:39.000000000 -0800
@@ -51,7 +51,7 @@
  */
 
 void
-subsystem(const struct passwd *pw)
+subsystem(struct passwd *pw)
 {
 	/*
 	 * The new root directory must begin with a "/" character.

Reply to: