zsh-workers
 help / color / mirror / code / Atom feed
* Compiling zsh-4.0.2 on Mac OS X
@ 2001-07-24 23:58 Wes Morgan
  2001-07-25  5:31 ` Borsenkow Andrej
  2001-08-31 17:12 ` Brian Boonstra
  0 siblings, 2 replies; 8+ messages in thread
From: Wes Morgan @ 2001-07-24 23:58 UTC (permalink / raw)
  To: zsh-workers

I'm trying to compile zsh-4.0.2 on Mac OS X (10.0.4). I guess the linker 
is pretty weird (it's from Apple, not GNU). Here's where make fails:

cc  -s  -o zsh main.o  `cat stamp-modobjs`   -lm  -lc
/usr/bin/ld: can't use -s with input files containg indirect symbols 
(output file must contain at least global symbols, for maximum stripping 
use -x)
make[1]: *** [zsh] Error 1
make: *** [all] Error 1

Has anyone gotten zsh-4 to link on Darwin/Mac OS X? If not, any ideas 
what I could try to get this to work?

Wes Morgan


^ permalink raw reply	[flat|nested] 8+ messages in thread

* RE: Compiling zsh-4.0.2 on Mac OS X
  2001-07-24 23:58 Compiling zsh-4.0.2 on Mac OS X Wes Morgan
@ 2001-07-25  5:31 ` Borsenkow Andrej
  2001-07-30 15:27   ` Clint Adams
  2001-08-31 17:12 ` Brian Boonstra
  1 sibling, 1 reply; 8+ messages in thread
From: Borsenkow Andrej @ 2001-07-25  5:31 UTC (permalink / raw)
  To: Wes Morgan, zsh-workers

>
> I'm trying to compile zsh-4.0.2 on Mac OS X (10.0.4). I guess the linker
> is pretty weird (it's from Apple, not GNU). Here's where make fails:
>
> cc  -s  -o zsh main.o  `cat stamp-modobjs`   -lm  -lc
> /usr/bin/ld: can't use -s with input files containg indirect symbols
> (output file must contain at least global symbols, for maximum stripping
> use -x)
> make[1]: *** [zsh] Error 1
> make: *** [all] Error 1
>
> Has anyone gotten zsh-4 to link on Darwin/Mac OS X? If not, any ideas
> what I could try to get this to work?
>

The first try is to configure with --enable-zsh-debug. This is the simplest
method to turn off -s (strip) flag.

Of course, if you can figure out what these "indirect symbols" are (some
linkers provide verbose flags) it would be really helpful.

-andrej


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Compiling zsh-4.0.2 on Mac OS X
  2001-07-25  5:31 ` Borsenkow Andrej
@ 2001-07-30 15:27   ` Clint Adams
  0 siblings, 0 replies; 8+ messages in thread
From: Clint Adams @ 2001-07-30 15:27 UTC (permalink / raw)
  To: Borsenkow Andrej; +Cc: Wes Morgan, zsh-workers

> The first try is to configure with --enable-zsh-debug. This is the simplest
> method to turn off -s (strip) flag.

Oddly enough, the documentation seems to claim that -s is the same
as -S (don't assemble).  I guess it's wrong.


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Compiling zsh-4.0.2 on Mac OS X
  2001-07-24 23:58 Compiling zsh-4.0.2 on Mac OS X Wes Morgan
  2001-07-25  5:31 ` Borsenkow Andrej
@ 2001-08-31 17:12 ` Brian Boonstra
  2001-08-31 17:56   ` Oliver Kiddle
  1 sibling, 1 reply; 8+ messages in thread
From: Brian Boonstra @ 2001-08-31 17:12 UTC (permalink / raw)
  To: Wes Morgan; +Cc: zsh-workers

You wrote:
> I'm trying to compile zsh-4.0.2 on Mac OS X (10.0.4). I guess the linker
> is pretty weird (it's from Apple, not GNU). Here's where make fails:
>
> cc  -s  -o zsh main.o  `cat stamp-modobjs`   -lm  -lc
> /usr/bin/ld: can't use -s with input files containg indirect symbols
> (output file must contain at least global symbols, for maximum stripping
> use -x)
> make[1]: *** [zsh] Error 1
> make: *** [all] Error 1
>
> Has anyone gotten zsh-4 to link on Darwin/Mac OS X? If not, any ideas
> what I could try to get this to work?


Hi Wes

  I solved this by running

          autoconf

in the top-level source directory.  That gave me a configure script with  
more options, including one for the ldflags, which I then set to be nothing.

  I suppose this is ultimately a problem with autoconf.


		Brian


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Compiling zsh-4.0.2 on Mac OS X
  2001-08-31 17:12 ` Brian Boonstra
@ 2001-08-31 17:56   ` Oliver Kiddle
  2001-09-23 21:43     ` Wes Morgan
  0 siblings, 1 reply; 8+ messages in thread
From: Oliver Kiddle @ 2001-08-31 17:56 UTC (permalink / raw)
  To: Brian Boonstra; +Cc: Wes Morgan, zsh-workers

Brian Boonstra wrote:
> 
>   I solved this by running
>           autoconf
> in the top-level source directory.  That gave me a configure script with
> more options, including one for the ldflags, which I then set to be nothing.

I take it there no problems with the clear ldflags then?

>   I suppose this is ultimately a problem with autoconf.

What version of autoconf do you have? I'd be suprised if 2.5x doesn't
handle MacOS X.

Judging by one section of zshconfig.ac, it is probably a zsh problem.
Can you try with this patch. You will need to rerun autoconf (or
Util/preconfig) or manually apply this to configure itself.

Does anyone know if ${enable_zsh_debug} is definitely empty for a no
value as I've assumed here? The -x option may not be right in which case
we could use nothing.

Oliver

Index: zshconfig.ac
===================================================================
RCS file: /cvsroot/zsh/zsh/zshconfig.ac,v
retrieving revision 1.17
diff -u -r1.17 zshconfig.ac
--- zshconfig.ac        2001/07/03 17:34:33     1.17
+++ zshconfig.ac        2001/08/31 17:47:17
@@ -307,6 +307,7 @@
 if test -n "$auto_ldflags"; then
   case "${enable_zsh_debug}$host_os" in
     yesaix*|yeshpux*|yesnetbsd*|yesopenbsd*) ;;  # "ld -g" is not valid
on these systems
+    darwin*) LDFLAGS=-x ;;
     yes*)    LDFLAGS=-g ;;
     *)       LDFLAGS=-s ;;
   esac

_____________________________________________________________________
This message has been checked for all known viruses by the 
MessageLabs Virus Scanning Service. For further information visit
http://www.messagelabs.com/stats.asp


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Compiling zsh-4.0.2 on Mac OS X
  2001-08-31 17:56   ` Oliver Kiddle
@ 2001-09-23 21:43     ` Wes Morgan
  2001-09-24  5:51       ` Borsenkow Andrej
  2001-09-27 14:19       ` Oliver Kiddle
  0 siblings, 2 replies; 8+ messages in thread
From: Wes Morgan @ 2001-09-23 21:43 UTC (permalink / raw)
  To: zsh-workers

This patch causes the "checking for executable suffix..." test in the 
configure script to fail with "compiler cannot create executables." The 
man page for ld on Mac OS X says that -x overlaps with a compiler option 
and that to invoke it from cc, it needs to be specified as "-Wl,-x". I 
changed this in the configure script and configure worked again. Then 
"make" succeeded, but "make check" had some problems. I don't know if 
they are specific to OS X or something I did/didn't do. Here's the errors:

Test ./C02cond.ztst failed: bad status 1, expected 0 from:
  [[ -k modish && ! -k zerolength ]]
Was testing: -k cond

Test ./Y01completion.ztst failed: non-zero status from preparation code:
  comptestinit -z $ZTST_testdir/../Src/zsh

Test ./Y01completion.ztst failed: bad status 1, expected 0 from:
  comptest $': \t\t\t\t\t\t\t'
Error output:
comptest:2: command not found: zpty
comptest:3: command not found: zpty
Was testing: directories and files

Test ./Y02compmatch.ztst failed: non-zero status from preparation code:
  comptestinit -z $ZTST_testdir/../Src/zsh

Test ./Y02compmatch.ztst failed: bad status 1, expected 0 from:
 test_code z: list1
 comptest  $'tst \t'
Error output:
comptesteval:4: command not found: zpty
comptesteval:5: command not found: zpty
comptest:2: command not found: zpty
comptest:3: command not found: zpty
Was testing: Match Error for "z:"

Test ./Y03arguments.ztst failed: bad status 1, expected 0 from:
 tst_arguments ':desc1:(arg1)'
 comptest $'tst \t\C-wa\t\C-war\t\C-warg\t\C-warg1\t\C-wr\t\C-wx\t \ty \t'
Error output:
comptesteval:4: command not found: zpty
comptesteval:5: command not found: zpty
comptest:2: command not found: zpty
comptest:3: command not found: zpty
Was testing: one non-option argument

Thanks,
Wes Morgan

Oliver Kiddle wrote:

>Brian Boonstra wrote:
>
>>  I solved this by running
>>          autoconf
>>in the top-level source directory.  That gave me a configure script with
>>more options, including one for the ldflags, which I then set to be nothing.
>>
>
>I take it there no problems with the clear ldflags then?
>
>>  I suppose this is ultimately a problem with autoconf.
>>
>
>What version of autoconf do you have? I'd be suprised if 2.5x doesn't
>handle MacOS X.
>
>Judging by one section of zshconfig.ac, it is probably a zsh problem.
>Can you try with this patch. You will need to rerun autoconf (or
>Util/preconfig) or manually apply this to configure itself.
>
>Does anyone know if ${enable_zsh_debug} is definitely empty for a no
>value as I've assumed here? The -x option may not be right in which case
>we could use nothing.
>
>Oliver
>
>Index: zshconfig.ac
>===================================================================
>RCS file: /cvsroot/zsh/zsh/zshconfig.ac,v
>retrieving revision 1.17
>diff -u -r1.17 zshconfig.ac
>--- zshconfig.ac        2001/07/03 17:34:33     1.17
>+++ zshconfig.ac        2001/08/31 17:47:17
>@@ -307,6 +307,7 @@
> if test -n "$auto_ldflags"; then
>   case "${enable_zsh_debug}$host_os" in
>     yesaix*|yeshpux*|yesnetbsd*|yesopenbsd*) ;;  # "ld -g" is not valid
>on these systems
>+    darwin*) LDFLAGS=-x ;;
>     yes*)    LDFLAGS=-g ;;
>     *)       LDFLAGS=-s ;;
>   esac
>
>_____________________________________________________________________
>This message has been checked for all known viruses by the 
>MessageLabs Virus Scanning Service. For further information visit
>http://www.messagelabs.com/stats.asp
>



^ permalink raw reply	[flat|nested] 8+ messages in thread

* RE: Compiling zsh-4.0.2 on Mac OS X
  2001-09-23 21:43     ` Wes Morgan
@ 2001-09-24  5:51       ` Borsenkow Andrej
  2001-09-27 14:19       ` Oliver Kiddle
  1 sibling, 0 replies; 8+ messages in thread
From: Borsenkow Andrej @ 2001-09-24  5:51 UTC (permalink / raw)
  To: 'Wes Morgan', 'zsh-workers'

> 
> This patch causes the "checking for executable suffix..." test in the
> configure script to fail with "compiler cannot create executables."
The
> man page for ld on Mac OS X says that -x overlaps with a compiler
option
> and that to invoke it from cc, it needs to be specified as "-Wl,-x". I
> changed this in the configure script and configure worked again. Then
> "make" succeeded, but "make check" had some problems. I don't know if
> they are specific to OS X or something I did/didn't do. Here's the
errors:
> 
> Test ./C02cond.ztst failed: bad status 1, expected 0 from:
>   [[ -k modish && ! -k zerolength ]]
> Was testing: -k cond
>

That is probably OS specific. Does Mac OS X support sticky bit?

> comptest:2: command not found: zpty

You compiled without module support (or configure decided that modules
are not supported) and did not include zpty in the list of builtin
modules.

Could you send config.log from clean reconfiguration?

-andrej


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Compiling zsh-4.0.2 on Mac OS X
  2001-09-23 21:43     ` Wes Morgan
  2001-09-24  5:51       ` Borsenkow Andrej
@ 2001-09-27 14:19       ` Oliver Kiddle
  1 sibling, 0 replies; 8+ messages in thread
From: Oliver Kiddle @ 2001-09-27 14:19 UTC (permalink / raw)
  To: Wes Morgan; +Cc: zsh-workers

Sourceforge have just added a couple of MacOS X machines to the compile
farm so it is now easier to work out what is happening here. 

Wes Morgan wrote:
> 
> This patch causes the "checking for executable suffix..." test in the
> configure script to fail with "compiler cannot create executables." The
> man page for ld on Mac OS X says that -x overlaps with a compiler option
> and that to invoke it from cc, it needs to be specified as "-Wl,-x". I
> changed this in the configure script and configure worked again. Then

Yes, that seems to work so I'll commit that change (both branches).

> "make" succeeded, but "make check" had some problems. I don't know if
> they are specific to OS X or something I did/didn't do. Here's the errors:
> 
> Test ./C02cond.ztst failed: bad status 1, expected 0 from:
>   [[ -k modish && ! -k zerolength ]]
> Was testing: -k cond

This appears to be a bug in chmod as far as I can tell. chmod +t simply
doesn't work even though the man page says it should and the numeric
equivalent does. Changing the three chmods to one numeric one allows it
to set the sticky bit and the test to then work. If this change causes
problems on other platforms, we can use a $OSTYPE check. Anyone know
where I should report Darwin bugs to?

As Andrej pointed out the remaining failures were due to the lack of
modules such as zpty. Dynamic module loading doesn't work on MacOS X
because it uses Mach-O instead of ELF binaries which the dl* functions
are based around. Darwin uses some different NeXT based system instead
apparently. Perhaps the tests should better handle missing modules by
printing a succinct message and skipping the affected tests.

Anyway, I rebuilt a static zsh with the necessary extra modules. All
tests up until Y03 then passed successfully. Y03 hangs indefintely.
>From the verbose output, it is hanging on the `a and b' test. I'm not
very familiar with these completion tests so I've not looked into this
in detail.

The patch below also adds a mention of Darwin in Etc/MACHINES: it
should build `out-of-the-box' now though I expect there to be other
problems.

Oliver

Index: zshconfig.ac
===================================================================
RCS file: /cvsroot/zsh/zsh/zshconfig.ac,v
retrieving revision 1.18
diff -u -r1.18 zshconfig.ac
--- zshconfig.ac        2001/09/13 18:47:02     1.18
+++ zshconfig.ac        2001/09/27 14:13:14
@@ -307,6 +307,7 @@
 if test -n "$auto_ldflags"; then
   case "${enable_zsh_debug}$host_os" in
     yesaix*|yeshpux*|yesnetbsd*|yesopenbsd*) ;;  # "ld -g" is not valid on these systems
+    darwin*) LDFLAGS=-Wl,-x ;;
     yes*)    LDFLAGS=-g ;;
     *)       LDFLAGS=-s ;;
   esac
Index: Etc/MACHINES
===================================================================
RCS file: /cvsroot/zsh/zsh/Etc/MACHINES,v
retrieving revision 1.13
diff -u -r1.13 MACHINES
--- Etc/MACHINES        2001/06/29 14:59:43     1.13
+++ Etc/MACHINES        2001/09/27 14:13:14
@@ -17,6 +17,9 @@
 Machines
 --------
 
+Apple: MacOS X/Darwin 1.4
+       Should build `out-of-the-box'. Dynamic loading does not work.
+
 Red Hat Inc.: Cygwin
        Should build `out-of-the-box'.  The compilation directory should
        be on a file system mounted as binary (the mount command shows
Index: Test/C02cond.ztst
===================================================================
RCS file: /cvsroot/zsh/zsh/Test/C02cond.ztst,v
retrieving revision 1.9
diff -u -r1.9 C02cond.ztst
--- Test/C02cond.ztst   2001/08/22 15:59:27     1.9
+++ Test/C02cond.ztst   2001/09/27 14:13:14
@@ -18,9 +18,7 @@
   mkdir modish
   chgrp $EGID modish
 
-  chmod g+xs modish
-  chmod u+s modish
-  chmod +t modish
+  chmod 7710 modish  # g+xs,u+s,+t
 
   touch unmodish
   chmod 000 unmodish

_____________________________________________________________________
This message has been checked for all known viruses by the 
MessageLabs Virus Scanning Service. For further information visit
http://www.messagelabs.com/stats.asp


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2001-09-27 14:20 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-07-24 23:58 Compiling zsh-4.0.2 on Mac OS X Wes Morgan
2001-07-25  5:31 ` Borsenkow Andrej
2001-07-30 15:27   ` Clint Adams
2001-08-31 17:12 ` Brian Boonstra
2001-08-31 17:56   ` Oliver Kiddle
2001-09-23 21:43     ` Wes Morgan
2001-09-24  5:51       ` Borsenkow Andrej
2001-09-27 14:19       ` Oliver Kiddle

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).