Windows Binaries mittels SWIG erstellen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
anogayales
User
Beiträge: 456
Registriert: Mittwoch 15. April 2009, 14:11

Hallo liebe Python Community,

ich bin gerade dabei Windows Binaries aus diesem Projekt zu erstellen:
http://biosig.sourceforge.net/download.html

Leider bin ich ein wenig überfordert. Unter Linux ist das alles kein Problem, man ja schnell die benötigten build tools installiert.

Unter Windows fängt es damit an, dass es kein make gibt, also installier ich MinGW, dass ein "mingw32-make.exe" besitzt. Führe ich dass in der Kommandozeile aus:

Code: Alles auswählen

G:\Desktop\biosig4c++-1.4.1>C:\MinGW\bin\mingw32-make.exe Makefile.win32 make biosig4python
process_begin: CreateProcess(NULL, pwd, ...) failed.
usw.
CreateProcess sieht für mich stark nach einen Linux syscall aus, also installier ich cygwin, unter cygwin sieht das dann so aus:

Code: Alles auswählen

Makefile:330: warning: overriding recipe for target `.c.o'
Makefile:328: warning: ignoring old recipe for target `.c.o'
mingw32-make: Nothing to be done for `Makefile.win32'.
gcc -c -pipe -fPIC -Wall -fno-builtin-memcmp -O2 -D=WITH_ZLIB  -D=WITH_PTHREAD  -D=__4HAERTEL__ -D=WITH_FAMOS -D=WITH_CH
OLMOD -D=WITHOUT_NETWORK -D=WITH_FEF  -D=MAKE_EDFLIB -Wextra   -o "biosig.o" "biosig.c"
biosig.c:1: warning: -fPIC ignored for target (all code is position independent)
In file included from biosig.c:61:
biosig-dev.h:71:41: error: suitesparse/cholmod.h: No such file or directory
In file included from biosig-dev.h:87,
                 from biosig.c:61:
biosig.h:492: error: conflicting types for 'sopen'
c:\perl\c\bin\../lib/gcc/i686-w64-mingw32/4.4.3/../../../../i686-w64-mingw32/include/io.h:343: note: previous declaratio
n of 'sopen' was here
...
biosig.c: At top level:
biosig.c:3403: error: conflicting types for 'sopen'
c:\perl\c\bin\../lib/gcc/i686-w64-mingw32/4.4.3/../../../../i686-w64-mingw32/include/io.h:343: note: previous declaratio
n of 'sopen' was here
biosig.c: In function 'sopen':
biosig.c:4036: warning: pointer targets in assignment differ in signedness
biosig.c:4041: warning: pointer targets in initialization differ in signedness
biosig.c:4049: warning: pointer targets in passing argument 1 of 'atof' differ in signedness
c:\perl\c\bin\../lib/gcc/i686-w64-mingw32/4.4.3/../../../../i686-w64-mingw32/include/stdlib.h:337: note: expected 'const
 ...
mingw32-make: *** [biosig.o] Error 1
Da kann ich leider überhaupt nix identifizieren, außer dass suitesparse/cholmod.h nicht exisitiert und das Probleme mit 'sopen' gibt. Und dann will er irgendwie auf meine Perl Installation zugreifen? Noch dazu kommt, dass es Syntaxfehler im Code gibt. Kann mir da jemand helfen, ich hab da leider nicht so viel Erfahrung.

Edit: Perl hab ich aus dem Systempath genommen. Der Kompiliervorgang kommt jetzt wesentlich weiter, trotzdem scheint es Probleme mit sopen zu geben:

Code: Alles auswählen

/cygdrive/c/MinGW/bin/mingw32-make.exe Makefile.win32 biosig4python
...
biosig.h:492:10: error: conflicting types for 'sopen'
c:\mingw\bin\../lib/gcc/mingw32/4.6.2/../../../../include/io.h:454:37: note: previous declaration of 'sopen' was here
biosig-network.c: In function 'c64ta':
...
Grüße,
anogayales
BlackJack

@anogayales: `CreateProcess()` ist eine Windows-Systemfunktion.
anogayales
User
Beiträge: 456
Registriert: Mittwoch 15. April 2009, 14:11

Warum scheitert dann C:\MinGW\bin\mingw32-make.exe ohne die cygwin Umgebung?
anogayales
User
Beiträge: 456
Registriert: Mittwoch 15. April 2009, 14:11

Gut, den Fehler "CreateProcess(NULL, pwd, ...) failed." bekomm ich jetzt komischerweise auch in der Cygwin Umgebung. Alles sehr suspekt. Wäre nett, wenn mir hier jemand helfen könnte.

Grüße,
anogayales
Antworten