Menu

#132 missing if_nametoindex in iphlpapi.dll under winxp

1.0
open
nobody
None
2015-02-17
2015-02-16
No

under windows xp, from my software i got the error that it didn't find the function if_nametoindex in iphlpapi.dll (that it is a function available from windows vista https://msdn.microsoft.com/en-us/library/windows/desktop/bb408409%28v=vs.85%29.aspx)

according to dependency walker that problem seems to be libgio

in gsocket.c i found that libgio have an own implementation of if_nametoindex if it don't find it

could you rebuild libglib using if_nametoindex gio implementation?

Discussion

  • Alexx83

    Alexx83 - 2015-02-16

    send patch for building it please.

     
  • Andrea Zagli

    Andrea Zagli - 2015-02-16

    i just saw that you patched glib2 to always enable the use of the windows function (patch 0026-define-HAVE_IF_NAMETOINDEX.patch)

    instead to remain compatible with windows xp it must use the gio implementation

    so you must always undefine HAVE_IF_NAMETOINDEX

     
  • Andrea Zagli

    Andrea Zagli - 2015-02-17

    unfortunately i cannot rebuild glib2 with the attached patch; i got the following errors (not related to the patch)

    ==> Build static version
    checking for a BSD-compatible install... /usr/bin/install -c
    checking whether build environment is sane... yes
    checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
    checking for gawk... gawk
    checking whether make sets $(MAKE)... yes
    checking whether make supports nested variables... yes
    configure: error: source directory already configured; run "make distclean" there first
    ==> ERRORE: Si è verificato un errore in build().
    L'operazione sta per essere interrotta...

    and removing static build from PKGBUILD

    ==> Avvio di package() in corso...
    /bin/sh ./config.status --recheck
    running CONFIG_SHELL=/bin/sh /bin/sh ../glib-2.42.1/configure --prefix=/mingw32 --build=i686-w64-mingw32 --host=i686-w64-mingw32 --target=i686-w64-mingw32 --disable-static --enable-shared --disable-libelf --with-python=/mingw32/bin/python.exe --with-threads=posix --with-xml-catalog=/mingw32/etc/xml/catalog build_alias=i686-w64-mingw32 host_alias=i686-w64-mingw32 target_alias=i686-w64-mingw32 CFLAGS=-march=i686 -mtune=generic -O2 -pipe LDFLAGS=-pipe CPPFLAGS=-D_FORTIFY_SOURCE=2 -D__USE_MINGW_ANSI_STDIO=1 CXXFLAGS=-march=i686 -mtune=generic -O2 -pipe PKG_CONFIG_PATH=/mingw32/lib/pkgconfig --no-create --no-recursion
    checking for a BSD-compatible install... /usr/bin/install -c
    checking whether build environment is sane... yes
    checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
    checking for gawk... gawk
    checking whether make sets $(MAKE)... yes
    checking whether make supports nested variables... yes
    configure: error: source directory already configured; run "make distclean" there first
    Makefile:879: set di istruzioni per l'obiettivo "config.status" non riuscito
    make: *** [config.status] Errore 1
    ==> ERRORE: Si è verificato un errore in package().
    L'operazione sta per essere interrotta...

    where am I doing wrong?

     
  • Alexx83

    Alexx83 - 2015-02-17

    Read please errors before post it. You try configure sources in already configured folder. You need remove previously build folder.

     
  • Andrea Zagli

    Andrea Zagli - 2015-02-17

    i read the errors!!!

    how can i remove previously build folder during makepkg-mingw process?

    i simply run makepkg-mingw inside MINGW-packages/mingw-w64-glib2

     

    Last edit: Andrea Zagli 2015-02-17
  • Alexx83

    Alexx83 - 2015-02-17

    First what I do when have some problems with any tool I read it help. Maybe if everyone go to read help it solve many questions.
    makepkg-mingw --help

    See "-C" and "-c" options.

     
  • Andrea Zagli

    Andrea Zagli - 2015-02-17

    i got the error the first time i run makepkg-mingw

    and then i removed each files/directories not in git

     

    Last edit: Andrea Zagli 2015-02-17
  • Alexx83

    Alexx83 - 2015-02-17

    This is mean that you in the past already try build glib2, it fail and you have build folder.

     
  • Andrea Zagli

    Andrea Zagli - 2015-02-17

    no, i'm sure that it was the first time

    in any case, i removed "not in git files/directories" again and now it worked (!?)

    and it worked also the patch attached (now i can rum my software also under winxp); but i don't know if it conflicts with 0026-define-HAVE_IF_NAMETOINDEX.patch, because i don't know the reason of 00026 patch

    how can we do? can we have an other glib2 package compatible with xp that conflicts with glib2, so i can decide wich i want?

     
  • Alexx83

    Alexx83 - 2015-02-17

    We need have only one package. Create pull request and I see if I can build it.