Hello mark,

Below is the output from 'cpan -i alien::wxWidgets' run in my cygwin shell.
=====
 cpan -i Alien::wxWidgets
Going to read '/home/EricB/.cpan/Metadata'
  Database was generated on Fri, 22 Jun 2012 10:43:03 GMT
Alien::wxWidgets is up to date (0.59).
=====
The wxWidgets version i compiled in cygwin is not wxMSW, but wxGTK2. This works fine. Then i tried installing alien::wxWidgets from cpan by running the command above. This installation fails by default. Then i went into the .cpan directory and ran 'perl Makefile.PL' which fails because it's coded to fail. I then disabled the cygwin test in Build.PL , ran perl Makefile.PL. It asks to rebuild wxWidgets. there i replied no, because it was already built and installed. Then i ran make, which gave me an error '-lwxregexu-2.8 at inc/My/Build/Any_wx_config_Bakefile.pm line 38.' To solve this i simply change line 32 in' inc/My/Build/Any_wx_config_Bakefile.pm' from "$libname_re = '-l(.*_(\w+)-.*)';" into "$libname_re = '-l(.*_?(\w+)-.*)';" because not all libs still have an _. Then i ran make again and it built without any problem. Afterwards make install and alien::wxWidgets installed without any problem.

Then i tried to compile wxperl.

1st problem there is that it fails with "no such 'link' library: 'adv' build/wx/build/makemaker.pm line 224".

This is due to a problem in Alien. The config file in "/usr/lib/perl5/site_perl/5.14/i686-cygwin-threads-64int/Alien/wxWidgets/Config" is incomplete.
the "'_libraries' => {},"" is empty and should become
'_libraries' => {
                 'core' => {
'link' => '-L/usr/local/lib/libwx_gtk2u_core-2.8.a',
                                      'dll' => 'libwx_gtk2u_core-2.8.a'
                                    },
                             'xrc' => {
'link' => '-L/usr/local/lib/libwx_gtk2u_xrc-2.8.a',
                                      'dll' => 'libwx_gtk2u_xrc-2.8.a'
                                    },
                             'base' => {
'link' => '-L/usr/local/lib/libwx_baseu-2.8.a',
                                      'dll' => 'libwx_baseu-2.8.a'
                                    },
                             'qa' => {
'link' => '-L/usr/local/lib/libwx_gtk2u_qa-2.8.a',
                                      'dll' => 'libwx_gtk2u_qa-2.8.a'
                                    },
                             'adv' => {
'link' => '-L/usr/local/lib/libwx_gtk2u_adv-2.8.a',
                                      'dll' => 'libwx_gtk2u_adv-2.8.a'
                                    },
                             'aui' => {
'link' => '-L/usr/local/lib/libwx_gtk2u_aui-2.8.a',
                                      'dll' => 'libwx_gtk2u_aui-2.8.a '
                                    },
                             'richtext' => {
'link' => '-L/usr/local/lib/libwx_gtk2u_richtext-2.8.a',
                                      'dll' => 'libwx_gtk2u_richtext-2.8.a'
                                    },
                 'html' => {
'link' => '-L/usr/local/lib/libwx_gtk2u_html-2.8.a',
                                      'dll' => 'libwx_gtk2u_html-2.8.a'
                                    },
                 'net' => {
'link' => '-L/usr/local/lib/libwx_baseu_net-2.8.a',
                                      'dll' => 'libwx_baseu_net-2.8.a'
                                    },
                             'xml' => {
'link' => '-L/usr/local/lib/libwx_baseu_xml-2.8.a',
                                      'dll' => 'libwx_baseu_xml-2.8.a'
                                    },
                 'stc' => {
                    'link' => '-L/usr/local/lib/libwx_gtk2u_stc-2.8.a',
                    'dll' => 'libwx_gtk2u_stc-2.8.a'
                },
                },

After this running perl Makefile.PL runs nicely. Then the next errors are about the undefined references when making the dll's from the .o files. These errors can be resolved by manually adding the libraries from 'wx-config --libs' which are correctly given in the config file in file in "/usr/lib/perl5/site_perl/5.14/i686-cygwin-threads-64int/Alien/wxWidgets/Config" but get messed up by the wxPerl makefile .

I only tried to manually add the libraries for the 1st ext dll richtext because i hope u can get me an easier way to decently include them.

regards,

eric

On 13/06/2012 22:59, Eric Breynaert wrote:
Hello Mark,

I found out the main problem is that the extra libraries i'm passing to Makefile.PL don't end up in the final makefiles. If i manually include them in the separate Makefiles the compilation seems to work.

i'm running

perl Makefile.PL --extra-libs="`wx-config --libs`" --extra-cflags="`wx-config --cppflags`"

at the top of the Makefiles the "# LIBS => q[ " lines reflect the libraries passed by --extra-libs="`wx-config --libs`" , but the "EXTRALIBS = " lines in the do not contain the libraries passed initially.

Any clue how to solve this ?

regards

eric

On 10/06/2012 21:20, Eric Breynaert wrote:
Did anyone succeed lately in compiling WXperl on cygwin. I know cygwin is not supported, but I successfully built all prereq, including Alien::wxWidgets i'm only stuck with the wxperl.

When i try to make it gives alot of erros such as
RichText.o:RichText.c:(.text+0x3bdcd): undefined reference to `vtable for wxTopLevelWindow'


Any help would be welcome

Thanks

Eric



--
Eric Breynaert
Centrum voor Oppervlaktechemie en Katalyse
Departement Microbiële en moleculaire systemen (M²S) - KU Leuven
Kasteelpark Arenberg 23 - bus 2461
B-3001 Leuven

Tel: +3216321598
Fax: +3216321998



Reply via email to