Groups | Search | Server Info | Keyboard shortcuts | Login | Register


Groups > comp.os.os2.programmer.porting > #165

Re: building Lighttpd 1.4.30 using gcc 4.4.6: ___builtin_stdarg_start referenced

From Lewis Rosenthal <lgrosenthal@2-de-sp-am-2rosenthals.com>
Newsgroups comp.os.os2.programmer.porting
Subject Re: building Lighttpd 1.4.30 using gcc 4.4.6: ___builtin_stdarg_start referenced
Date 2011-12-26 22:23 -0500
Organization Netfront http://www.netfront.net/
Message-ID <jdbdo8$7ns$1@adenine.netfront.net> (permalink)
References <jd8s3o$pkk$1@adenine.netfront.net> <4ef8067e$0$3272$c3e8da3$9b4ff22a@news.astraweb.com> <jdape9$2mnb$1@adenine.netfront.net>

Show all headers | View raw


On 12/26/11 04:37 pm, Lewis Rosenthal thus wrote :
> On 12/26/11 12:30 am, Dave Yeo thus wrote :
>> Lewis Rosenthal wrote:
>>> Greetings, all...
>>>
>>> It would surely be more fun building things if I could actually get
>>> something to work every now and again. ;-) If I couldn't do this on
>>> Linux with some success, I would probably chalk it up to my own lack of
>>> ability. Anyway...
>>>
>>> Trying to build the above, running make, I get:
>>>
>>> lemon.c: In function 'ErrorMsg':
>>> lemon.c:1305: warning: implicit declaration of function
>>> '__builtin_stdarg_start'
>>>
>
> <snip>
>
>>> My reading of some gcc info tells me that ___builtin_stdarg_start was
>>> deprecated by 2008 or so (see
>>> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35460), and in fact, line
>>> 1305 of lemon.c references va_start:
>>>
>>> va_start(ap, format);
>
> <snip>
>
>>> I've tried this both with Paul's packaged gcc446 (and the included
>>> gcc446.cmd, edited to reference j: instead of u:, to fit my setup), and
>>> with the 4.4.6 build installed via yum (which was no mean feat, as
>>> "/usr/lib/libiberty.a from install of gcc-4.4.6-11.oc00.i386 conflicts
>>> with file from package binutils-static-2.21-1.oc00.i386" - I finally
>>> forced it).
>>>
>>> Anyway, I get the same stall using either gcc 4.4.6. Is
>>> ___builtin_stdarg_start defined (incorrectly) somewhere?
>>>
>>> TIA
>>>
>> You're including the wrong stdarg.h. You need the one that comes with
>> gcc 4.4.6 which will use __builtin_va_start(). Perhaps back up the one
>> in usr\include and replace with the one in local446\include\386
>> You also need to file a bug(s) against YUM, both for stdarg and
>> libiberty.
>>
>
> Ah, thanks, Dave. This makes sense. I should have looked for the
> obvious, I guess!
>
> I'll see to opening those bugs, too.
>

Okay, a bit further...

I had several stdarg.h's in the path:

  Directory of  J:\usr\include\stdarg.h

10-03-11   0:07              44    124  stdarg.h

which was a hardlink to:

  Directory of  J:\usr\include\386\stdarg.h

  3-18-06   7:19           3,387      0  stdarg.h

and another hardlink from that over here:

  Directory of  J:\usr\include\machine\stdarg.h

10-03-11   0:07              40    124  stdarg.h

rpm's final go at installing 446 added (I believe):

  Directory of  J:\usr\include\c++\4.4.6\tr1\stdarg.h

12-13-11  12:51           1,215    124  stdarg.h

So, while I could change the hardlinks easily enough, I was still 
running into trouble, as J:\usr\include\c++\4.4.6\tr1\stdarg.h was 
pointing to relative paths under tr1/. To work around this, I changed 
C_INCLUDE_PATH to match CPLUS_INCLUDE_PATH, which pushed 
J:/USR/local/include/c++/4.4.6 ahead of J:/USR/include. This resolved 
the issue with __builtin_stdarg_start, and got me all the way down to 
some other mess:

