OCaml Forge
SCM

Detail: [#1292] Packages issues

Bugs: Browse | Download .csv | Monitor

[#1292] Packages issues

Date:
2013-06-30 07:59
Priority:
3
State:
Open
Submitted by:
Vincent R (smartmobili)
Assigned to:
Nobody (None)
Operating system:
Windows
Resolution:
None
Severity:
normal
Version:
None
Component:
mingw-builds
 
Summary:
Packages issues

Detailed description
1) Package gcc-4.7.2-stable-1-i686-w64-mingw32-i686-w64-mingw32 gcc-g++-4.7.2-stable-1-i686-w64-mingw32-i686-w64-mingw32 gcc-objc-4.7.2-stable-1-i686-w64-mingw32-i686-w64-mingw32

The .exe extension is missing for the following files :

g++
gcc
gcc-4.7.2
gcc-ar
gcc-nm
gcc-nm-4.7.2
gcc-ranlib
gcc-ranlib-4.7.2

and even if they are symylinks it should also applied to :

i686-w64-mingw32-c++
i686-w64-mingw32-g++
i686-w64-mingw32-g++-4.7.2
i686-w64-mingw32-g77
i686-w64-mingw32-g95
i686-w64-mingw32-gcc
i686-w64-mingw32-gcc-4.7.2
i686-w64-mingw32-gcc-ar-4.7.2
i686-w64-mingw32-gcc-nm-4.7.2
i686-w64-mingw32-gcc-ranlib-4.7.2
i686-w64-mingw32-gfortran
i686-w64-mingw32-gfortran-4.7.2

2)Package libxml2-2.8.0-stable-2-i686-w64-mingw32

Path shouldn't be hardcoded :

--- /cygdrive/c/Developer/yypkg_i686/bin/xml2-config 2013-04-01 22:04:01.000000000 +0200
+++ /cygdrive/c/Developer/MaxGW/mingw32/bin/xml2-config 2013-06-30 09:34:35.348107600 +0200
@@ -1,9 +1,9 @@
#! /bin/sh

-prefix=/opt/windows_32
+prefix=${YYPREFIX}
exec_prefix=${prefix}
includedir=${prefix}/include
-libdir=/opt/windows_32/lib
+libdir=${prefix}/lib

3) Package icu4c-51.1-stable-1-i686-w64-mingw32

icu libs are not at the right place and have wrong name :

Vincent@Vincent-PC /cygdrive/c/Developer/yypkg_i686/lib
$ ls icu*
icudt.dll icudt51.dll icuin.lib icuio.dll icuio51.dll icule.lib iculx.dll iculx51.dll icutest.lib icutu.dll icutu51.dll icuuc.lib
icudt.lib icuin.dll icuin51.dll icuio.lib icule.dll icule51.dll iculx.lib icutest.dll icutest51.dll icutu.lib icuuc.dll icuuc51.dll

All the files listed above should be prepended to "lib" and the .lib file should in addition be appended to .a to get this :

Vincent@Vincent-PC /cygdrive/c/Developer/MaxGW/mingw32/lib
$ ls libicu*
libicudt.dll.a libicuin.dll.a libicuio.dll.a libicule.dll.a libiculx.dll.a libicutest.dll.a libicutu.dll.a libicuuc.dll.a

Vincent@Vincent-PC /cygdrive/c/Developer/MaxGW/mingw32/bin
$ ls libicu*
libicudt.dll libicuin.dll libicuio.dll libicule.dll libiculx.dll libicutest.dll libicutu.dll libicuuc.dll
libicudt51.dll libicuin51.dll libicuio51.dll libicule51.dll libiculx51.dll libicutest51.dll libicutu51.dll libicuuc51.dll

the icu-config should be adapted :

