[redland-dev] Building Redland 0.9.17 on WinXP w/full Cygwin install

Jasper van de Gronde th.v.d.gronde at hccnet.nl
Mon May 24 15:46:19 BST 2004


I managed to compile Raptor with MSVC, so if you own MSVC (6) or are 
just interested in some binaries (I link to Raptor statically, but it's 
not very difficult to create a dll from it) I can at least be of some 
assistance with Raptor. I haven't tried compiling Redland (yet) and I 
don't have Cygwin (or Mingw32) installed.

I had to make a few changes to the Raptor sources btw:
    * raptor.h: Added #ifdef RAPTOR_STATIC so I can compile a static 
library on Win32 (if RAPTOR_STATIC is defined I let it define RAPTOR_API 
as nothing).
    * raptor_general.c: Added a const to the first parameter of 
raptor_print_statement.
    * raptor_general.c: Removed the return inside raptor_free_memory.
    * raptor_uri.c: Added #include <io.h> /* For access(...) */ inside 
the #ifdef WIN32 block.
    * turtle_lexer.c: Added #ifdef HAVE_UNISTD_H around #include 
<unistd.h>, as I don't have it (and it doesn't need it on my system).
    * turtle_lexer.h: Added #ifdef HAVE_UNISTD_H around #include 
<unistd.h>, as I don't have it (and it doesn't need it on my system).
    * win32_config.h: Added version defines (VERSION, 
RAPTOR_VERSION_MAJOR, RAPTOR_VERSION_MINOR, RAPTOR_VERSION_RELEASE, 
RAPTOR_VERSION_DECIMAL).
    * win32_config.h: Added #define __func__ "", I don't know whether 
