threads / patch / 15182

patchMakefile: improve customization for supporting HP-UX

Subject: [PATCH] Makefile: improve customization for supporting HP-UX

## tl;dr

8 messages between Aug 23, 2008 and Aug 24, 2008. Diffs are folded; open one to read it.

replies: 7people: 3as markdown or json

Miklos Vajna· Aug 23, 2008, 19:41 UTC · lore

In 81cc66a, customization has been added to Makefile for supporting HP-UX, but two minor tweaks are still necessary, at least on older versions like 11.11.

Signed-off-by: Miklos Vajna <vmiklos@frugalware.org>
---

Cc'ing Robert, it would be interesting to know how did he succeed to build without this patch.

 Makefile |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)
Show changes to Makefile +2 −0
diff --git a/Makefile b/Makefile
index 5e944d8..7fb35ca 100644
--- a/Makefile
+++ b/Makefile
@@ -735,6 +735,8 @@ ifeq ($(uname_S),HP-UX)
 	NO_UNSETENV = YesPlease
 	NO_HSTRERROR = YesPlease
 	NO_SYS_SELECT_H = YesPlease
+	NEEDS_LIBICONV = YesPlease
+	SNPRINTF_RETURNS_BOGUS = YesPlease
 endif
 ifneq (,$(findstring MINGW,$(uname_S)))
 	NO_MMAP = YesPlease
-- 
1.6.0.rc3.17.gc14c8.dirty
Robert Schiele· Aug 23, 2008, 20:09 UTC · re: Miklos Vajna · lore

Re: [PATCH] Makefile: improve customization for supporting HP-UX

On Sat, Aug 23, 2008 at 09:41:24PM +0200, Miklos Vajna wrote:
> Cc'ing Robert, it would be interesting to know how did he succeed to
> build without this patch.

Well, it just worked though I cannot give a guarantee that there is not a flaw somewhere in the binaries since these machines are not our main development machines and most developers use git itself on another system that shares the same network directory.

The systems I build on are:

1x HP-UX B.11.11 U 9000/785 2x HP-UX B.11.23 U ia64

If you tell us how your specific problem looks like I might have an idea why it does not occur to me.

Robert
-- 
Robert Schiele
Dipl.-Wirtsch.informatiker	mailto:rschiele@gmail.com

"Quidquid latine dictum sit, altum sonatur."
Miklos Vajna· Aug 23, 2008, 20:26 UTC · re: Robert Schiele · lore

Re: [PATCH] Makefile: improve customization for supporting HP-UX

On Sat, Aug 23, 2008 at 10:09:28PM +0200, Robert Schiele <rschiele@gmail.com> wrote:
> The systems I build on are:
> 
> 1x HP-UX B.11.11 U 9000/785
This is the same version I'm using at the moment.
The NEEDS_LIBICONV is simple, the linker fails to find iconv symbols:
/usr/ccs/bin/ld: Unsatisfied symbols:
   libiconv (first referenced in libgit.a(utf8.o)) (code)
   libiconv_open (first referenced in libgit.a(utf8.o)) (code)
   libiconv_close (first referenced in libgit.a(utf8.o)) (code)
collect2: ld returned 1 exit status
gmake: *** [git] Error 1

The SNPRINTF_RETURNS_BOGUS is not something you can notice compile-time, but once you try to commit, you get:

$ git commit fatal: your vsnprintf is broken

Robert Schiele· Aug 23, 2008, 21:02 UTC · re: Miklos Vajna · lore

Re: [PATCH] Makefile: improve customization for supporting HP-UX

On Sat, Aug 23, 2008 at 10:26:01PM +0200, Miklos Vajna wrote:
Show 15 quoted lines
> On Sat, Aug 23, 2008 at 10:09:28PM +0200, Robert Schiele <rschiele@gmail.com> wrote:
> > The systems I build on are:
> > 
> > 1x HP-UX B.11.11 U 9000/785
> 
> This is the same version I'm using at the moment.
> 
> The NEEDS_LIBICONV is simple, the linker fails to find iconv symbols:
> 
> /usr/ccs/bin/ld: Unsatisfied symbols:
>    libiconv (first referenced in libgit.a(utf8.o)) (code)
>    libiconv_open (first referenced in libgit.a(utf8.o)) (code)
>    libiconv_close (first referenced in libgit.a(utf8.o)) (code)
> collect2: ld returned 1 exit status
> gmake: *** [git] Error 1

Huh? Where does the "lib" prefix come from on your system? Do you have some custom iconv header file in the way? On my system I see:

[13] % nm /usr/lib/libc.2 | grep ^iconv iconv | 1255080|extern|entry | iconv | 1255112|extern|code |$CODE$ iconv_close | 1254800|extern|entry | iconv_close | 1254832|extern|code |$CODE$ iconv_open | 1255208|extern|entry | iconv_open | 1255272|extern|code |$CODE$ [14] %

Show 5 quoted lines
> The SNPRINTF_RETURNS_BOGUS is not something you can notice compile-time,
> but once you try to commit, you get:
> 
> $ git commit
> fatal: your vsnprintf is broken

Ok, I see that as well. Obviously nobody ever committed something on these machines. But since we use these machines mostly for building people need to be able to checkout stuff only in most cases and this is most likely why it passed unnoticed.

