#1 64bit binary support.

closed-fixed
nobody
None
9
2009-12-23
2009-12-20
No

Actually, supporting keka frontend with 64bit doesn't affect performance issue.
But internal CLI biniries are critical.
0.1.2 latest version just have 32bit binaries only.
I would like you to add 64bit support in it.

I attached some modified version of p7zip.
http://dl.dropbox.com/u/1364565/temp/p7zip%20Universal%20binary.7z

It has 32bit and 64bit both, but 32bit is compatible with 10.4 later and 64bit is 10.5 later ( it use some Unicode normalization and libiconv encoding conversion )
You can visit my blogs to see modified version of CleanArchiver. : )

Sincerely

Discussion

  • ChangBeom Park

    ChangBeom Park - 2009-12-20

    http://trip2me.tistory.com/56
    Page is written in Korean but application has English and Korean localization.

     
  • aONe

    aONe - 2009-12-20
    • priority: 5 --> 9
    • status: open --> pending
     
  • aONe

    aONe - 2009-12-20

    Thanks for de the advice! Since i've changed 7za to 7z with plugins I forget to made a universal build. Will fix it and if I can't will use your binaries.

    Are you korean? Interested on translate keka?

     
  • ChangBeom Park

    ChangBeom Park - 2009-12-20
    • status: pending --> open
     
  • ChangBeom Park

    ChangBeom Park - 2009-12-20

    To build 64bit binary is simple .

    Below is the file content in makefile.machine

    OPTFLAGS=-O

    ALLFLAGS=${OPTFLAGS} \ -DENV_MACOSX \ -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE \ -DNDEBUG -DNTRACE \ -D_REENTRANT -DENV_UNIX \ -mmacosx-version-min=10.5 \ -isysroot /Developer/SDKs/MacOSX10.5.sdk \ -arch i386 -arch ppc -arch x86_64 -arch ppc64 \ $(LOCAL_FLAGS)

    CXX=c++ $(ALLFLAGS)
    CC=cc $(ALLFLAGS)
    LINK_SHARED=-bundle

    LOCAL_LIBS=
    LOCAL_LIBS_DLL=

    OBJ_CRC32=$(OBJ_CRC32_C)

    P.S.
    Why don't you make application is compatible 10.4 later?
    My modified CleanArchiver is run on 10.4 later.

     
  • ChangBeom Park

    ChangBeom Park - 2009-12-20

    And my modified version has some more important feature which original 7zip and info-zip doesn't have.

    1. .zip & .7z Unicode normalization converting support for Windows or Linux users.
    such as 'ñ' in 'idioma español' has stored 'n' (U+006E, LATIN SMALL LETTER N) + ' ̃'(U+0303, COMBINING TILDE) in OSX. But Windows and Linux represent just combined letter 'ñ'(U+00F1, LATIN SMALL LETTER N WITH TILDE)

    2. .zip support Windows codepage encoding using libiconv.
    In example, Greek windows zip has filenames consists of codepage 737.
    Without converting, Windows user hard to extract archive file which was made in OSX.

    You can easily find the menu in my CleanArchiver.
    If you interested in it and support these things, I can give you all modified source code.
    Also I will translate your Keka in Korean.

     
  • aONe

    aONe - 2009-12-20

    Can you try to make a PPC+Intel 10.5 binary? Just to loose some weight.

    At this time it's necessary 10.5 cause the interface. I started keka in a 10.5, compiled to 10.4, but when I try it with a 10.4 machine I' realized that doesn't works. Later, with a 10.4 intalation and old Xcode I see that the problem it's the nib and xib, not compatible. So I have to remake all interface part of keka with an old file to make it compatible with 10.4.

    I've started it yet but with no priority, since you're the first to request it and just 10% of web traffic to keka is on 10.4. But really I want to make even a parallel version compatible with 10.4.

     
  • ChangBeom Park

    ChangBeom Park - 2009-12-21

    > Can you try to make a PPC+Intel 10.5 binary? Just to loose some weight.

    Use below 'makefile.machine' file.
    It's already targeted on 10.5.
    Because it's written in

    -mmacosx-version-min=10.5 \ -isysroot /Developer/SDKs/MacOSX10.5.sdk \ -arch i386 -arch ppc -arch x86_64 \

    or if you want to compile 10.4 compatible p7zip.

    -mmacosx-version-min=10.4 \ -isysroot /Developer/SDKs/MacOSX10.4u.sdk \ -arch i386 -arch ppc -ppc64 -x86_64 \

    > At this time it's necessary 10.5 cause the interface. I started keka in a
    > 10.5, compiled to 10.4, but when I try it with a 10.4 machine I' realized
    > that doesn't works. Later, with a 10.4 intalation and old Xcode I see that
    > the problem it's the nib and xib, not compatible. So I have to remake all
    > interface part of keka with an old file to make it compatible with 10.4.

    > I've started it yet but with no priority, since you're the first to
    > request it and just 10% of web traffic to keka is on 10.4. But really I
    > want to make even a parallel version compatible with 10.4.

    If you have a XCode 3.1.2 on OSX 10.5 or later versions on OSX 10.6, it's doesn't matter.
    You can use save as menu in Interface builder to make 10.4 compatible nibs with xib.
    I attached 10.4 version here.
    It also p7zip makefile and build.sh to compile Universal binary and source code to build.
    Compiled p7zip binary has i386, x86_64, ppc, ppc64 architectures. If you want to remove some architectures, use lipo(1) command-line tool.

    http://dl.dropbox.com/u/1364565/temp/keka-0.1.2_p7zip-9.04_for_OSX_10.4_later.7z

    Currently, your application doesn't dependent on 10.5 features.
    But if you have a plan to use more enhanced feature supported only 10.5, it has no choice.

     
  • aONe

    aONe - 2009-12-21

    I've tried http://dl.dropbox.com/u/1364565/temp/p7zip%20Universal%20binary.7z, compiled it to 10.4 and test it, but doesn't work for me. Initially I've to chenge growl framework to old version 1.1.6 since 1.2 it's only for 10.5 mac. Change this, UI crashed. Anyway, with 10.4 GUI can be only 32 bits.

    The source of p7zip you send is with your mods? I'm compiling it to 10.5 PPC/Itel 32/62 bits.

     
  • ChangBeom Park

    ChangBeom Park - 2009-12-21

    > I've tried
    > http://dl.dropbox.com/u/1364565/temp/p7zip%20Universal%20binary.7z,
    > compiled it to 10.4 and test it, but doesn't work for me.

    I assure that above binary can run on OS X 10.4.

    Here are actual test from OS X 10.4.

    $ md5 7z 7z.so
    MD5 (7z) = 6815dc89f0a9158eccde6471627bf852
    MD5 (7z.so) = 68ecb7f7572561237d7e07d5f4fa6727

    $ sw_vers
    ProductName: Mac OS X
    ProductVersion: 10.4.11
    BuildVersion: 8S2167

    $ arch
    i386

    $ ./7z a test 7z 7z.so
    7-Zip 9.04 beta Copyright (c) 1999-2009 Igor Pavlov 2009-05-30
    p7zip Version 9.04 (locale=utf8,Utf16=on,HugeFiles=on,2 CPUs)
    Scanning

    Creating archive test.7z

    7z
    7z.so

    Everything is Ok

    $ ./7z a -tzip test 7z 7z.so
    7-Zip 9.04 beta Copyright (c) 1999-2009 Igor Pavlov 2009-05-30
    p7zip Version 9.04 (locale=utf8,Utf16=on,HugeFiles=on,2 CPUs)
    Scanning

    Creating archive test.zip

    7z
    7z.so

    Everything is Ok

    $ ./7z t test.7z
    7-Zip 9.04 beta Copyright (c) 1999-2009 Igor Pavlov 2009-05-30
    p7zip Version 9.04 (locale=utf8,Utf16=on,HugeFiles=on,2 CPUs)

    Processing archive: test.7z

    Testing 7z
    Testing 7z.so

    Everything is Ok

    Files: 2
    Size: 9949696
    Compressed: 2076697

    $ ./7z t test.zip
    7-Zip 9.04 beta Copyright (c) 1999-2009 Igor Pavlov 2009-05-30
    p7zip Version 9.04 (locale=utf8,Utf16=on,HugeFiles=on,2 CPUs)

    Processing archive: test.zip

    Testing 7z
    Testing 7z.so

    Everything is Ok

    Files: 2
    Size: 9949696
    Compressed: 3278339

    $ lipo 7z -extract ppc -output 7z.ppc
    $ lipo 7z.so -extract ppc -output 7z.ppc.so
    $ rm 7z 7z.so
    $ mv 7z.ppc 7z
    $ mv 7z.ppc.so 7z.so
    $ file 7z 7z.so
    7z: Mach-O universal binary with 1 architecture
    7z (for architecture ppc): Mach-O executable ppc
    7z.so: Mach-O universal binary with 1 architecture
    7z.so (for architecture ppc): Mach-O bundle ppc

    $ ./7z a -tzip test 7z 7z.so
    $ ./7z a -tzip test 7z 7z.so
    $ ./7z t test.7z
    $ ./7z t test.zip

    I skipped result.
    same result above intel binary did.
    It means this binary runs on ppc machine also.

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

    Maybe if you are OS X 10.4 64bit ppc64 user, above test was failed.
    Because 64bit binary part has 10.5 library dependency.
    I have 32bit only intel CPU.
    But I assure

     
  • aONe

    aONe - 2009-12-21

    I mean keka doesn't work in 10.4. Sure the binary works, but I'm refering to the GUI

     
  • ChangBeom Park

    ChangBeom Park - 2009-12-21

    I found the problem.

    http://lists.apple.com/archives/Cocoa-dev/2009/Sep/msg02155.html

    I've re-uploaded keka 0.1.2 running on OSX 10.4
    http://dl.dropbox.com/u/1364565/temp/keka-0.1.2_p7zip-9.04_for_OSX_10.4_later.7z

    Check this link image.
    http://qkpic.com/4aaa4

    > Try http://www.kekaosx.com/release/keka-0.1.2.1.zip.
    > Your p7zip source with 64 bit support again. Will release hopefully this night.
    In keka-0.1.2.1.app's Resouce

    $ file keka7z 7z.so

    keka7z: Mach-O universal binary with 2 architectures
    keka7z (for architecture ppc64): Mach-O 64-bit executable ppc64
    keka7z (for architecture x86_64): Mach-O 64-bit executable x86_64

    7z.so: Mach-O universal binary with 2 architectures
    7z.so (for architecture ppc64): Mach-O 64-bit bundle ppc64
    7z.so (for architecture x86_64): Mach-O 64-bit bundle x86_64

    You might include i386 and ppc binary in keka7z. Above case, 32-bit system can't run keka.
    Because there are non-64bit capable CPU Mac. Also PPC exist.

    If you want support current Intel 64-bit core at the same time, you have to include x86_64 binary.
    So, 'file keka7z 7z.so' result is

    $ file keka7z 7z.so

    7z: Mach-O universal binary with 3 architectures
    7z (for architecture i386): Mach-O executable i386
    7z (for architecture ppc7400): Mach-O executable ppc
    7z (for architecture x86_64): Mach-O 64-bit executable x86_64

    7z.so: Mach-O universal binary with 3 architectures
    7z.so (for architecture i386): Mach-O bundle i386
    7z.so (for architecture ppc7400): Mach-O bundle ppc
    7z.so (for architecture x86_64): Mach-O 64-bit bundle x86_64

     
  • aONe

    aONe - 2009-12-23
    • status: open --> closed-fixed
     
  • aONe

    aONe - 2009-12-23

    I've released new 0.1.2.1 version. Binaries with fully support of intel/ppc 32/64. Thanks for all your help. I've used your source so I tell it in the about keka page.

    Will look 10.4 link ;)

     
  • aONe

    aONe - 2011-04-08

    I close the comment as the only new are spam.

     

Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

JavaScript is required for this form.





No, thanks