seems, managed to compile it.

libassuan can be built without funopen and foponcookie functions a
The basic issue is that `./configure` somehow includes system stdio.h when 
checks available functions. Even if I run it with 'emconfigure ./configure'.
I replaced 'fopencookie' function check in 'configure.ac' file with 
hardcoded value:
AC_CHECK_FUNCS(fopencookie)   ---->  ac_cv_func_fopencookie=no

then

emconfigure ./autogen.sh
emconfigure ./configure --prefix=${BASEDIR} 
--with-gpg-error-prefix=${BASEDIR} --enable-static --disable-shared 
"CFLAGS=-m32" --host=x86-unknown-linux CC_FOR_BUILD=gcc
emmake make

and got libassuan.a in ${BASEDIR}/lib folder

On Monday, March 17, 2014 1:12:59 PM UTC+2, Nikolay wrote:
>
> I'm triing to compile libassuan on my ubuntu linux x86_64 platform
>
> make[3]: Entering directory 
>>> `/home/user/work/gnupg/gnupg/build/libassuan-2.1.1/src'
>>
>> /bin/bash ../libtool  --tag=CC   --mode=compile 
>>> /home/user/emscripten/emcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../include 
>>>  -I/home/user/work/gnupg/gnupg/build/include   -m32 -Wall -Wcast-align 
>>> -Wshadow -Wstrict-prototypes -Wpointer-arith -fPIC -DPIC -MT 
>>> libassuan_la-assuan.lo -MD -MP -MF .deps/libassuan_la-assuan.Tpo -c -o 
>>> libassuan_la-assuan.lo `test -f 'assuan.c' || echo './'`assuan.c
>>
>> libtool: compile:  /home/user/emscripten/emcc -DHAVE_CONFIG_H -I. -I.. 
>>> -I.. -I../include -I/home/user/work/gnupg/gnupg/build/include -m32 -Wall 
>>> -Wcast-align -Wshadow -Wstrict-prototypes -Wpointer-arith -fPIC -DPIC -MT 
>>> libassuan_la-assuan.lo -MD -MP -MF .deps/libassuan_la-assuan.Tpo -c 
>>> assuan.c -o libassuan_la-assuan.o
>>
>> WARNING  root: -I or -L of an absolute path 
>>> "-I/home/user/work/gnupg/gnupg/build/include" encountered. If this is to a 
>>> local system header/library, it may cause problems (local system files make 
>>> sense for compiling natively on your system, but not necessarily to 
>>> JavaScript). Pass '-Wno-warn-absolute-paths' to emcc to hide this warning.
>>
>> In file included from assuan.c:28:
>>
>> ./assuan-defs.h:355:23: error: unknown type name 'cookie_read_function_t'
>>
>>                       cookie_read_function_t *readfn,
>>
>>                       ^
>>
>> ./assuan-defs.h:356:23: error: unknown type name 'cookie_write_function_t'
>>
>>                       cookie_write_function_t *writefn,
>>
>>                       ^
>>
>> ./assuan-defs.h:357:23: error: unknown type name 'cookie_seek_function_t'
>>
>>                       cookie_seek_function_t *seekfn,
>>
>>                       ^
>>
>> ./assuan-defs.h:358:23: error: unknown type name 'cookie_close_function_t'
>>
>>                       cookie_close_function_t *closefn);
>>
>>                       ^
>>
>> 4 errors generated.
>>
>>
>>
>
> so it requires cookie_read_function_t which exists in libc6 and newlib and 
> is declared in stdio.h. But emscripten include folder 
> (~/emscripten/system/include/libc/) contains stdio.h that doesn't have 
> cookie_read_function_t declaration. Seems that emscripten is based not on 
> the last version of newlib.
>
> So what would be the best direction in this case?
> I see that I can try to
> 1. download newlib sources, build them and link libassuan with newlib. 
> Actually I've tried this approach. And it seems the newlib doesn't support 
> x86 platform
> 2. download libc sources and try to compile it using llvm clang to *.a 
> library. And try then to link it with libassuan
> 3. somehow extract fopencookie.c from from libc-sources and put it to 
> libassuan sources.
>
> Please give an advice.
>

-- 
You received this message because you are subscribed to the Google Groups 
"emscripten-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to