Thus I think the snprintf part of your patch makes sense but the iconv stuff seems to be something flawed on your machine.

Robert
-- 
Robert Schiele
Dipl.-Wirtsch.informatiker	mailto:rschiele@gmail.com

"Quidquid latine dictum sit, altum sonatur."
Miklos Vajna· Aug 23, 2008, 22:03 UTC · re: Robert Schiele · lore

Re: [PATCH] Makefile: improve customization for supporting HP-UX

On Sat, Aug 23, 2008 at 11:02:43PM +0200, Robert Schiele <rschiele@gmail.com> wrote:
Show 28 quoted lines
> On Sat, Aug 23, 2008 at 10:26:01PM +0200, Miklos Vajna wrote:
> > On Sat, Aug 23, 2008 at 10:09:28PM +0200, Robert Schiele <rschiele@gmail.com> wrote:
> > > The systems I build on are:
> > > 
> > > 1x HP-UX B.11.11 U 9000/785
> > 
> > This is the same version I'm using at the moment.
> > 
> > The NEEDS_LIBICONV is simple, the linker fails to find iconv symbols:
> > 
> > /usr/ccs/bin/ld: Unsatisfied symbols:
> >    libiconv (first referenced in libgit.a(utf8.o)) (code)
> >    libiconv_open (first referenced in libgit.a(utf8.o)) (code)
> >    libiconv_close (first referenced in libgit.a(utf8.o)) (code)
> > collect2: ld returned 1 exit status
> > gmake: *** [git] Error 1
> 
> Huh?  Where does the "lib" prefix come from on your system?  Do you have some
> custom iconv header file in the way?  On my system I see:
> 
> [13] % nm /usr/lib/libc.2 | grep ^iconv
> iconv               |   1255080|extern|entry  |
> iconv               |   1255112|extern|code   |$CODE$
> iconv_close         |   1254800|extern|entry  |
> iconv_close         |   1254832|extern|code   |$CODE$
> iconv_open          |   1255208|extern|entry  |
> iconv_open          |   1255272|extern|code   |$CODE$
> [14] % 

Ah, OK, that is specific to this machine. If you install the libiconv package, then #include <iconv.h> includes /usr/local/include/iconv.h where iconv is a define to libiconv. So that is not needed generally, thanks for pointing out.

> Thus I think the snprintf part of your patch makes sense but the iconv stuff
> seems to be something flawed on your machine.
OK, I'll send a patch with that part only in a bit.
Miklos Vajna· Aug 23, 2008, 22:07 UTC · re: Miklos Vajna · lore

[PATCH] Makefile: enable SNPRINTF_RETURNS_BOGUS for HP-UX

In 81cc66a, customization has been added to Makefile for supporting HP-UX, but git commit is still problematic. This should fix the issue.

Signed-off-by: Miklos Vajna <vmiklos@frugalware.org>
---
 Makefile |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
Show changes to Makefile +1 −0
diff --git a/Makefile b/Makefile
index 5e944d8..e5a4985 100644
--- a/Makefile
+++ b/Makefile
@@ -735,6 +735,7 @@ ifeq ($(uname_S),HP-UX)
 	NO_UNSETENV = YesPlease
 	NO_HSTRERROR = YesPlease
 	NO_SYS_SELECT_H = YesPlease
+	SNPRINTF_RETURNS_BOGUS = YesPlease
 endif
 ifneq (,$(findstring MINGW,$(uname_S)))
 	NO_MMAP = YesPlease
-- 
1.6.0.rc3.17.gc14c8.dirty
Junio C Hamano· Aug 24, 2008, 01:00 UTC · re: Miklos Vajna · lore

Re: [PATCH] Makefile: enable SNPRINTF_RETURNS_BOGUS for HP-UX

Miklos Vajna <vmiklos@frugalware.org> writes:
> In 81cc66a, customization has been added to Makefile for supporting
> HP-UX, but git commit is still problematic. This should fix the issue.
>
> Signed-off-by: Miklos Vajna <vmiklos@frugalware.org>

Is this missing "Tested-by: Robert"? I do not mind adding it myself -- just checking.

Robert Schiele· Aug 24, 2008, 04:33 UTC · re: Junio C Hamano · lore

Re: [PATCH] Makefile: enable SNPRINTF_RETURNS_BOGUS for HP-UX

On Sat, Aug 23, 2008 at 06:00:04PM -0700, Junio C Hamano wrote:
Show 9 quoted lines
> Miklos Vajna <vmiklos@frugalware.org> writes:
> 
> > In 81cc66a, customization has been added to Makefile for supporting
> > HP-UX, but git commit is still problematic. This should fix the issue.
> >
> > Signed-off-by: Miklos Vajna <vmiklos@frugalware.org>
> 
> Is this missing "Tested-by: Robert"?  I do not mind adding it myself --
> just checking.

It is tested by me, yes. On HP-UX B.11.11 U 9000/785 and HP-UX B.11.23 U ia64.

Robert
-- 
Robert Schiele
Dipl.-Wirtsch.informatiker	mailto:rschiele@gmail.com

"Quidquid latine dictum sit, altum sonatur."

← back to recent threads