[Lcdproc] hmmm, compile for OS X
Eric Pooch
epooch@cox.net
Tue Dec 5 03:01:02 2006
--Apple-Mail-3-149285560
Content-Transfer-Encoding: 7bit
Content-Type: text/plain;
charset=US-ASCII;
delsp=yes;
format=flowed
Russell,
I downloaded the latest XCode with the latest gcc. I had the same
error about nested functions as you did. Apparently, my old version
had nested functions enabled by default.
So I tried "make CFLAGS=-fnested-functions" and everything compiled
correctly.
I then tried to cross-compile using the i386 architecture and again
(I think) had no problem. I am sending you the binaries I compiled
off the list. I have no way of testing them, so I don't know if they
will work. There may very well be a bug in gcc for the intel mac or
a configuration error that only appears when compiling on there.
Let me know off the list if there is a problem running the binaries.
--Eric
On Dec 3, 2006, at 12:25 PM, Russell Jones wrote:
> FYI,
>
> I downloaded the most recent nightly build (lcdproc-CVS-
> current-20061203) and gave it a shot, I still end up at the same
> error however.
>
> here are the commands I used on two attempts to build it:
>
> ./configure --prefix=/usr/local --enable-drivers=CFontz
>
> make
>
> configfile.c: In function 'config_read_string':
> configfile.c:139: error: nested functions are disabled, use -
> fnested-functions to re-enable
> make[2]: *** [configfile.o] Error 1
> make[1]: *** [all-recursive] Error 1
> make: *** [all] Error 2
>
> make clean
>
> ./configure --prefix=/usr/local --enable-drivers=CFontz
>
> make CFLAGS=-fnested-functions
>
> and i get ...
>
> /usr/bin/ld: -allow_stack_execute can only be used when output file
> type is MH_EXECUTE
> collect2: ld returned 1 exit status
> make[3]: *** [CFontz.so] Error 1
> make[2]: *** [all-recursive] Error 1
> make[1]: *** [all-recursive] Error 1
> make: *** [all] Error 2
>
> Again the machine I use is a hot off the shelf 4x 3ghz mac pro (intel)
>
> -Russ
>
>
> On Dec 3, 2006, at 7:08 AM, Peter Marschall wrote:
>
>> Hi Russell,
>>
>> On Friday, 1. December 2006 12:33, Russell Jones wrote:
>>> I'm BCC'ing Mike as well. Thanks for the tip mike, you got me one
>>> step further in my pursuit!
>>>
>>> UPDATE:
>>>
>>> I did some homework and found that if i took eric's build files and
>>> ran "make clean" and then a:
>>>
>>> make CFLAGS=-fnested-functions
>>>
>>> ... then I am able to get past the errors about nesting. Now however
>>> I am getting an error further down like this:
>>>
>>> /usr/bin/ld: -allow_stack_execute can only be used when output file
>>> type is MH_EXECUTE
>>> collect2: ld returned 1 exit status
>>> make[3]: *** [bayrad.so] Error 1
>>> make[2]: *** [all-recursive] Error 1
>>> make[1]: *** [all-recursive] Error 1
>>> make: *** [all] Error 2
>>>
>>> Not quite sure what to make of this one, I did find lots of
>>> seemingly
>>> relevant text about it on this page (http://developer.apple.com/
>>> documentation/Darwin/Reference/ManPages/man1/ld.1.html), though
>>> its a
>>> bit above my level of understanding.
>>
>> I have just committed a patch to configfile.c in CVS that hides the
>> whole code that uses the nested function behind and #ifdef.
>> This is possible because the code using the nested function
>> is not used at all ;-)
>>
>> The patch compiles file, but it is untested.
>> Please test and report feedback.
>>
>> Peter
>>
>> --
>> Peter Marschall
>> peter@adpm.de
>> _______________________________________________
>> LCDproc mailing list
>> LCDproc@lists.omnipotent.net
>> http://lists.omnipotent.net/mailman/listinfo/lcdproc
>>
>
--Apple-Mail-3-149285560
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
charset=ISO-8859-1
<HTML><BODY style=3D"word-wrap: break-word; -khtml-nbsp-mode: space; =
-khtml-line-break: after-white-space; ">Russell,<DIV><BR =
class=3D"khtml-block-placeholder"></DIV><DIV>I=A0 downloaded the latest =
XCode with the latest gcc.=A0 I had the same error about nested =
functions as you did. Apparently, my old version had nested functions =
enabled by default.</DIV><DIV><BR =
class=3D"khtml-block-placeholder"></DIV><DIV>So I tried "make =
CFLAGS=3D-fnested-functions" and everything compiled =
correctly.</DIV><DIV><BR class=3D"khtml-block-placeholder"></DIV><DIV>I =
then tried to cross-compile using the i386 architecture and again (I =
think) had no problem.=A0 I am sending you the binaries I compiled off =
the list.=A0 I have no way of testing them, so I don't know if they will =
work.=A0 There may very well be a bug in gcc for the intel mac or a =
configuration error that only appears when compiling on =
there.</DIV><DIV><BR class=3D"khtml-block-placeholder"></DIV><DIV>Let me =
know off the list if there is a problem running the =
binaries.</DIV><DIV><BR =
class=3D"khtml-block-placeholder"></DIV><DIV>--Eric</DIV><DIV><DIV><DIV><B=
R class=3D"khtml-block-placeholder"></DIV><DIV>On Dec 3, 2006, at 12:25 =
PM, Russell Jones wrote:</DIV><BR =
class=3D"Apple-interchange-newline"><BLOCKQUOTE =
type=3D"cite"><DIV>FYI,=A0</DIV><DIV><BR =
class=3D"khtml-block-placeholder"></DIV><DIV>I downloaded the most =
recent nightly build (<FONT class=3D"Apple-style-span" face=3D"Lucida =
Grande">lcdproc-CVS-current-20061203)=A0</FONT>and gave it a shot, I =
still end up at the same error however.</DIV><DIV><BR =
class=3D"khtml-block-placeholder"></DIV><DIV>here are the commands I =
used on two attempts to build it:</DIV><DIV><BR =
class=3D"khtml-block-placeholder"></DIV><DIV>./configure =
--prefix=3D/usr/local --enable-drivers=3DCFontz</DIV><DIV><BR =
class=3D"khtml-block-placeholder"></DIV><DIV>make</DIV><DIV><BR =
class=3D"khtml-block-placeholder"></DIV><DIV><B>configfile.c: In =
function 'config_read_string':</B></DIV><DIV><B>configfile.c:139: error: =
nested functions are disabled, use -fnested-functions to =
re-enable</B></DIV><DIV><B>make[2]: *** [configfile.o] Error =
1</B></DIV><DIV><B>make[1]: *** [all-recursive] Error =
1</B></DIV><DIV><B>make: *** [all] Error 2</B></DIV><DIV><BR =
class=3D"khtml-block-placeholder"></DIV><DIV>make clean</DIV><DIV><BR =
class=3D"khtml-block-placeholder"></DIV><DIV>./configure =
--prefix=3D/usr/local --enable-drivers=3DCFontz</DIV><DIV><BR =
class=3D"khtml-block-placeholder"></DIV><DIV>make =
CFLAGS=3D-fnested-functions</DIV><DIV><BR =
class=3D"khtml-block-placeholder"></DIV><DIV>and i get ...</DIV><DIV><BR =
class=3D"khtml-block-placeholder"></DIV><DIV><B>/usr/bin/ld: =
-allow_stack_execute can only be used when output file type is =
MH_EXECUTE</B></DIV><DIV><B>collect2: ld returned 1 exit =
status</B></DIV><DIV><B>make[3]: *** [CFontz.so] Error =
1</B></DIV><DIV><B>make[2]: *** [all-recursive] Error =
1</B></DIV><DIV><B>make[1]: *** [all-recursive] Error =
1</B></DIV><DIV><B>make: *** [all] Error 2</B></DIV><DIV><BR =
class=3D"khtml-block-placeholder"></DIV><DIV>Again the machine I use is =
a hot off the shelf 4x 3ghz mac pro (intel)</DIV><DIV><BR =
class=3D"khtml-block-placeholder"></DIV><DIV>-Russ</DIV><DIV><BR =
class=3D"khtml-block-placeholder"></DIV><BR><DIV><DIV>On Dec 3, 2006, at =
7:08 AM, Peter Marschall wrote:</DIV><BR =
class=3D"Apple-interchange-newline"><BLOCKQUOTE type=3D"cite"><DIV =
style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 0px; ">Hi Russell,</DIV><DIV style=3D"margin-top: 0px; =
margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: =
14px; "><BR></DIV><DIV style=3D"margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 0px; ">On Friday, 1. December 2006 =
12:33, Russell Jones wrote:</DIV> <BLOCKQUOTE type=3D"cite"><DIV =
style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 0px; ">I'm BCC'ing Mike as well. Thanks for the tip mike, =
you got me one</DIV><DIV style=3D"margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 0px; ">step further in my =
pursuit!</DIV><DIV style=3D"margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR></DIV><DIV =
style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 0px; ">UPDATE:</DIV><DIV style=3D"margin-top: 0px; =
margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: =
14px; "><BR></DIV><DIV style=3D"margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 0px; ">I did some homework and found =
that if i took eric's build files and</DIV><DIV style=3D"margin-top: =
0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">ran =
"make clean" and then a:</DIV><DIV style=3D"margin-top: 0px; =
margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: =
14px; "><BR></DIV><DIV style=3D"margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 0px; ">make =
CFLAGS=3D-fnested-functions</DIV><DIV style=3D"margin-top: 0px; =
margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: =
14px; "><BR></DIV><DIV style=3D"margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 0px; ">... then I am able to get past =
the errors about nesting. Now however</DIV><DIV style=3D"margin-top: =
0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">I am =
getting an error further down like this:</DIV><DIV style=3D"margin-top: =
0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; =
min-height: 14px; "><BR></DIV><DIV style=3D"margin-top: 0px; =
margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">/usr/bin/ld: =
-allow_stack_execute can only be used when output file</DIV><DIV =
style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 0px; ">type is MH_EXECUTE</DIV><DIV style=3D"margin-top: =
0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; =
">collect2: ld returned 1 exit status</DIV><DIV style=3D"margin-top: =
0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">make[3]: =
*** [bayrad.so] Error 1</DIV><DIV style=3D"margin-top: 0px; =
margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">make[2]: *** =
[all-recursive] Error 1</DIV><DIV style=3D"margin-top: 0px; =
margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">make[1]: *** =
[all-recursive] Error 1</DIV><DIV style=3D"margin-top: 0px; =
margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">make: *** =
[all] Error 2</DIV><DIV style=3D"margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR></DIV><DIV =
style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 0px; ">Not quite sure what to make of this one, I did find =
lots of seemingly</DIV><DIV style=3D"margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 0px; ">relevant text about it on this =
page (<A =
href=3D"http://developer.apple.com">http://developer.apple.com</A>/</DIV><=
DIV style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 0px; =
">documentation/Darwin/Reference/ManPages/man1/ld.1.html), though its =
a</DIV><DIV style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: =
0px; margin-left: 0px; ">bit above my level of understanding.</DIV> =
</BLOCKQUOTE><DIV style=3D"margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR></DIV><DIV =
style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 0px; ">I have just committed a patch to configfile.c in CVS =
that hides the<SPAN class=3D"Apple-converted-space">=A0</SPAN></DIV><DIV =
style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 0px; ">whole code that uses the nested function behind and =
#ifdef.</DIV><DIV style=3D"margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 0px; ">This is possible because the =
code using the nested function</DIV><DIV style=3D"margin-top: 0px; =
margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">is not used =
at all ;-)</DIV><DIV style=3D"margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR></DIV><DIV =
style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 0px; ">The patch compiles file, but it is =
untested.</DIV><DIV style=3D"margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 0px; ">Please test and report =
feedback.</DIV><DIV style=3D"margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR></DIV><DIV =
style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 0px; ">Peter</DIV><DIV style=3D"margin-top: 0px; =
margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: =
14px; "><BR></DIV><DIV style=3D"margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 0px; ">--<SPAN =
class=3D"Apple-converted-space">=A0</SPAN></DIV><DIV style=3D"margin-top: =
0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Peter =
Marschall</DIV><DIV style=3D"margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 0px; "><A =
href=3D"mailto:peter@adpm.de">peter@adpm.de</A></DIV><DIV =
style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 0px; =
">_______________________________________________</DIV><DIV =
style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 0px; ">LCDproc mailing list</DIV><DIV style=3D"margin-top: =
0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><A =
href=3D"mailto:LCDproc@lists.omnipotent.net">LCDproc@lists.omnipotent.net<=
/A></DIV><DIV style=3D"margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 0px; "><A =
href=3D"http://lists.omnipotent.net/mailman/listinfo/lcdproc">http://lists=
.omnipotent.net/mailman/listinfo/lcdproc</A></DIV><DIV =
style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 0px; min-height: 14px; "><BR></DIV> =
</BLOCKQUOTE></DIV><BR></BLOCKQUOTE></DIV><BR></DIV></BODY></HTML>=
--Apple-Mail-3-149285560--