Update: perl-Win32-GUI, perl-libwin32
Reini Urban
rurban@x-ray.at
Mon Feb 28 18:18:00 GMT 2005
Gerrit P. Haase schrieb:
> Reini Urban wrote:
>> Gerrit P. Haase schrieb:
>>> Reini Urban wrote:
>>>
>>>>> Ok, I fixed all cygwin issues. vendor, pid's, rebased, better
>>>>> pm_to_blib
>>>>> patch.
>>>>> http://xarch.tu-graz.ac.at/publ/cygwin/release/perl-Win32-GUI/perl-Win32-GUI-1.0-2.tar.bz2
>>>>> http://xarch.tu-graz.ac.at/publ/cygwin/release/perl-Win32-GUI/perl-Win32-GUI-1.0-2-src.tar.bz2
>>>>> http://xarch.tu-graz.ac.at/publ/cygwin/release/perl-libwin32/perl-libwin32-0.191-3.tar.bz2
>>>>> http://xarch.tu-graz.ac.at/publ/cygwin/release/perl-libwin32/perl-libwin32-0.191-3-src.tar.bz2
>>>
>>>
>>> Sorry, I was on a business trip for two weeks...
>>> I tried to rebuild:
>>>
>>> $ ./perl-libwin32-0.191-3.sh prep
>>> patching file perl-libwin32-0.191/APIFile/File.pm
>>> Hunk #1 FAILED at 5.
>>
>>
>> ....
>>
>>> Hunk #2 FAILED at 22.
>>> Hunk #3 FAILED at 48.
>>> [...continues...]
>>>
>>> What goes wrong? I have no idea, but I havn't looked closer at this.
>>
>>
>>
>> Oops! Sorry. Stupid doseol issues.
>>
>> I've updated this package to:
>> http://xarch.tu-graz.ac.at/publ/cygwin/release/perl-libwin32/perl-libwin32-0.191-4.tar.bz2
>>
>> http://xarch.tu-graz.ac.at/publ/cygwin/release/perl-libwin32/perl-libwin32-0.191-4-src.tar.bz2
>>
>> Binary package and setup.hint is the same.
>> Just the src patch and the build script fixes the dos eol to \n.
>
>
> This is better now;)
>
> Getting this warnings now:
> WARNING: Having environment variable LIB set will most likely cause your
> build to fail!
>
> Would be a not that bad to unset LIB in the build script (for me).
good idea.
> I'm getting an error for ODBC:
> gcc -c -DPERL_USE_SAFE_PUTENV -fno-strict-aliasing -pipe -pipe
> -DUSEIMPORTLIB -O3 -DVERSION=\"0.032\" -DXS_VERSION=\"0.032\"
> "-I/usr/lib/perl5/5.8/cygwin/CORE" CMom.cpp
> In file included from /usr/include/sql.h:87,
> from CMom.cpp:26:
> /usr/include/iodbcunix.h:118: Fehler: in Konflikt stehende Deklaration
> >>typedef unsigned int DWORD<<
> /usr/lib/gcc/i686-pc-cygwin/3.4.1/../../../../include/w32api/windef.h:222:
> Fehler: >>DWORD<< hat eine vorherige Deklaration als >>typedef long
> unsigned int DWORDs<<
> /usr/include/iodbcunix.h:118: Fehler: declaration of `typedef unsigned
> int DWORD'
> /usr/lib/gcc/i686-pc-cygwin/3.4.1/../../../../include/w32api/windef.h:222:
> Fehler: conflicts with previous declaration `typedef long unsigned int
> DWORD'
> /usr/include/iodbcunix.h:118: Fehler: declaration of `typedef unsigned
> int DWORD'
> /usr/lib/gcc/i686-pc-cygwin/3.4.1/../../../../include/w32api/windef.h:222:
> Fehler: conflicts with previous declaration `typedef long unsigned int
> DWORD'
> make[1]: *** [CMom.o] Fehler 1
> make[1]: Leaving directory
> `/k/ftproot/pub/perl/libwin32/perl-libwin32-0.191/ODBC'
> make: *** [subdirs] Fehler 2
>
>
> You use the w32api counterpart of the iODBC /usr/include/sql.h?
> Moving it aside seems to work, however I get an error from the linker:
yes, iodbc is your/our private toy. we'll have to fix that later.
> LD_RUN_PATH="" ld2 -s -L/usr/local/lib CMom.o Constant.o CResults.o
> ODBC.o Odbc.res -o ../blib/arch/auto/Win32/ODBC/ODBC.dll
> /usr/lib/perl5/5.8/cygwin/CORE/libperl.dll.a -L/lib/w32api -lnetapi32
> -lwininet -lversion -lmpr -lodbc32 -lodbccp32 -lwinmm -lstdc++ -lole32
> -loleaut32 -luuid -lcomctl32 -lgdi32 -lcomdlg32 -lntdll
> gcc -shared -o ODBC.dll -Wl,--out-implib=libODBC.dll.a
> -Wl,--export-all-symbols -Wl,--enable-auto-import -Wl,--stack,8388608 \
> -s -L/usr/local/lib CMom.o Constant.o CResults.o ODBC.o Odbc.res
> /usr/lib/perl5/5.8/cygwin/CORE/libperl.dll.a -L/lib/w32api -lnetapi32
> -lwininet -lversion -lmpr -lodbc32 -lodbccp32 -lwinmm -lstdc++ -lole32
> -loleaut32 -luuid -lcomctl32 -lgdi32 -lcomdlg32 -lntdll
> Creating library file: libODBC.dll.a
> ODBC.o(.text+0x85e6):ODBC.cpp: undefined reference to
> `_SQLGetPrivateProfileString'
> ODBC.o(.text+0x8bd2):ODBC.cpp: undefined reference to
> `_SQLGetPrivateProfileString'
> ODBC.o(.text+0x1100d):ODBC.cpp: undefined reference to
> `_SQLConfigDataSource'
> collect2: ld gab 1 als Ende-Status zur"uck
> perlld: *** system() failed to execute
> gcc -shared -o ODBC.dll -Wl,--out-implib=libODBC.dll.a
> -Wl,--export-all-symbols -Wl,--enable-auto-import -Wl,--stack,8388608 \
> -s -L/usr/local/lib CMom.o Constant.o CResults.o ODBC.o Odbc.res
> /usr/lib/perl5/5.8/cygwin/CORE/libperl.dll.a -L/lib/w32api -lnetapi32
> -lwininet -lversion -lmpr -lodbc32 -lodbccp32 -lwinmm -lstdc++ -lole32
> -loleaut32 -luuid -lcomctl32 -lgdi32 -lcomdlg32 -lntdll
Hmm, -lodbccp32 (=> /lib/w32api/libodbccp32.a) should import those.
Do you miss that? This was last changed 3 years ago. The very first
w32api version.
http://cvs.sourceforge.net/viewcvs.py/mingw/w32api/lib/
Or maybe you miss ODBCCP32.dll in $WINDIR/System32?
> Do I need to update w32api:
> $ cygcheck -c w32api
> Cygwin Package Information
> Package Version Status
> w32api 3.1-1 OK
>
> ?
w32api-3.2-1 has some new definitions, but I thought that I check
against that dynamically in win32perl.h:
Older commctrl.h misses some defs, the jobs functions (Win32::Process)
need >= 2.2-1
I'll checkin a fix against the iodbcunix clash with
/usr/include/iodbcunix.h sooner or later (I already reported this clash
some months ago).
But since this is no official package, please fix that on your side
first, so that this can go out.
--
Reini Urban
http://xarch.tu-graz.ac.at/home/rurban
http://phpwiki.org
More information about the Cygwin-apps
mailing list