[Introspector-developers] Status Report for debian packaging of libiconv for windows32
Status: Beta
Brought to you by:
mdupont
|
From: James M. D. <mdu...@ya...> - 2002-09-07 23:15:38
|
Dear Fellow Hackers, I have been busy getting the Debian packaging of the needed packages for DIA under win32 for the Min32 cross compiler going, and would appreciate some help at this point. For those of you who dont know what I am trying to do : I want to create a set of packages for compiling the DIA program for windows from scratch under debian so that we can create binaries for DIA without having to buy the expensive microsoft software (or install illegal copies of it (Yuk!)) I am using mingw the compiler for debian from ron (thanks!). First of all, the debian packaging is coming along, there are some questions about where to install and what architecture to use. Currently, debian thinks it is a i386-linux but the compiler is building for windows. I will have to research how this all works. Anyway, here are my silly questions / statements of problems and solutoins followed by a set of instructions on how to reproduce the packages yourself (under debian). If you have a bit of time, please try and reproduce these packages and tell me if they worked, and what you think of the idea. ###################################################### First I tried to set the architecture, but it is not working. It would be nice to find some way to say that the target architecture is mingw32. Even better would be to be compatible with the Debian packaging tool that is running under cygwin!! export DEB_HOST_ARCH=i586 export DEB_HOST_GNU_CPU=i586 export DEB_HOST_GNU_TYPE=i586-mingw32msvc export DEB_HOST_GNU_SYSTEM=mingw32msvc In the debian/control file I have set : Architecture: i386 (Tried i586 and i586-mingw32msvc) Depends: mingw32, libtool Now, the dpkg-gencontrol complains that anything else is not know to it, so I hope that someone can advise on this. ###################################################### Secondly : The packages install for now under : /usr/local/introspector/win32 for lack of any creativity. They are windows binaries, but just go into the debian tree. I am sure this is suboptimal. Any ideas? Maybe I will have to read the debian policy again.... ###################################################### Thirdly, I dont have the DLLS going yet. Just what seems to be static libs .a/.la and all the rest. For me that is not such an issue, I just want to link, dont care about DLLs or not. The important thing is that you can build the libs from the debian package without much stress. So that will be a lower priority, but important step. ###################################################### Fourthly : Alot of my problems were coming from libtool which I have upgraded to libtool_1.4.2-7. The aclocal.m4 macros from libtool dont handle the needed architecture string it looks for *-*-mingw* and mingw*. In fact, the buildstring that I am using is: i586-mingw32msvc So when I change them all to *-mingw* alot of my problems go away. I have merged the aclocal with Brunos original and followed the instructions http://www.cygwin.com/ml/cygwin-xfree/2002-04/msg00566.html (btw: They say that the autoconfiguration of libiconv is EVIL) ###################################################### Fifthly : Another issue are the commands that I added to the configure.in AC_LIBTOOL_WIN32_DLL / AC_LIBTOOL_DLOPEN When configure runs, it does not set them properly, I think this is important for the DLL building enable_dlopen=yes / enable_win32_dll=yes I am following the instructions According to : http://sources.redhat.com/autobook/autobook/autobook_254.html Here is the configure that I am using : ./configure --cache-file="cross-config.cache" --target=mingw32msvc --host=i586-mingw32msvc --build=i586-pc-linux-gnu --prefix=/usr/local/introspector/win32/libiconv --enable-dlopen=yes --enable-win32_dll=yes But I have to admit, I dont have a good understanding of this one option, maybe you have some ideas? Oh, I had to hack the ltmain.sh and got rid of some of these funky commands (I don't think they are need?) : # Install the pseudo-library for information purposes. #name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` #instname="$dir/$name"i #$show "$install_prog $instname $destdir/$name" #$run eval "$install_prog $instname $destdir/$name" || exit $? ###################################################### Sixthly : I have setup a small debian upload on my introspector site, there I will be posting all the packages to begin with. Here is my ~/.dupload.conf script ------------------ package config; $default_host = "introspector.sf.net"; $cfg{'introspector.sf.net'} = { fqdn => "introspector.sf.net", method => "scpb", incoming => "/home/users/m/md/mdupont/www/debian/incoming/", login => "mdupont", dinstall_runs => 1,}; 1; ------------------ You can find the packages here http://introspector.sourceforge.net/debian/incoming/ I will be putting all the packages need to compile and link the modules there for now. ###################################################### And Finally : I would like to know if I did any of this right, it is all very new and experimental right now. Here are the instructions for downloading and testing the package. Please dont use this for anything important right now. ------------------------------------------------------------------------ 0. Install the libtool_1.4.2-7 Either from APT, or the debs I put here : http://introspector.sourceforge.net/debian/incoming/libtool_1.4.2-7_i386.deb http://introspector.sourceforge.net/debian/incoming/libltdl3_1.4.2-7_i386.deb http://introspector.sourceforge.net/debian/incoming/libltdl3-dev_1.4.2-7_i386.deb http://introspector.sourceforge.net/debian/incoming/libtool-doc_1.4.2-7_all.deb 1. Get the packages : wget http://introspector.sourceforge.net/debian/incoming/libiconv1-dev_1.7-1_i386.deb wget http://introspector.sourceforge.net/debian/incoming/libiconv_1.7-1.dsc wget http://introspector.sourceforge.net/debian/incoming/libiconv_1.7-1.tar.gz wget http://introspector.sourceforge.net/debian/incoming/libiconv_1.7-1_i386.changes 2. unpack the sources dpkg-source -x libiconv_1.7-1.dsc 3. rebuild the package dpkg-buildpackage -rfakeroot -sa -us -uc 4. install the package sudo dpkg -i ../libiconv1-dev_1.7-1_i386.deb 5. Test the package wine -- /usr/local/introspector/win32/bin/iconv --help Hope to hear from you, Happy Hacking, Mike ===== James Michael DuPont http://introspector.sourceforge.net/ __________________________________________________ Do You Yahoo!? Yahoo! Finance - Get real-time stock quotes http://finance.yahoo.com |