Abdelrazak Younes a écrit :
Abdelrazak Younes a écrit :
Abdelrazak Younes a écrit :
Abdelrazak Younes a écrit :
[...]

It seems to :-)
ar+ranlib libqt2 was done in 10 minutes and less than 400 Megs.
final exe linking took less than 10 minutes and less than 400 Megs

With the qt4 frontend, libqt4 and lyx-qt4 linking are done in less than 30 seconds!

But, I had to modify the finale linking command because for whatever reason it tried to link with "/usr/lib/libiconv.dll.a" which of course does not exists. Correcting that to d:/mingw/lib/iconv.lib did the trick! I am sure this is due to this patch or to something else.

I have the same problem for qt4. My config.log doesn't have any info on that. I have upgraded my libicon (http://gnuwin32.sourceforge.net/packages/libiconv.htm) but the problem remains. Replacing "/usr/lib/libiconv.dll.a" by "-liconv" works perfectly. I noticed that my "d:/mingw/lib/libiconv.la" has a similar library name ('libiconv.dll.a', see content below).

Any idea someone?

I have one... /usr/lib/libiconv.dll.a is indeed there on cygwin and that's what "configure" is finding. But as mingw gcc doesn't know about cygwin, it cannot understand this path. I noticed a "--with-libiconv-prefix" option, I'll try to use that.

Nope, doesn't work either with if I pass --with-libiconv-prefix='/cygdrive/d/mingw'... The final linking still insists on using "/usr/lib/libiconv.dll.a". In my config.log, I have:

configure:30468: checking for iconv
configure:30495: gcc -o conftest.exe -O3 -Wextra -Wall -Wall -Id:/program/Aspell-0.60.4/include -I/cygdrive/d/program/Aspell-0.60.4/include -L/cygdrive/d/program/Aspell-0.60.4/lib conftest.c -lm >&5 c:\DOCUME~1\YNSERC~1.000\LOCALS~1\Temp/ccAbcaaa.o:conftest.c:(.text+0x2b): undefined reference to `_imp__libiconv_open' c:\DOCUME~1\YNSERC~1.000\LOCALS~1\Temp/ccAbcaaa.o:conftest.c:(.text+0x4e): undefined reference to `_imp__libiconv' c:\DOCUME~1\YNSERC~1.000\LOCALS~1\Temp/ccAbcaaa.o:conftest.c:(.text+0x57): undefined reference to `_imp__libiconv_close'
collect2: ld returned 1 exit status
configure:30501: $? = 1
configure: failed program was:
| /* confdefs.h.  */
[...]
| }
configure:30546: gcc -o conftest.exe -O3 -Wextra -Wall -Wall -Id:/program/Aspell-0.60.4/include -I/cygdrive/d/program/Aspell-0.60.4/include -L/cygdrive/d/program/Aspell-0.60.4/lib conftest.c -lm -liconv >&5
configure:30552: $? = 0
configure:30556: test -z
                         || test ! -s conftest.err
configure:30559: $? = 0
configure:30562: test -s conftest.exe
configure:30565: $? = 0
configure:30580: result: yes
configure:30590: checking how to link with libiconv
configure:30592: result: -liconv
configure:30603: checking for iconv declaration
configure:30637: gcc -c -O3 -Wextra -Wall -Wall -Id:/program/Aspell-0.60.4/include -I/cygdrive/d/program/Aspell-0.60.4/include conftest.c >&5
conftest.c:87: error: conflicting types for 'libiconv'
d:/mingw/bin/../lib/gcc/mingw32/3.4.4/../../../../include/iconv.h:88: error: previous declaration of 'libiconv' was here
conftest.c:87: error: conflicting types for 'libiconv'
d:/mingw/bin/../lib/gcc/mingw32/3.4.4/../../../../include/iconv.h:88: error: previous declaration of 'libiconv' was here
configure:30643: $? = 1
configure: failed program was:
| /* confdefs.h.  */
[...]
| #define HAVE_ICONV 1
| /* end confdefs.h.  */
|
| #include <stdlib.h>
| #include <iconv.h>
| extern
| #ifdef __cplusplus
| "C"
| #endif
| #if defined(__STDC__) || defined(__cplusplus)
| size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
| #else
| size_t iconv();
| #endif
|
| int
| main ()
| {
|
|   ;
|   return 0;
| }
configure:30671: result:
extern size_t iconv (iconv_t cd, const char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
configure:30682: checking for nl_langinfo and CODESET
configure:30703: gcc -o conftest.exe -O3 -Wextra -Wall -Wall -Id:/program/Aspell-0.60.4/include -I/cygdrive/d/program/Aspell-0.60.4/include -L/cygdrive/d/program/Aspell-0.60.4/lib conftest.c -lm >&5
conftest.c:80:22: langinfo.h: No such file or directory
conftest.c: In function `main':
conftest.c:84: warning: implicit declaration of function `nl_langinfo'
conftest.c:84: error: `CODESET' undeclared (first use in this function)
conftest.c:84: error: (Each undeclared identifier is reported only once
conftest.c:84: error: for each function it appears in.)
conftest.c:84: warning: initialization makes pointer from integer without a cast
conftest.c:84: warning: unused variable `cs'
configure:30709: $? = 1
configure: failed program was:
| /* confdefs.h.  */

iconv.h has this at line 88:
extern LIBICONV_DLL_EXPORTED size_t iconv (iconv_t cd, const char* * inbuf, size_t *inbytesleft, char* * outbuf, size_t *outbytesleft);

conftest.h does not exists, I assume it is generated on the fly by configure as listed by the config.log:

#if defined(__STDC__) || defined(__cplusplus)
size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
#else

So I guess there an incompatibility here and that we could modify the contest.h in consequence:

#if defined(__STDC__) || defined(__cplusplus)
#ifndef LIBICONV_DLL_EXPORTED
size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
#endif
#else

Comments?


Abdel.

Reply via email to