pdf-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [pdf-devel] "Hello" and questions


From: Pablo Vasquez
Subject: Re: [pdf-devel] "Hello" and questions
Date: Wed, 8 Jul 2009 02:06:38 +0000

Thanks Aleksander.

About this EOVERFLOW  and EXTBUSY thing, I remember seeing configure checking for a value for them (and saying it hasn't found anything), so I think the cleaner way of fixing this would be at configure time, and though I'm still not that familiar with autotools, I'll pay a look to see if there's a straightforward way to do this.
I recompiled for w32 with --enable-nocheck and --prefix=/usr/i586-mingw32msvc

Running configure and make in the w32build subdir created by me now brings:

[...]
make[2]: Entering directory `/home/code/lignupdf/w32/torture/unit'
i586-mingw32msvc-gcc -DHAVE_CONFIG_H -I. -I../../../torture/unit -I../../src  -I../../../lib -I../../../src -I../../../src/base -I../../../src/object -I../../../torture/tortutils -DTEST_DATA_PATH=\"../../../torture/testdata\" -Inocheck/ -I/usr/i586-mingw32msvc/include -g -g -O2 -MT check.o -MD -MP -MF .deps/check.Tpo -c -o check.o `test -f 'nocheck/check.c' || echo '../../../torture/unit/'`nocheck/check.c
../../../torture/unit/nocheck/check.c:26:19: error: check.h: No such file or directory
../../../torture/unit/nocheck/check.c:31: error: expected '=', ',', ';', 'asm' or '__attribute__' before '*' token
../../../torture/unit/nocheck/check.c:36: error: expected '=', ',', ';', 'asm' or '__attribute__' before '*' token
../../../torture/unit/nocheck/check.c:49: error: expected ')' before '*' token
../../../torture/unit/nocheck/check.c:59: error: expected '=', ',', ';', 'asm' or '__attribute__' before '*' token
../../../torture/unit/nocheck/check.c:72: error: expected ')' before '*' token
../../../torture/unit/nocheck/check.c:82: error: expected '=', ',', ';', 'asm' or '__attribute__' before '*' token
../../../torture/unit/nocheck/check.c:98: error: expected ')' before '*' token
../../../torture/unit/nocheck/check.c:108: error: expected ')' before '*' token
../../../torture/unit/nocheck/check.c:139: error: expected ')' before '*' token
../../../torture/unit/nocheck/check.c: In function '_fail_unless':
../../../torture/unit/nocheck/check.c:181: error: expected '=', ',', ';', 'asm' or '__attribute__' before '*' token
../../../torture/unit/nocheck/check.c:181: error: 'pf_log' undeclared (first use in this function)
../../../torture/unit/nocheck/check.c:181: error: (Each undeclared identifier is reported only once
../../../torture/unit/nocheck/check.c:181: error: for each function it appears in.)
../../../torture/unit/nocheck/check.c:182: error: 'va_list' undeclared (first use in this function)
../../../torture/unit/nocheck/check.c:182: error: expected ';' before 'args'
../../../torture/unit/nocheck/check.c:183: error: 'FILE' undeclared (first use in this function)
../../../torture/unit/nocheck/check.c:183: error: 'pfs' undeclared (first use in this function)
../../../torture/unit/nocheck/check.c:186: error: 'stdout' undeclared (first use in this function)
../../../torture/unit/nocheck/check.c:189: error: 'args' undeclared (first use in this function)
../../../torture/unit/nocheck/check.c:192: error: 'NULL' undeclared (first use in this function)
../../../torture/unit/nocheck/check.c:194: warning: incompatible implicit declaration of built-in function 'fprintf'
../../../torture/unit/nocheck/check.c: At top level:
../../../torture/unit/nocheck/check.c:211: error: expected ')' before '*' token
../../../torture/unit/nocheck/check.c:219: error: expected ')' before '*' token
../../../torture/unit/nocheck/check.c:225: error: expected ')' before '*' token
make[2]: *** [check.o] Error 1
make[2]: Leaving directory `/home/code/lignupdf/w32/torture/unit'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/code/lignupdf/w32/torture'
make: *** [all-recursive] Error 1

which seems to be some kind of confusion about which directories are to be included in -I.  This doesn't happen when I compile the usual way without the w32 subdir. Don't really know if this is expected (i.e if this way of compiling should be supported by the build system). The libgcrypt linking issue happens either way.
I've now managed to compile with checks and have reproduced the things in your mail at FS#85. I have the same dll location issues and running runtests.exe with wine in the same dir where libgnupdf-0.dll is comes up with the tests, though some more tests fail in my setup. I'll try again and mail the report later on.

For now I will focus on these compilation issues, as they seem to be more apropriate for a beginner, so that i can get more familiar with the building system and libgnupdf's sources. But I still would like to know if these things I'm finding are to be fixed or not, and some advise on which steps to take from there on, at least until I get ready to work on the task.

Thanks.
Pablo.


On Tue, Jul 7, 2009 at 1:25 PM, Aleksander Morgado <address@hidden> wrote:
Hi Pablo,

> Looking at FS#85 in the tasks list, started trying to reproduce the
> issue, but haven't even got it to cleanly cross-compile to w32.
> First, I would like to know if that's the way to go, I mean, compiling
> through mingw32 and using wine. At least it seems so according to
> http://lists.gnu.org/archive/html/pdf-devel/2009-01/msg00023.html.
> I've downloaded, compiled and installed w32 versions of libgcrypt and
> libgpg-error with prefix /usr/i586-mingw32msvc.
> Created a w32build dir in trunk and in there:
>
> ../configure --host=i586-mingw32msvc
> --with-libgcrypt-prefix=/usr/i586-mingw32msvc
> --with-zlib=/usr/i586-mingw32msvc

In order to compiler support for unit tests in w32, you need to pass an
additional argument to ./configure: --enable-nocheck

That will enable using the built-in `check' replacement. I know that
guys developing check already added (some) compatibility with w32
(fork-less, as our no-check), but not sure if it's already in the latest
stable or just in their repo.


>
> Running make brings
>
> [...]
> /bin/sh ../libtool --tag=CC   --mode=compile i586-mingw32msvc-gcc
> -DHAVE_CONFIG_H -I. -I../../src  -I../../lib -I../../src/base
> -I../../src/object -I../../src/document -I/usr/i586-mingw32msvc/include
> -Wall -fno-strict-aliasing   -g -O2 -MT pdf-fsys-disk.lo -MD -MP -MF
> .deps/pdf-fsys-disk.Tpo -c -o pdf-fsys-disk.lo `test -f
> 'base/pdf-fsys-disk.c' || echo '../../src/'`base/pdf-fsys-disk.c
>  i586-mingw32msvc-gcc -DHAVE_CONFIG_H -I. -I../../src -I../../lib
> -I../../src/base -I../../src/object -I../../src/document
> -I/usr/i586-mingw32msvc/include -Wall -fno-strict-aliasing -g -O2 -MT
> pdf-fsys-disk.lo -MD -MP -MF .deps/pdf-fsys-disk.Tpo -c
> ../../src/base/pdf-fsys-disk.c  -DDLL_EXPORT -DPIC -o .libs/pdf-fsys-disk.o
> ../../src/base/pdf-fsys-disk.c: In function
> '__pdf_fsys_disk_get_status_from_errno':
> ../../src/base/pdf-fsys-disk.c:1442: error: 'EOVERFLOW' undeclared
> (first use in this function)
> ../../src/base/pdf-fsys-disk.c:1442: error: (Each undeclared identifier
> is reported only once
> ../../src/base/pdf-fsys-disk.c:1442: error: for each function it appears
> in.)
> ../../src/base/pdf-fsys-disk.c:1451: error: 'ETXTBSY' undeclared (first
> use in this function)
> make[2]: *** [pdf-fsys-disk.lo] Error 1
> make[2]: Leaving directory `/home/code/lignupdf/w32/src'
> make[1]: *** [all] Error 2
> make[1]: Leaving directory `/home/code/lignupdf/w32/src'
> make: *** [all-recursive] Error 1
> [...]
>
> Which I "hotfixed" commenting lines 1442 and 1451 of
> src/base/pdf-fsys-disk.c just to go on.

Instead of commenting them, I would include them between host-based macros.
#ifndef PDF_HOST_WIN32
whatever here
#endif

Well, that is only if W32 is the only architecture without those errno
errors. There should be a more clean way of doing it, I guess.


>
> [SEVERAL MORE LIBGCRYPT UNDEFINED REFERENCES]
>
> collect2: ld returned 1 exit status
> make[2]: *** [libgnupdf.la <http://libgnupdf.la>] Error 1
> make[2]: Leaving directory `/home/code/lignupdf/w32/src'
> make[1]: *** [all] Error 2
> make[1]: Leaving directory `/home/code/lignupdf/w32/src'
> make: *** [all-recursive] Error 1
>
> Which I "hotfixed" running
>
> make LDFLAGS=-lgcrypt
>
> And building finished successfully, so to speak.

Humm.. why is this happening?

>
> So, are these issues known or is there something wrong with my environment?
> Is something else required to build the tests correctly?
> How was libgnupdf built in the report citated in FS#85?

Yes, the --enable-nocheck option that I told before. You need it to
compile the unit tests. Then you can follow the steps given in the email
referred in FS#85 to try to reproduce it.

Cheers and welcome!

-Aleksander


reply via email to

[Prev in Thread] Current Thread [Next in Thread]