libtool: link: gcc -Zdll -Zcrtdll -o .libs/mod_flv_streaming.dll 
.libs/mod_flv_streaming.o    -O2   .libs/mod_flv_streaming.def
mod_flv_streaming.c:267 (.libs/mod_flv_streaming.o): Undefined symbol 
_buffer_init_string referenced from text segment
mod_flv_streaming.c:59 (.libs/mod_flv_streaming.o): Undefined symbol 
_array_free referenced from text segment
mod_flv_streaming.c:66 (.libs/mod_flv_streaming.o): Undefined symbol 
_buffer_free referenced from text segment
mod_flv_streaming.c:67 (.libs/mod_flv_streaming.o): Undefined symbol 
_array_free referenced from text segment
mod_flv_streaming.c:93 (.libs/mod_flv_streaming.o): Undefined symbol 
_array_init referenced from text segment
mod_flv_streaming.c:99 (.libs/mod_flv_streaming.o): Undefined symbol 
_config_insert_values_global referenced from text segment
mod_flv_streaming.c:194 (.libs/mod_flv_streaming.o): Undefined symbol 
_buffer_is_empty referenced from text segment
mod_flv_streaming.c:121 (.libs/mod_flv_streaming.o): Undefined symbol 
_config_check_cond referenced from text segment
mod_flv_streaming.c:127 (.libs/mod_flv_streaming.o): Undefined symbol 
_buffer_is_equal_string referenced from text segment
mod_flv_streaming.c:216 (.libs/mod_flv_streaming.o): Undefined symbol 
_array_reset referenced from text segment
mod_flv_streaming.c:217 (.libs/mod_flv_streaming.o): Undefined symbol 
_buffer_copy_string_buffer referenced from text segment
mod_flv_streaming.c:220 (.libs/mod_flv_streaming.o): Undefined symbol 
_array_get_element referenced from text segment
mod_flv_streaming.c:236 (.libs/mod_flv_streaming.o): Undefined symbol 
_stat_cache_get_entry referenced from text segment
mod_flv_streaming.c:245 (.libs/mod_flv_streaming.o): Undefined symbol 
_chunkqueue_get_append_buffer referenced from text segment
mod_flv_streaming.c:246 (.libs/mod_flv_streaming.o): Undefined symbol 
_buffer_copy_string_len referenced from text segment
mod_flv_streaming.c:248 (.libs/mod_flv_streaming.o): Undefined symbol 
_http_chunk_append_file referenced from text segment
mod_flv_streaming.c:250 (.libs/mod_flv_streaming.o): Undefined symbol 
_response_header_overwrite referenced from text segment
mod_flv_streaming.c:166 (.libs/mod_flv_streaming.o): Undefined symbol 
_array_get_unused_element referenced from text segment
mod_flv_streaming.c:169 (.libs/mod_flv_streaming.o): Undefined symbol 
_buffer_copy_string_len referenced from text segment
mod_flv_streaming.c:170 (.libs/mod_flv_streaming.o): Undefined symbol 
_buffer_copy_string_len referenced from text segment
mod_flv_streaming.c:172 (.libs/mod_flv_streaming.o): Undefined symbol 
_array_insert_unique referenced from text segment
mod_flv_streaming.c:167 (.libs/mod_flv_streaming.o): Undefined symbol 
_data_string_init referenced from text segment
mod_flv_streaming.c:37 (.libs/mod_flv_streaming.o): Undefined symbol 
_buffer_init referenced from text segment
mod_flv_streaming.c:38 (.libs/mod_flv_streaming.o): Undefined symbol 
_array_init referenced from text segment
gcc: Internal error: Hangup (program ld.exe)

Hmmm... I can only suspect that it has something to do with:

#include <ctype.h>
#include <stdlib.h>
#include <string.h>

and the versions I'm getting loaded (the above is from 
mod_flv_streaming.c in the /src directory for Lighttpd). I'll have to 
keep picking away at it until I figure out what's messed up in the 
include path causing the breakage.

If I completely remove (rather, rename) /usr/include, I wonder what 
might break? Also, now that I have *both* Paul's zipped 446 package 
*and* the yum-supplied rpm installed, I've likely created a mess for 
myself, if only confusing the jungle of paths to follow.

Anyway, Dave, if you have any other thoughts on the subject, I'm all 
ears. I don't want this to take you away from more important stuff, though.

Thanks again for the pointer about watching the includes. ;-)

-- 
Lewis
-------------------------------------------------------------
Lewis G Rosenthal, CNA, CLP, CLE, CWTS
Rosenthal & Rosenthal, LLC                www.2rosenthals.com
Need a managed Wi-Fi hotspot?                www.hautspot.com
visit my IT blog                www.2rosenthals.net/wordpress
-------------------------------------------------------------

--- Posted via news://freenews.netfront.net/ - Complaints to news@netfront.net ---

Back to comp.os.os2.programmer.porting | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

building Lighttpd 1.4.30 using gcc 4.4.6: ___builtin_stdarg_start referenced Lewis Rosenthal <lgrosenthal@2-de-sp-am-2rosenthals.com> - 2011-12-25 23:10 -0500
  Re: building Lighttpd 1.4.30 using gcc 4.4.6: ___builtin_stdarg_start referenced Dave Yeo <dave.r.yeo@gmail.com> - 2011-12-25 21:30 -0800
    Re: building Lighttpd 1.4.30 using gcc 4.4.6: ___builtin_stdarg_start referenced Lewis Rosenthal <lgrosenthal@2-de-sp-am-2rosenthals.com> - 2011-12-26 16:37 -0500
      Re: building Lighttpd 1.4.30 using gcc 4.4.6: ___builtin_stdarg_start referenced Lewis Rosenthal <lgrosenthal@2-de-sp-am-2rosenthals.com> - 2011-12-26 22:23 -0500
        Re: building Lighttpd 1.4.30 using gcc 4.4.6: ___builtin_stdarg_start referenced Dave Yeo <dave.r.yeo@gmail.com> - 2011-12-26 23:06 -0800
          Re: building Lighttpd 1.4.30 using gcc 4.4.6: ___builtin_stdarg_start referenced Dave Yeo <dave.r.yeo@gmail.com> - 2011-12-27 00:09 -0800
            Re: building Lighttpd 1.4.30 using gcc 4.4.6: ___builtin_stdarg_start referenced Lewis Rosenthal <lgrosenthal@2-de-sp-am-2rosenthals.com> - 2011-12-27 08:40 -0500

csiph-web