Błąd #4393

fix build with swig 2.0.8

Added by Anonimowy Użytkownik over 10 years ago. Updated over 10 years ago.

Status:NowyStart date:09 Oct 2012
Priority:NormalnyDue date:
Assignee:Adam Radziszewski% Done:

0%

Category:-
Target version:-

Description

Please see the attached tiny patch that resolves an issue with building corpus2 with swig 2.0.8 (at least).

corpus2-swig.patch Magnifier (441 Bytes) Anonimowy Użytkownik, 09 Oct 2012 09:37

History

#1 Updated by Anonimowy Użytkownik over 10 years ago

(As a side note: related info might be here: http://sourceforge.net/mailarchive/message.php?msg_id=29681916)

Best,
Milos Jakubicek

#2 Updated by Adam Radziszewski over 10 years ago

  • Assignee set to Adam Radziszewski

Thanks for reporting, Miloš!

Paweł, dodałem Cię jako obserwatora. Mam prośbę: czy mógłbyś na to rzucić okiem i powiedzieć, czy pamiętasz coś podobnego? O ile pamiętam, walczyłeś kiedyś z podobnymi problemami. Czy mi się wydaje, czy kiedyś przenosiliśmy celowo te deklaracje %template na górę? Z tego załączonego linka wynika mi też, że nowsza wersja SWIG-a uznała wersję proponowaną przez Miłosza za błąd — ale może ja to źle rozumiem :-|

#3 Updated by Paweł Kędzia over 10 years ago

Z tego co pamiętam, to faktycznie przenosiliśmy templaty specjalnie na początek pliku. Tzn wydaje mi się, że w 2.0.8 ten patch Milosa zadziała, choć głowy uciąć nie dam. Z tym, że w załączonym linku jest odwrotne owrapowywanie: z pythona do c++. Być może są jakieś subtelne róznice, co w sumie byłoby dziwne... Najlepiej byłoby dorwać kompa gdzie jest najnowszy swig i sprawdzić, bo tak to trochę z fusów wróżymy ;)

Dodatkowo np. w Corpus2 otwieraliśmy jeszcze przestrzenie nazw dla typów użytych we wrapperze. Np. token.i:

#ifndef SWIG_LIBCORPUS2_TOKEN_I
#define SWIG_LIBCORPUS2_TOKEN_I

(...)
%template(TokenPtr) boost::shared_ptr<Corpus2::Token>;
(...)
namespace Corpus2 {
    (...)
}
using namespace std;
using namespace Corpus2;

Z tego co pamiętam w momencie kiedy przestrzenie nazw nie były otwierane, to python krzyczał, że nie zna Corpus2.

Also available in: Atom PDF