[Box Backup] Cross-compilation with i586-mingw32msvc under Ubuntu
Hardy
Chris Wilson
boxbackup@boxbackup.org
Sun, 22 Mar 2009 10:35:16 +0000 (GMT)
Hi Achim,
On Sun, 22 Mar 2009, Achim wrote:
>> Also, could you double-check whether the patch actually removed the word
>> static from include/openssl/e_os2.h or not?
>
> $ grep -A 3 -B 3 static e_os2.h
> # define OPENSSL_IMPLEMENT_GLOBAL(type,name) \
> extern type _hide_##name; \
> type *_shadow_##name(void) { return &_hide_##name; } \
> static type _hide_##name
> # define OPENSSL_DECLARE_GLOBAL(type,name) type *_shadow_##name(void)
> # define OPENSSL_GLOBAL_REF(name) (*(_shadow_##name()))
> #else
>
> So it appears that the patch is not applied.
Thers's another copy of e_os2.h. Updated patch checked in.
>> Please could you tell me what happens between configure:10158 and
>> configure:10267,
>
> configure:10158: checking regex.h usability
> configure:10175: i586-mingw32msvc-g++ -c -mthreads
> -I/usr/local/i586-mingw32msvc/include conftest.cpp >&5
> configure:10181: $? = 0
> configure:10195: result: yes
> configure:10199: checking regex.h presence
> configure:10214: i586-mingw32msvc-g++ -E conftest.cpp
> conftest.cpp:35:19: error: regex.h: No such file or directory
Not surprisingly, the preprocessor test fails when
-I/usr/local/i586-mingw32msvc/include is not included on GCC's command
line. Will investigate why it's not there. Possibly it's in CFLAGS and
shouldn't be.
>> and also what config.log says about pcreposix.h?
> config.log does not mention pcreposix.h at all!
OK, that's because it detected regex.h first.
> $ locate regex.h
> /usr/local/i586-mingw32msvc/include/regex.h
Do you know why this file is there? It's confusing the build system and I
don't think it should be there. pcreposix.h on the other hand should be.
> Could this have something to do with libpcre.a that you are looking for in
> infrastructure/mingw/configure.sh, but is not contained anywhere in the
> instructions:
You're right that libpcre.a needs to be copied from the PCRE build
directory as well as libpcreposix.a. However, even doing so is not enough,
as long as you still have regex.h in /usr/local/i586-mingw32msvc/include,
as the libraries will not be detected and used.
If you remove /usr/local/i586-mingw32msvc/include/regex.h, copy libpcre.a
and configure Box Backup again, that should hopefully fix the
cross-compile.
Cheers, Chris.
--
_ ___ __ _
/ __/ / ,__(_)_ | Chris Wilson <0000 at qwirx.com> - Cambs UK |
/ (_/ ,\/ _/ /_ \ | Security/C/C++/Java/Perl/SQL/HTML Developer |
\ _/_/_/_//_/___/ | We are GNU-free your mind-and your software |