Issue 590 - 1.2.10 build problems under Digital UNIX 4.0D
Summary: 1.2.10 build problems under Digital UNIX 4.0D
Status: VERIFIED FIXED
Alias: None
Product: OpenLDAP
Classification: Unclassified
Component: build (show other issues)
Version: unspecified
Hardware: All All
: --- normal
Target Milestone: ---
Assignee: OpenLDAP project
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2000-06-13 14:18 UTC by support@thewrittenword.com
Modified: 2014-08-01 21:05 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this issue.
Description Kurt Zeilenga 2000-06-13 08:24:34 UTC
changed notes
changed state Open to Test
moved from Incoming to Build
Comment 1 Kurt Zeilenga 2000-06-13 08:24:52 UTC
changed state Test to Feedback
Comment 2 support@thewrittenword.com 2000-06-13 14:18:44 UTC
Full_Name: The Written Word (support)
Version: 1.2.10
OS: Digital UNIX 4.0D
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (216.80.72.157)


When building libbackends.a in servers/slapd, Digital UNIX 4.0D gives
the error:
gmake[5]: Entering directory
`/opt/build/openldap-1.2.10/servers/slapd'
ar: Warning: creating libbackends.a
a - ldbmabandon.o
a - ldbmadd.o
a - ldbmalias.o
a - ldbmattr.o
a - ldbmbind.o
a - ldbmcache.o
a - ldbmclose.o
a - ldbmcompare.o
a - ldbmconfig.o
a - ldbmdbcache.o
a - ldbmdelete.o
a - ldbmdn2id.o
a - ldbmfilterindex.o
a - ldbmgroup.o
a - ldbmid2children.o
a - ldbmid2entry.o
a - ldbmidl.o
a - ldbmindex.o
a - ldbminit.o
a - ldbmkerberos.o
a - ldbmmodify.o
a - ldbmmodrdn.o
a - ldbmnextid.o
a - ldbmsearch.o
a - ldbmunbind.o
a - ldbmversion.o
added backend library back-ldbm/libback-ldbm.a
ar: Error: ________64ELEL_ cannot create
a - passwdconfig.o
a - passwdsearch.o
a - passwdversion.o
added backend library back-passwd/libback-passwd.a
ar: Error: ________64ELEL_ cannot create
a - shellabandon.o
a - shelladd.o
a - shellbind.o
a - shellcompare.o
a - shellconfig.o
a - shelldelete.o
a - shellfork.o
a - shellinit.o
a - shellmodify.o
a - shellmodrdn.o
a - shellresult.o
a - shellsearch.o
a - shellunbind.o
a - shellversion.o
added backend library back-shell/libback-shell.a
-rw-rw-r--   1 china    src      2453018 May 18 21:27 libbackends.a

The following code snippet from servers/slapd/Makefile builds
libbackends.a:
libbackends.a: .backend
        @$(RM) -r tmp
        @$(MKDIR) tmp
        @-for i in back-*/*.a; do \
                ( \
                  cd tmp; \
                  $(AR) x ../$$i; \
                  pre=`echo $$i | sed -e 's/\/.*$$//' -e 's/back-//'`; \
                  for j in *.o; do \
                        mv $$j $${pre}$$j; \
                  done; \
                  $(AR) ruv libbackends.a *.o 2>&1 | grep -v truncated; \
                  $(RM) *.o __.SYMDEF; \
                  echo "added backend library $$i"; \
                ); \
        done
        @mv -f tmp/libbackends.a ./libbackends.a
        @$(RM) -r tmp
        @if [ ! -z "$(RANLIB)" ]; then \
                $(RANLIB) libbackends.a; \
        fi
        @ls -l libbackends.a

The contents of one of the back-*/*.a files (say
back-passwd/libback-passwd.a) is:
  % ar t back-passwd/libback-passwd.a
  ________64ELEL_
  search.o
  config.o
  version.o
When extracting the files in this archive (as is done in the code
snippet above), "________64ELEL_" is created with permission 000. So,
there is no error when the first back-*/*.a file is extracted. When
the second is extracted, it tries to overwrite tmp/________64ELEL_
which is not allowed, hence the "ar: Error: ________64ELEL_ cannot
create" error in the error above. The patch attached fixes the
problem.

-- snip snip
--- servers/slapd/Makefile.in.orig      Fri May 19 09:38:41 2000
+++ servers/slapd/Makefile.in   Fri May 19 09:38:52 2000
@@ -64,7 +64,7 @@
                        mv $$j $${pre}$$j; \
                  done; \
                  $(AR) ruv libbackends.a *.o 2>&1 | grep -v truncated; \
-                 $(RM) *.o __.SYMDEF; \
+                 $(RM) *.o __.SYMDEF ________64ELEL_; \
                  echo "added backend library $$i"; \
                ); \
        done

Comment 3 Kurt Zeilenga 2000-06-16 11:47:07 UTC
changed notes
changed state Feedback to Release
Comment 4 Kurt Zeilenga 2000-06-16 18:46:43 UTC
Applied to OPENLDAP_REL_ENG_1_2, please test.

At 02:18 PM 6/13/00 GMT, support@thewrittenword.com wrote:
>Full_Name: The Written Word (support)
>Version: 1.2.10
>OS: Digital UNIX 4.0D
>URL: ftp://ftp.openldap.org/incoming/
>Submission from: (NULL) (216.80.72.157)
>
>
>When building libbackends.a in servers/slapd, Digital UNIX 4.0D gives
>the error:
>gmake[5]: Entering directory
>`/opt/build/openldap-1.2.10/servers/slapd'
>ar: Warning: creating libbackends.a
>a - ldbmabandon.o
>a - ldbmadd.o
>a - ldbmalias.o
>a - ldbmattr.o
>a - ldbmbind.o
>a - ldbmcache.o
>a - ldbmclose.o
>a - ldbmcompare.o
>a - ldbmconfig.o
>a - ldbmdbcache.o
>a - ldbmdelete.o
>a - ldbmdn2id.o
>a - ldbmfilterindex.o
>a - ldbmgroup.o
>a - ldbmid2children.o
>a - ldbmid2entry.o
>a - ldbmidl.o
>a - ldbmindex.o
>a - ldbminit.o
>a - ldbmkerberos.o
>a - ldbmmodify.o
>a - ldbmmodrdn.o
>a - ldbmnextid.o
>a - ldbmsearch.o
>a - ldbmunbind.o
>a - ldbmversion.o
>added backend library back-ldbm/libback-ldbm.a
>ar: Error: ________64ELEL_ cannot create
>a - passwdconfig.o
>a - passwdsearch.o
>a - passwdversion.o
>added backend library back-passwd/libback-passwd.a
>ar: Error: ________64ELEL_ cannot create
>a - shellabandon.o
>a - shelladd.o
>a - shellbind.o
>a - shellcompare.o
>a - shellconfig.o
>a - shelldelete.o
>a - shellfork.o
>a - shellinit.o
>a - shellmodify.o
>a - shellmodrdn.o
>a - shellresult.o
>a - shellsearch.o
>a - shellunbind.o
>a - shellversion.o
>added backend library back-shell/libback-shell.a
>-rw-rw-r--   1 china    src      2453018 May 18 21:27 libbackends.a
>
>The following code snippet from servers/slapd/Makefile builds
>libbackends.a:
>libbackends.a: .backend
>        @$(RM) -r tmp
>        @$(MKDIR) tmp
>        @-for i in back-*/*.a; do \
>                ( \
>                  cd tmp; \
>                  $(AR) x ../$$i; \
>                  pre=`echo $$i | sed -e 's/\/.*$$//' -e 's/back-//'`; \
>                  for j in *.o; do \
>                        mv $$j $${pre}$$j; \
>                  done; \
>                  $(AR) ruv libbackends.a *.o 2>&1 | grep -v truncated; \
>                  $(RM) *.o __.SYMDEF; \
>                  echo "added backend library $$i"; \
>                ); \
>        done
>        @mv -f tmp/libbackends.a ./libbackends.a
>        @$(RM) -r tmp
>        @if [ ! -z "$(RANLIB)" ]; then \
>                $(RANLIB) libbackends.a; \
>        fi
>        @ls -l libbackends.a
>
>The contents of one of the back-*/*.a files (say
>back-passwd/libback-passwd.a) is:
>  % ar t back-passwd/libback-passwd.a
>  ________64ELEL_
>  search.o
>  config.o
>  version.o
>When extracting the files in this archive (as is done in the code
>snippet above), "________64ELEL_" is created with permission 000. So,
>there is no error when the first back-*/*.a file is extracted. When
>the second is extracted, it tries to overwrite tmp/________64ELEL_
>which is not allowed, hence the "ar: Error: ________64ELEL_ cannot
>create" error in the error above. The patch attached fixes the
>problem.
>
>-- snip snip
>--- servers/slapd/Makefile.in.orig      Fri May 19 09:38:41 2000
>+++ servers/slapd/Makefile.in   Fri May 19 09:38:52 2000
>@@ -64,7 +64,7 @@
>                        mv $$j $${pre}$$j; \
>                  done; \
>                  $(AR) ruv libbackends.a *.o 2>&1 | grep -v truncated; \
>-                 $(RM) *.o __.SYMDEF; \
>+                 $(RM) *.o __.SYMDEF ________64ELEL_; \
>                  echo "added backend library $$i"; \
>                ); \
>        done
>
>
>
>
Comment 5 Kurt Zeilenga 2000-09-01 11:53:48 UTC
changed state Release to Closed
Comment 6 OpenLDAP project 2014-08-01 21:05:08 UTC
Added to devel and re12