x64 builds and Windows 7

Casper van Donderen casper.vandonderen at gmail.com
Sat Aug 15 23:52:29 CEST 2009


I knew all the stuff about only being able to use x64 DLL's and stuff
only on x64, that's why I was saying: make a different installer. then
you can have the x64 installer set KDEROOT_X64 env var and when the
user then accidentally downloads the 32-bit installer too that would
say: nothing installed yet because it cannot find the installed x64
packages....

The biggest problem will be the mixing of 32 and 64 bit packages. I
think we have to split that out as early as possible.

Say the 32-bit package of kget is available but the 64 isn't. the guy
is using the universal installer on x64 and pushes the button: 'look
for 32-bit packages' he finds kget and downloads that. Then in the
worst case his system will lock up....

I think your solution pasted above causes a lot more work for the
people making the installer/emerge scripts will it not?

(I don't have x64 compatible Visual Studio (Express edition can't do
that) and need to find out if I can compile packages for XP/Vista with
the Win7 SDK, or that I need to use the 2k5 PSDK. (anyone know this?)

Casper

On Sat, Aug 15, 2009 at 11:35 PM, Ralf Habacker<ralf.habacker at freenet.de> wrote:
> Casper van Donderen schrieb:
>> Yeah, but you could also do it with a compiler flag... Then you don't
>> have to change a lot...
>>
> which could be initial set by
> EMERGE_ARCHITECTURE=x64
>
> while for 32 bit
>    EMERGE_ARCHITECTURE=x86
>
> -> This feature was just checked into emerge on kde svn
>> with your solution you have to rename all packages (or also just
>> append -x64 to the packagename)
>>
> On linux 32 and 64 bit package are unique for a given architecture
> http://www.rpmseek.com/rpm-pl/kdelibs.html?hl=de&cs=kdelibs:PN:0:0:0:0:0
> and I am sure, that this should be also the same on windows. Otherwise
> this will end in a nightmare when people are mixing 32bit and 64 bit
> packages.
>
> Also people may be required to install KDE/32bit also on a 64bit system,
> may be because a specific kde application is not available as 64bit
> version.
> The installer could be easily fixed to support x64 packages as Patrick
> has done for mingw4.
>
> BTW: emerge and the packager are already prepared for creating x64
> packages, so you can immediatly start to build x64 packages.  :-)
>
> <snip>
>>> If the 32 bit installer would be able to run on 64 bit systems and the
>>> installer would be able to detect the 64bit os, the 64bit packages could
>>> be preselected by default  (and the 32 bit packages when running on a 32
>>> bit os)
>>>
> this looks easy
>
> BOOL Is64BitWindows()
> {
> #if defined(_WIN64)
>  return TRUE;  // 64-bit programs run only on Win64
> #elif defined(_WIN32)
>  // 32-bit programs run on both 32-bit and 64-bit Windows
>  // so must sniff
>  BOOL f64 = FALSE;
>  return IsWow64Process(GetCurrentProcess(), &f64) && f64;
> #else
>  return FALSE; // Win64 does not support Win16
> #endif
> }
> http://blogs.msdn.com/oldnewthing/archive/2005/02/01/364563.aspx
>
>
>>> Important questions with 64 bit systems I see are:
>>>
>>> - is it possible to load 32bit dll's from 64 dll's and 64bit executable ?
>>>
> I found the answer ... 32-bit DLLs cannot be loaded in a 64-bit process.
> from
> http://social.msdn.microsoft.com/forums/en-US/wpf/thread/7b8fe815-90c5-4919-aa22-431287a93d81
>
> This mean that *all* packages which kde packages deppends on have to be
> rebuild for x64.
>
> Regards
> Ralf
> _______________________________________________
> Kde-windows mailing list
> Kde-windows at kde.org
> https://mail.kde.org/mailman/listinfo/kde-windows
>


More information about the Kde-windows mailing list