there is a better alternative (it seems MSVC6 doesn't know this macro).

brian donovan wrote:
> I've been attempting to build Redland 0.9.16 on my WinXP machine at home 
> today with somewhat less than satisfactory results.  I recently 
> installed Cygwin (selecting all packages) and worked fom a Bash shell 
> prompt.  I understand that Redland and Raptor are supposed to build 
> "relatively easily" under Windows, so the problems that I'm seeing may 
> not be with Redland & Raptor so much as with the different language 
> APIs.  I'm hoping that someone on this list (are there other Windows 
> Redland users here?) can help me to understand a few of the 
> errors/warning that I get while building.  I've Googled a fair bit 
> without finding anything helpful.
> 
> In doing ./configure, make, make check, and make install, I routed 
> errors/warnings and results messages from each command to separate text 
> files for later looking over :
> 
> ./configure --with-bdb --with-mysql --with-libwww --with-perl 
> --with-python --with-ruby --with-tcl 1>configure_results.txt 
> 2>configure_errors.txt
> 
> First, about my ./configure statement.  I'm not well-versed in Unixisms, 
> so some of the --with-[x] options may have been unnecessary, although 
> the impression that I got from the documentation was that I should 
> include the options for the language APIs if I wanted to build them 
> automatically, which I do.
> 
> The errors and warnings from the configure step above :
> 
> 
> ./configure: line 1: cd: yes/lib: No such file or directory
> configure: WARNING: Cannot find the BDB library name from the files in 
> yes/lib
> configure: WARNING: Assuming it is 'db' and will link like -ldb
> configure: WARNING: Use --with-bdb-dbname=NAME if this is wrong
> configure: WARNING: The generated Turtle lexer files are present.
> configure: WARNING: If you want to change the lexer you will need
> configure: WARNING: flex version 2.5.19 (2.5.31 recommended)
> configure: WARNING: available from http://lex.sourceforge.net/
> gnome-config: not found
> Package glib-2.0 was not found in the pkg-config search path.
> Perhaps you should add the directory containing `glib-2.0.pc'
> to the PKG_CONFIG_PATH environment variable
> No package 'glib-2.0' found
> 
> 
> (1.) What is "yes/lib"?  Why is the configure script looking there for 
> the BDB library name?
> (2.) Is there a good reason why I should want to change the lexer?
> (3.) In the INSTALL.html for Raptor, it says "If GNOME glib 2.0 is 
> present, it will be used for Unicode Normal Form C (NFC) checking. If it 
> is missing, some of the tests will note failure." 
> (http://www.redland.opensource.ac.uk/raptor/INSTALL.html).  I don't seem 
> to have glib 2.0.  What does this mean for my Redland install?  No 
> Unicode checking?
> 
> On to the make step, errors/warnings :
> 
> 
> libtool: link: warning: undefined symbols not allowed in i686-pc-cygwin 
> shared libraries
> Info: resolving _xmlFree by linking to __imp__xmlFree (auto-import)
> ../libtool: line 1: cd: yes/lib: No such file or directory
> libtool: link: cannot determine absolute directory name of `yes/lib'
> make[2]: *** [librdf.la] Error 1
> make[1]: *** [all] Error 2
> make: *** [all-recursive] Error 1
> 
> 
> I don't understand any of this.  Can anyone explain?
> 
> Make check errors/warnings :
> 
> 
> Info: resolving _xmlFree by linking to __imp__xmlFree (auto-import)
> Info: resolving _xmlFree by linking to __imp__xmlFree (auto-import)
> raptor_uri_resolve_uri_reference: Testing with base URI 
> http://example.org/bpath/cpath/d;p?querystr#frag
> ./raptor_uri_test: Checking relative file name 'foo' in dir /etc 
> expecting URI file:///etc/foo
> Content Type: text/html
> ./raptor_set_test: Creating set
> ./raptor_set_test: Adding set item 'ron'
> ./raptor_set_test: Adding set item 'amy'
> ./raptor_set_test: Adding set item 'jen'
> ./raptor_set_test: Adding set item 'bij'
> ./raptor_set_test: Adding set item 'jib'
> ./raptor_set_test: Adding set item 'daj'
> ./raptor_set_test: Adding set item 'jim'
> ./raptor_set_test: Adding duplicate set item 'ron'
> ./raptor_set_test: Adding duplicate set item 'amy'
> ./raptor_set_test: Adding duplicate set item 'jen'
> ./raptor_set_test: Adding duplicate set item 'bij'
> ./raptor_set_test: Adding duplicate set item 'jib'
> ./raptor_set_test: Adding duplicate set item 'daj'
> ./raptor_set_test: Adding duplicate set item 'jim'
> ./raptor_set_test: Freeing set
> ./raptor_sequence_test: sequence after additions: [second, first, third]
> ./raptor_sequence_test: sequence after sort: [first, second, third]
> ./raptor_sequence_test: sequence after pop: [first, second]
> ./raptor_sequence_test: sequence after unshift: [second]
> ../libtool: line 1: cd: yes/lib: No such file or directory
> libtool: link: cannot determine absolute directory name of `yes/lib'
> make[1]: *** [librdf.la] Error 1
> make: *** [check-recursive] Error 1
> 
> 
> Again, what does any of this mean?
> 
> Finally, make install errors/warnings :
> 
> 
> ../libtool: line 1: cd: yes/lib: No such file or directory
> libtool: link: cannot determine absolute directory name of `yes/lib'
> make[1]: *** [librdf.la] Error 1
> make: *** [install-recursive] Error 1
> 
> 
> ???
> 
> Afterwards, when I cd into the perl, python, ruby, etc. folders inside 
> of the redfoot distribution and try their test scripts, only example.pl 
> appears to work, producing "test-out.rdf" and 3 .db files.  When running 
> the Python and Ruby scripts, both complain about missing files/modules 
> named "Redland".  I can provide the output of those scripts (or the 
> results.txt's for the Redland build steps on my system)  as well if it'd 
> be of any help.
> 
> Thanks.
> 
> _______________________________________________
> redland-dev mailing list
> redland-dev at lists.librdf.org
> http://lists.usefulinc.com/mailman/listinfo/redland-dev
> 
> 



More information about the redland-dev mailing list