--- /cygdrive/c/Developer/yypkg_i686/bin/icu-config 2013-04-01 22:07:44.000000000 +0200
+++ /cygdrive/c/Developer/MaxGW/mingw32/bin/icu-config 2013-06-30 09:50:33.059525300 +0200
@@ -47,10 +47,10 @@
# etc. If ICU is not installed in this directory, you must change the
# following line. There should exist ${prefix}/include/unicode/utypes.h
# for example.
-default_prefix="/opt/windows_32"
+default_prefix="${YYPREFIX}"
if [ "x${prefix}" = "x" ]; then prefix="$default_prefix"; fi
exec_prefix="${prefix}"
-libdir="/opt/windows_32/lib"
+libdir="${exec_prefix}/lib"
libexecdir="${exec_prefix}/libexec"
bindir="${exec_prefix}/bin"
datarootdir="${prefix}/share"
@@ -70,6 +70,7 @@
STATIC_PREFIX="s"
LIBSICU="lib${STATIC_PREFIX}${ICUPREFIX}"
A="a"
+DLL="dll"

# Suffix at the end of libraries. Usually empty.
ICULIBSUFFIX=""
@@ -140,7 +141,7 @@

# for icu-config to test with
ICULIBS_COMMON_LIB_NAME="${LIBICU}${COMMON_STUBNAME}${ICULIBSUFFIX}${ICULIBSUFFIX_VERSION}.${SO}"
-ICULIBS_COMMON_LIB_NAME_A="${LIBICU}${COMMON_STUBNAME}${ICULIBSUFFIX}.${A}"
+ICULIBS_COMMON_LIB_NAME_A="${LIBICU}${COMMON_STUBNAME}${ICULIBSUFFIX}.${DLL}.${A}"

# ICULIBS is the set of libraries your application should link
# with usually. Many applications will want to add ${ICULIBS_I18N} as well.
@@ -230,12 +231,12 @@
U_IS_BIG_ENDIAN="0"
includedir="${prefix}/include"
infodir="${datarootdir}/info"
-localstatedir="/opt/windows_32/var"
-mandir="/opt/windows_32/man"
+localstatedir="${prefix}/var"
+mandir="${datarootdir}/man"
oldincludedir="/usr/include"
program_transform_name="s,x,x,"
sharedstatedir="${prefix}/com"
-sysconfdir="/opt/windows_32/etc"
+sysconfdir="${prefix}/etc"
INSTALL_L="${INSTALL_DATA}"

# for derivative builds - don't bother with VERBOSE/NONVERBOSE SILENT_COMPILE
@@ -398,9 +399,9 @@
## Copyright (c) 2002-2011, International Business Machines Corporation and
## others. All Rights Reserved.

-ICUUC_FILE="${libdir}/${ICULIBS_COMMON_LIB_NAME}"
+ICUUC_FILE="${bindir}/${ICULIBS_COMMON_LIB_NAME}"
ICUUC_FILE_A="${libdir}/${ICULIBS_COMMON_LIB_NAME_A}"
-
+
# echo ENABLE RPATH $ENABLE_RPATH and RPATHLDFLAGS=${RPATH_LDFLAGS}
if [ "x$PKGDATA_MODE" = "x" ]; then
PKGDATA_MODE=dll

-----------------------------------------------------------

More generally when building a package there should be a script that search inside text files for hardcoded path /opt/windows_32 and
replace it with YYPREFIX.


Followup

Message
Date: 2013-12-08 18:32
Sender: Adrien Nader

I've created a new bug tracker at http://win-builds.org/bugs/ since I can have more freedom on how I administrate it there.

I've opened this ticket for the paths hard-coding: http://win-builds.org/bugs/index.php?do=details&task_id=14

ICU files going into "lib/" instead of "lib64/" has been fixed.

As for compiler files not having the ".exe" extension, I think I'll do the change but I'm also wondering which environment you have been using.
Date: 2013-06-30 09:43
Sender: Vincent R

My comment about renaming icu dll is wrong and youd shouldn't do it except if you change the way you generate the dll.

Attached Files:

Changes:

No Changes Have Been Made to This Item