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

Subsystems: kernel build + files below scripts/ (unless maintained elsewhere), the rest

DORMANTno replies

6 messages, 2 authors, 2016-06-15 · open the first message on its own page

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

From: Miklos Vajna <hidden>
Date: 2016-06-15 22:45:13

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 <redacted>
---

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(-)
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

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

From: Robert Schiele <hidden>
Date: 2016-06-15 22:45:13

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."

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

From: Miklos Vajna <hidden>
Date: 2016-06-15 22:45:13

On Sat, Aug 23, 2008 at 10:09:28PM +0200, Robert Schiele [off-list ref] 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

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

From: Robert Schiele <hidden>
Date: 2016-06-15 22:45:13

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 [off-list ref] wrote:
quoted
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] % 
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."

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

From: Miklos Vajna <hidden>
Date: 2016-06-15 22:45:13

On Sat, Aug 23, 2008 at 11:02:43PM +0200, Robert Schiele [off-list ref] wrote:
On Sat, Aug 23, 2008 at 10:26:01PM +0200, Miklos Vajna wrote:
quoted
On Sat, Aug 23, 2008 at 10:09:28PM +0200, Robert Schiele [off-list ref] wrote:
quoted
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.

[PATCH] Makefile: enable SNPRINTF_RETURNS_BOGUS for HP-UX

From: Miklos Vajna <hidden>
Date: 2016-06-15 22:45:13

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 <redacted>
---
 Makefile |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help