Menu

#55 error with make under macOS

closed
nobody
None
C64
macOS
2024-04-05
2024-03-13
Anonymous
No

Make under macOS Sonoma 14.4 is not possible.
The following error is issued:

install_name_tool -id @executable_path/../Frameworks/libfreetype.6.dylib out/Denise.app/Contents/Frameworks/libfreetype.6.dylib
error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: input file: out/Denise.app/Contents/Frameworks/libfreetype.6.dylib is not a Mach-O file
make: *** [build] Error 1

Discussion

  • PiCiJi

    PiCiJi - 2024-03-13

    It says that the freetype library is not a valid macOS binary.
    check your freetype lib: /usr/local/lib/libfreetype.6.dylib
    or compile freetype by yourself

    download latest source of freetype
    ./configure --enable-static --without-zlib --without-bzip2
    make
    sudo make install

     
  • Anonymous

    Anonymous - 2024-03-14

    Thanks for this hint.
    i allready had installed freetype before,
    but this command was helpfull:
    sudo ln -s /opt/homebrew/lib/libfreetype.6.dylib /usr/local/lib/libfreetype.6.dylib
    this also works:
    sudo ln -s /Applications/Denise.app/Contents/Frameworks/libfreetype.6.dylib /usr/local/lib/libfreetype.6.dylib

    But now i'm facing the next problem:
    File "data/dmgSettings.py", line 4, in <module>
    import biplist
    ModuleNotFoundError: No module named 'biplist'
    make: *** [install] Error 1</module>

    After i have manged to install biplist in an virtual environment, i'm facing the next problem:
      File "data/dmgSettings.py", line 25
    plist biplist.readPlist(plist_path)
          ^^^^^^^
    

    SyntaxError: invalid syntax
    make: *** [install] Error 1

    I'm not sure how to go on
    
     
  • Anonymous

    Anonymous - 2024-03-14

    Seems it's not working, i stuck agein in this error:

    File "data/dmgSettings.py", line 4, in <module>
    import biplist
    ModuleNotFoundError: No module named 'biplist'
    make: *** [install] Error 1</module>

     
  • Anonymous

    Anonymous - 2024-03-14

    I have noticed, that the make command allready has build the denise app in the 'out' folder, So it is not necassary to use the 'sudo make install' command.

    Thanks for your attantion

     
  • PiCiJi

    PiCiJi - 2024-03-14

    python -m pip install biplist

     
  • Anonymous

    Anonymous - 2024-03-15

    I tried this allready before:

    xxxxx@xxxxx-iMac ~ % python -m pip install biplist
    error: externally-managed-environment

    × This environment is externally managed
    ╰─> To install Python packages system-wide, try brew install
    xyz, where xyz is the package you are trying to
    install.

    If you wish to install a non-brew-packaged Python package,
    create a virtual environment using python3 -m venv path/to/venv.
    Then use path/to/venv/bin/python and path/to/venv/bin/pip.
    
    If you wish to install a non-brew packaged Python application,
    it may be easiest to use pipx install xyz, which will manage a
    virtual environment for you. Make sure you have pipx installed.
    

    note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
    hint: See PEP 668 for the detailed specification.

     
  • PiCiJi

    PiCiJi - 2024-03-15

    dmgbuild APP uses "dmgSettings.py" to build DMG from APP.
    I adjusted the default "dmgSettings.py" file at that time. I'm not familiar with the Python syntax though it seems the function "icon_from_app" in "dmgSettings.py" reads the ICON name from the "info.plist" in APP folder .
    It uses "biplist" for this. This seems to be problematic under newer macOS versions.
    I don't have Sonoma installed at the moment. But it is probably recommended to swap "biplist".
    If you have time, you can try customizing this function.

    def icon_from_app(app_path):
        plist_path = os.path.join(app_path, 'Contents', 'Info.plist')
        plist = biplist.readPlist(plist_path)
        icon_name = plist['CFBundleIconFile']
        icon_root,icon_ext = os.path.splitext(icon_name)
        if not icon_ext:
            icon_ext = '.icns'
        icon_name = icon_root + icon_ext
        return os.path.join(app_path, 'Contents', 'Resources', icon_name)
    

    I found this one in a hurry.
    replace biplist

     
  • Anonymous

    Anonymous - 2024-03-18

    Here is a new tryout with on a virgin macOS Sonoma-Version.
    I made it step by step, to see, if i can find a problem.
    At the end, i have now the problem with

    "module 'plistlib' has no attribute 'Data'"

    here the partly log:

    Last login: Mon Mar 18 11:36:01 on ttys000
                        'c.          claus@Clauss-iMac.local 
                     ,xNMM.          ----------------------- 
                   .OMMMMo           OS: macOS 14.0 23A5337a arm64 
                   OMMM0,            Host: iMac21,1 
         .;loddo:' loolloddol;.      Kernel: 23.0.0 
       cKMMMMMMMMMMNWMMMMMMMMMM0:    Uptime: 1 min 
     .KMMMMMMMMMMMMMMMMMMMMMMMWd.    Packages: 3 (brew) 
     XMMMMMMMMMMMMMMMMMMMMMMMX.      Shell: zsh 5.9 
    ;MMMMMMMMMMMMMMMMMMMMMMMM:       Resolution: 2560x1440, 1920x1080 
    :MMMMMMMMMMMMMMMMMMMMMMMM:       DE: Aqua 
    .MMMMMMMMMMMMMMMMMMMMMMMMX.      WM: Quartz Compositor 
     kMMMMMMMMMMMMMMMMMMMMMMMMWd.    WM Theme: Blue (Dark) 
     .XMMMMMMMMMMMMMMMMMMMMMMMMMMk   Terminal: Apple_Terminal 
    ls.XMMMMMMMMMMMMMMMMMMMMMMMMK.     Terminal Font: SFMono-Regular 
        kMMMMMMMMMMMMMMMMMMMMMMd     CPU: Apple M1 
         ;KMMMMMMMWXXWMMMMMMMk.      GPU: Apple M1 
           .cooc,.    .,coo:.        Memory: 1176MiB / 8192MiB 
    
    
    
    claus@Clauss-iMac denise % brew install pkg-config
    Running `brew update --auto-update`...
    ==> Downloading https://ghcr.io/v2/homebrew/portable-ruby/portable-ruby/blobs/sha256:d783cbeb6e6ef0d71c0b442317b54554370decd6fac66bf2d4938c07a63f67be
    ##################################################################################### 100.0%
    ==> Pouring portable-ruby-3.1.4.arm64_big_sur.bottle.tar.gz
    ==> Auto-updated Homebrew!
    Updated 2 taps (homebrew/core and homebrew/cask).
    ==> New Formulae
    abi3audit                      graphqlviz                     python-charset-normalizer
    action-validator               greenmask                      python-cycler
    actions-batch                  haiti                          python-dateutil
    aerleon                        halp                           python-flit-core
    ain                            helidon                        python-gdbm@3.12
    ali                            helm-docs                      python-idna
    amass                          helm-ls                        python-kiwisolver
    ansible@8                      hopscotch-map                  python-lxml
    apify-cli                      hyfetch                        python-matplotlib
    apkleaks                       icloudpd                       python-packaging
    apprise                        ignite                         python-ply
    appstream                      imgdiet                        python-psutil
    appwrite                       imgdiff                        python-pyparsing
    argc                           immer                          python-pytz
    asitop                         incus                          python-requests
    asmfmt                         inlyne                         python-setuptools
    asn                            instaloader                    python-setuptools-scm
    auditwheel                     intercept                      python-tk@3.12
    authz0                         invoice                        python-trove-classifiers
    autobrr                        iocextract                     python-urllib3
    awscli-local                   jot                            python@3.12
    badkeys                        jprq                           qalculate-qt
    bandicoot                      jr                             qbittorrent-cli
    bao                            json2ts                        rapidfuzz-cpp
    bashunit                       jupyter-r                      rathole
    bazel-diff                     k8sgpt                         rattler-build
    bazel-remote                   karmadactl                     raven
    biodiff                        kew                            rawdog
    biome                          kin                            rdap
    bkcrack                        kiota                          recoverpy
    blake3                         kor                            redress
    bluez                          kosli-cli                      redwax-tool
    bob                            ktfmt                          reflex
    bomber                         kubeshark                      regclient
    bounceback                     kubetui                        rekor-cli
    bozohttpd                      lager                          retire
    bpftop                         ldeep                          retry
    build2                         ldid-procursus                 richgo
    c3c                            legitify                       risor
    c4core                         libconfini                     roadrunner
    caracal                        libcyaml                       robin-map
    cargo-all-features             libdicom                       rsyncy
    cargo-binutils                 libdpp                         ruby@3.2
    cargo-deps                     libgit2@1.6                    ruler
    cargo-docset                   libimobiledevice-glue          saf-cli
    cargo-fuzz                     libjcat                        scala@3.3
    cargo-llvm-cov                 libjuice                       scarb
    cargo-sweep                    libmapper                      scikit-image
    cariddi                        libnghttp3                     scilla
    cdxgen                         libnsbmp                       scnlib
    cekit                          libnsgif                       scoutsuite
    certgraph                      liborigin                      seam
    certsync                       libsail                        senpai
    cf2tf                          libspelling                    shell2http
    cfripper                       libsql                         shellspec
    chainloop-cli                  libwapcaplet                   sigi
    chainsaw                       libxmlb                        sigma-cli
    changie                        limesuite                      signmykey
    chaoskube                      llvm@16                        sigstore
    checkdmarc                     lsusb-laniksj                  skate
    cherrybomb                     magic-wormhole.rs              sloth
    chisel-tunnel                  mariadb@11.0                   smlfmt
    cidr                           mariadb@11.1                   snakeviz
    cliam                          mariadb@11.2                   snyk-cli
    cloud-sql-proxy                massdriver                     solo2-cli
    cloudfox                       mdsh                           spacer
    cloudsplaining                 mediamtx                       spglib
    cmake-language-server          memray                         spicetify-cli
    codelimit                      mentat                         spidermonkey@91
    colmap                         meson-python                   sqlboiler
    cotp                           mfem                           sqlfmt
    counts                         mgis                           sqlsmith
    crunchy-cli                    minder                         squealer
    cryptopp                       mlx                            squiid
    csprecon                       mmdbinspect                    srgn
    csvlens                        modsecurity                    ssh-mitm
    cyclonedx-gomod                modsurfer                      ssh3
    cyclonedx-python               moon                           sshpass
    daktilo                        mtbl                           sshportal
    dalfox                         mtm                            steamguard-cli
    dcp                            mubeng                         sugarjar
    deadfinder                     ncmdump                        sui
    der-ascii                      neosync                        surelog
    dezoomify-rs                   netaddr                        tailspin
    dhall-toml                     netlistsvg                     tailwindcss
    dicebear                       netsurf-buildsystem            talhelper
    diffoci                        nmail                          taskopen
    direwolf                       node@20                        telegram-downloader
    dockerfile-language-server     noir                           terraform-graph-beautifier
    dockly                         noseyparker                    terraform-local
    doltgres                       notation                       terrapin-scanner
    doppler                        nowplaying-cli                 texi2mdoc
    dotslash                       npm-check-updates              texttest
    dotter                         numbat                         tf-profile
    dovi_tool                      nvimpager                      tfautomv
    drogon                         ocaml@4                        three-body
    eatmemory                      onionprobe                     tlrc
    edbrowse                       open-simh                      tomlplusplus
    edgevpn                        openjph                        toxiproxy
    envio                          opensca-cli                    tpm
    erlang_ls                      opentofu                       trafilatura
    eza                            orbiton                        typstfmt
    faircamp                       orbuculum                      udp2raw-multiplatform
    falco                          orcania                        uffizzi
    falcoctl                       orogene                        uhdm
    favirecon                      osctrl-cli                     urlscan
    flowpipe                       oslo                           uv
    flyscrape                      overtls                        uvicorn
    frozen                         pan                            veilid
    fwupd                          pass-import                    vet
    g-ls                           patat                          virtctl
    gdrive@2                       patch-package                  vrc-get
    geoip2fast                     pawk                           vulkan-profiles
    ggshield                       pciutils                       vulkan-utility-libraries
    ghc@9.4                        pdfalyzer                      vulkan-volk
    ghc@9.6                        pdfrip                         vulsio-gost
    gickup                         perl-xml-parser                vunnel
    gimmecert                      phodav                         wasmedge
    gismo                          php@8.2                        web-ext
    git-grab                       phylum-cli                     whisper-cpp
    git-mediate                    pivit                          witness
    git-split-diffs                pkl                            woodpecker-cli
    gitea                          pmix                           wormhole-william
    gitsign                        podman-tui                     wstunnel
    gittuf                         postgresql@16                  wtfis
    glasskube                      powerlevel10k                  xcode-build-server
    glbinding@2                    presenterm                     xeol
    gnmic                          prjtrellis                     xnvme
    go@1.21                        proto                          yatas
    goread                         pter                           yazi
    goresym                        purr                           yder
    gossip                         pwned                          zigmod
    gotestwaf                      pyspelling                     zipkin
    gotpm                          pystring                       zix
    gptline                        python-argcomplete             zug
    gptscript                      python-chardet
    ==> New Casks
    acreom                         gstreamer-runtime              ovito-pro
    affine                         hancom-docs                    paulxstretch
    aifun                          hapigo                         pile
    akuity                         heynote                        piphero
    amie                           hhkb                           playdate-mirror
    amneziavpn                     hides                          posture-pal
    anka-build-cloud-controller    hoppscotch                     prettyclean
    anka-build-cloud-registry      hp-easy-admin                  proton-drive
    apidog-europe                  hypercal                       proton-mail
    aqua                           ia-markdown-dictionary         proxy-audio-device
    arturia-software-center        ia-presenter                   qdirstat
    ava                            ibkr                           reader
    batchoutput-pdf                imazing-profile-editor         recipeui
    batteryboi                     insomnium                      reqable
    bezel                          instantview                    rippling
    bitbox                         jamie                          roam
    blockstream-green              jan                            rode-central
    brickstore                     jazz2-resurrection             routine
    brightintosh                   jordanbaird-ice                rustrover
    btp                            json-viewer                    sakura
    bugdom2                        jyutping                       salt
    cahier                         keyboard-cowboy                screens-assist
    cardo-update                   keymapp                        segger-ozone
    chainner                       kit                            senabluetoothdevicemanager
    cleanclip                      kreya                          sf
    cleanupbuddy                   kuaitie                        shadow-bot
    clibor                         libndi                         simple-web-server
    clickhouse                     lightburn                      simplex
    cloudnet                       low-profile                    songkong
    codewhisperer                  lunarbar                       space-capsule
    commandpost                    lw-scanner                     spacedrive
    creality-print                 lyricsfinder                   sparkplate
    deelay                         markedit                       spundle
    deskpad                        mdb-accdb-viewer               stashpad
    deveco-studio                  mediamate                      streammusic
    devtunnel                      meld-studio                    taccy
    dnsmonitor                     metamer                        telegram-a
    dockx                          mindmac                        theiaide
    domzilla-caffeine              mitmproxy                      timelapze
    dosbox-staging                 modrinth                       timemachinestatus
    douyin-chat                    monotype                       to-audio-converter
    draw-things                    motion                         truhu
    dropbox-dash                   mumuplayer                     tunetag
    dropshelf                      music-decoy                    twelite-stage
    easydevo                       mutedeck                       updf
    ecodms-client                  muyu                           upscayl
    effect-house                   navigraph-charts               vimcal
    egovframedev                   navigraph-simlink              viso
    elecom-mouse-util              nightshade                     wakatime
    emby                           notes-better                   wave
    endless-sky-high-dpi           notesollama                    wetype
    expo-orbit                     nperf                          wifiman
    finbar                         nrfutil                        wiso-steuer-2022
    fixkey                         nvs                            wiso-steuer-2023
    floorp                         nx-studio                      wiso-steuer-2024
    focusrite-control-2            october                        writerside
    fossa                          ok-json                        xact
    free-podcast-transcription     ollama                         xliff-editor
    freeshow                       ollamac                        xsplit-vcam
    garmin-basecamp                opencat                        yes24-ebook
    geekbench-ml                   openthesaurus-deutsch          youlean-loudness-meter
    gitbutler                      orka3                          znote
    greenery                       overlayed                      zui
    gstreamer-development          ovito
    
    You have 1 outdated formula installed.
    
    ==> Downloading https://ghcr.io/v2/homebrew/core/pkg-config/manifests/0.29.2_3
    ##################################################################################### 100.0%
    ==> Fetching pkg-config
    ==> Downloading https://ghcr.io/v2/homebrew/core/pkg-config/blobs/sha256:7b59abc0b5381065b1e
    ##################################################################################### 100.0%
    ==> Pouring pkg-config--0.29.2_3.arm64_sonoma.bottle.tar.gz
    🍺  /opt/homebrew/Cellar/pkg-config/0.29.2_3: 11 files, 676.7KB
    ==> Running `brew cleanup pkg-config`...
    Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
    Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).
    claus@Clauss-iMac denise % cp /opt/homebrew/bin/pkg-config /usr/local/bin
    cp: /usr/local/bin/pkg-config: Permission denied
    claus@Clauss-iMac denise % sudo cp /opt/homebrew/bin/pkg-config /usr/local/bin
    Password:
    claus@Clauss-iMac denise % make
    Package freetype2 was not found in the pkg-config search path.
    Perhaps you should add the directory containing `freetype2.pc'
    to the PKG_CONFIG_PATH environment variable
    No package 'freetype2' found
    if [ -d out/Denise.app ]; then rm -r out/Denise.app; fi
    mkdir out/Denise.app
    mkdir out/Denise.app/Contents
    mkdir out/Denise.app/Contents/Frameworks
    mkdir out/Denise.app/Contents/MacOS
    mkdir out/Denise.app/Contents/Resources
    mkdir out/Denise.app/Contents/Resources/translation
    mkdir out/Denise.app/Contents/Resources/data
    mkdir out/Denise.app/Contents/Resources/fonts
    mkdir out/Denise.app/Contents/Resources/shader
    mkdir out/Denise.app/Contents/Resources/img
    mkdir out/Denise.app/Contents/Resources/sounds
    cp data/Info.plist out/Denise.app/Contents/Info.plist
    cp data/translation/* out/Denise.app/Contents/Resources/translation/
    cp data/data/* out/Denise.app/Contents/Resources/data/
    cp data/fonts/*.ttf out/Denise.app/Contents/Resources/fonts/
    cp data/img/bundle/* out/Denise.app/Contents/Resources/img/
    cp -r data/sounds/* out/Denise.app/Contents/Resources/sounds/
    cp -r data/shader/* out/Denise.app/Contents/Resources/shader/
    cp -r data/txt/licence.md out/Denise.app/Contents/Resources/
    cp -r readme.md out/Denise.app/Contents/Resources/
    cp data/img/denise.icns out/Denise.app/Contents/Resources/Denise.icns
    find obj -iname "*.d" -type f -exec sed -i '' '1 s/$(wildcard //;1 s/.o:/.o: $\(wildcard/;$ s/)//;$ s/$/\)/' {} \;
    clang++ -o out/Denise.app/Contents/MacOS/Denise obj/program.o obj/view.o obj/config.o obj/emuconfig.o obj/emumodel.o obj/mediaview.o obj/archiveviewer.o obj/states.o obj/firmware.o obj/cmd.o obj/statusbar.o obj/input.o obj/audio.o obj/video.o obj/palette.o obj/shader.o obj/bass.o obj/reverb.o obj/panning.o obj/audiorecord.o obj/wavwriter.o obj/sinc.o obj/cosine.o obj/cosineSSE.o obj/driveSounds.o obj/guikit.o obj/libAmi.o obj/libC64.o obj/autoloader.o obj/fileloader.o obj/renderthread.o obj/emuthread.o obj/driver.o obj/systemAmi.o obj/agnusAmi.o obj/inputAmi.o obj/controlPortAmi.o obj/keyboardAmi.o obj/blitter.o obj/copper.o obj/denise.o obj/paula.o obj/diskDriveAmi.o obj/diskStructureAmi.o obj/sectorBlockAmi.o obj/filesystemAmi.o obj/rtcAmi.o obj/m6510.o obj/ciaBase.o obj/cia6526.o obj/ciaNew.o obj/vicIIBase.o obj/vicIICycle.o obj/vicIIFast.o obj/systemC64.o obj/sid.o obj/chamberlin.o obj/tapeC64.o obj/tapeStructureC64.o obj/inputC64.o obj/controlPortC64.o obj/acia.o obj/gluelogic.o obj/cartC64.o obj/gameCartC64.o obj/freezerC64.o obj/reuC64.o obj/easyFlashC64.o obj/easyFlash3C64.o obj/retroReplayC64.o obj/gmod2C64.o obj/clipboardC64.o obj/geoRamC64.o obj/fastloaderC64.o obj/keyBufferC64.o obj/sidManager.o obj/m6502.o obj/via.o obj/iec.o obj/prg64.o obj/driveC64.o obj/diskStructureC64.o obj/firmwareC64.o obj/pia.o obj/traps64.o obj/virtualDrive64.o obj/wd1770.o obj/m93c86.o obj/mx29lv640eb.o obj/icons.o obj/logos.o obj/fonts.o obj/socket.o obj/fpaq0.o obj/dmspacker.o obj/DLLoader.o obj/m68000.o obj/m68000Core.o -lc++ -lobjc -s -framework Cocoa -framework CoreVideo -framework Cocoa -framework OpenAL -framework IOKit -framework Carbon -framework OpenGL -framework CoreAudio -framework AudioToolbox -framework AudioUnit
    ld: warning: -s is obsolete
    ld: warning: ignoring duplicate libraries: '-lc++'
    ld: Undefined symbols:
      _FT_Done_Face, referenced from:
          DRIVER::OpenGLText::term() in driver.o
          DRIVER::Freetype::init() in driver.o
          DRIVER::OpenGLText::~OpenGLText() in driver.o
      _FT_Done_FreeType, referenced from:
          DRIVER::OpenGLText::term() in driver.o
          DRIVER::Freetype::init() in driver.o
          DRIVER::OpenGLText::~OpenGLText() in driver.o
      _FT_Init_FreeType, referenced from:
          DRIVER::Freetype::init() in driver.o
      _FT_Load_Char, referenced from:
          DRIVER::Freetype::buildTexture(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>&) in driver.o
          DRIVER::Freetype::buildTexture(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>&) in driver.o
      _FT_New_Face, referenced from:
          DRIVER::Freetype::init() in driver.o
      _FT_New_Memory_Face, referenced from:
          DRIVER::Freetype::init() in driver.o
      _FT_Set_Pixel_Sizes, referenced from:
          DRIVER::OpenGL::init() in driver.o
          DRIVER::Freetype::init() in driver.o
    clang: error: linker command failed with exit code 1 (use -v to see invocation)
    make: *** [build] Error 1
    claus@Clauss-iMac denise % locate freetype
    
    WARNING: The locate database (/var/db/locate.database) does not exist.
    To create the database, run the following command:
    
      sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plist
    
    Please be aware that the database can take some time to generate; once
    the database has been created, this message will no longer appear.
    
    claus@Clauss-iMac denise % locate freetype2
    
    WARNING: The locate database (/var/db/locate.database) does not exist.
    To create the database, run the following command:
    
      sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plist
    
    Please be aware that the database can take some time to generate; once
    the database has been created, this message will no longer appear.
    
    claus@Clauss-iMac denise % brew install freetype
    ==> Downloading https://ghcr.io/v2/homebrew/core/freetype/manifests/2.13.2-1
    ##################################################################################### 100.0%
    ==> Fetching dependencies for freetype: libpng
    ==> Downloading https://ghcr.io/v2/homebrew/core/libpng/manifests/1.6.43
    ##################################################################################### 100.0%
    ==> Fetching libpng
    ==> Downloading https://ghcr.io/v2/homebrew/core/libpng/blobs/sha256:37936ba5cd5a1e736908a26
    ##################################################################################### 100.0%
    ==> Fetching freetype
    ==> Downloading https://ghcr.io/v2/homebrew/core/freetype/blobs/sha256:8966d44484907e98ea2b0
    ##################################################################################### 100.0%
    ==> Installing dependencies for freetype: libpng
    ==> Installing freetype dependency: libpng
    ==> Downloading https://ghcr.io/v2/homebrew/core/libpng/manifests/1.6.43
    Already downloaded: /Users/claus/Library/Caches/Homebrew/downloads/dd618b09b8d6d4b89203b771528951e5309631cc3afd8dc1236f0e98965f2b67--libpng-1.6.43.bottle_manifest.json
    ==> Pouring libpng--1.6.43.arm64_sonoma.bottle.tar.gz
    🍺  /opt/homebrew/Cellar/libpng/1.6.43: 27 files, 1.3MB
    ==> Installing freetype
    ==> Pouring freetype--2.13.2.arm64_sonoma.bottle.1.tar.gz
    🍺  /opt/homebrew/Cellar/freetype/2.13.2: 67 files, 2.4MB
    ==> Running `brew cleanup freetype`...
    Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
    Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).
    claus@Clauss-iMac denise % make
    if [ -d out/Denise.app ]; then rm -r out/Denise.app; fi
    mkdir out/Denise.app
    mkdir out/Denise.app/Contents
    mkdir out/Denise.app/Contents/Frameworks
    mkdir out/Denise.app/Contents/MacOS
    mkdir out/Denise.app/Contents/Resources
    mkdir out/Denise.app/Contents/Resources/translation
    mkdir out/Denise.app/Contents/Resources/data
    mkdir out/Denise.app/Contents/Resources/fonts
    mkdir out/Denise.app/Contents/Resources/shader
    mkdir out/Denise.app/Contents/Resources/img
    mkdir out/Denise.app/Contents/Resources/sounds
    cp data/Info.plist out/Denise.app/Contents/Info.plist
    cp data/translation/* out/Denise.app/Contents/Resources/translation/
    cp data/data/* out/Denise.app/Contents/Resources/data/
    cp data/fonts/*.ttf out/Denise.app/Contents/Resources/fonts/
    cp data/img/bundle/* out/Denise.app/Contents/Resources/img/
    cp -r data/sounds/* out/Denise.app/Contents/Resources/sounds/
    cp -r data/shader/* out/Denise.app/Contents/Resources/shader/
    cp -r data/txt/licence.md out/Denise.app/Contents/Resources/
    cp -r readme.md out/Denise.app/Contents/Resources/
    cp data/img/denise.icns out/Denise.app/Contents/Resources/Denise.icns
    find obj -iname "*.d" -type f -exec sed -i '' '1 s/$(wildcard //;1 s/.o:/.o: $\(wildcard/;$ s/)//;$ s/$/\)/' {} \;
    clang++ -o out/Denise.app/Contents/MacOS/Denise obj/program.o obj/view.o obj/config.o obj/emuconfig.o obj/emumodel.o obj/mediaview.o obj/archiveviewer.o obj/states.o obj/firmware.o obj/cmd.o obj/statusbar.o obj/input.o obj/audio.o obj/video.o obj/palette.o obj/shader.o obj/bass.o obj/reverb.o obj/panning.o obj/audiorecord.o obj/wavwriter.o obj/sinc.o obj/cosine.o obj/cosineSSE.o obj/driveSounds.o obj/guikit.o obj/libAmi.o obj/libC64.o obj/autoloader.o obj/fileloader.o obj/renderthread.o obj/emuthread.o obj/driver.o obj/systemAmi.o obj/agnusAmi.o obj/inputAmi.o obj/controlPortAmi.o obj/keyboardAmi.o obj/blitter.o obj/copper.o obj/denise.o obj/paula.o obj/diskDriveAmi.o obj/diskStructureAmi.o obj/sectorBlockAmi.o obj/filesystemAmi.o obj/rtcAmi.o obj/m6510.o obj/ciaBase.o obj/cia6526.o obj/ciaNew.o obj/vicIIBase.o obj/vicIICycle.o obj/vicIIFast.o obj/systemC64.o obj/sid.o obj/chamberlin.o obj/tapeC64.o obj/tapeStructureC64.o obj/inputC64.o obj/controlPortC64.o obj/acia.o obj/gluelogic.o obj/cartC64.o obj/gameCartC64.o obj/freezerC64.o obj/reuC64.o obj/easyFlashC64.o obj/easyFlash3C64.o obj/retroReplayC64.o obj/gmod2C64.o obj/clipboardC64.o obj/geoRamC64.o obj/fastloaderC64.o obj/keyBufferC64.o obj/sidManager.o obj/m6502.o obj/via.o obj/iec.o obj/prg64.o obj/driveC64.o obj/diskStructureC64.o obj/firmwareC64.o obj/pia.o obj/traps64.o obj/virtualDrive64.o obj/wd1770.o obj/m93c86.o obj/mx29lv640eb.o obj/icons.o obj/logos.o obj/fonts.o obj/socket.o obj/fpaq0.o obj/dmspacker.o obj/DLLoader.o obj/m68000.o obj/m68000Core.o -lc++ -lobjc -s -framework Cocoa -framework CoreVideo -framework Cocoa -framework OpenAL -L/opt/homebrew/opt/freetype/lib -L/opt/homebrew/opt/libpng/lib -lfreetype -lbz2 -lpng16 -lz -framework IOKit -framework Carbon -framework OpenGL -framework CoreAudio -framework AudioToolbox -framework AudioUnit
    ld: warning: -s is obsolete
    ld: warning: ignoring duplicate libraries: '-lc++'
    install -m 755 /usr/local/lib/libfreetype.6.dylib out/Denise.app/Contents/Frameworks/
    install: /usr/local/lib/libfreetype.6.dylib: No such file or directory
    make: *** [build] Error 71
    
    //
    // here i copied the 'libfreetype.6.dylib' to the path /usr/local/lib/
    //
    
    claus@Clauss-iMac denise % sudo pip3 install dmgbuild
    WARNING: The directory '/Users/claus/Library/Caches/pip' or its parent directory is not owned or is not writable by the current user. The cache has been disabled. Check the permissions and owner of that directory. If executing pip with sudo, you should use sudo's -H flag.
    Collecting dmgbuild
      Downloading dmgbuild-1.6.1-py3-none-any.whl (36 kB)
    Collecting ds-store>=1.1.0
      Downloading ds_store-1.3.1-py3-none-any.whl (16 kB)
    Collecting mac-alias>=2.0.1
      Downloading mac_alias-2.2.2-py3-none-any.whl (21 kB)
    Installing collected packages: mac-alias, ds-store, dmgbuild
    Successfully installed dmgbuild-1.6.1 ds-store-1.3.1 mac-alias-2.2.2
    WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
    WARNING: You are using pip version 21.2.4; however, version 24.0 is available.
    You should consider upgrading via the '/Library/Developer/CommandLineTools/usr/bin/python3 -m pip install --upgrade pip' command.
    
    claus@Clauss-iMac denise % make
    if [ -d out/Denise.app ]; then rm -r out/Denise.app; fi
    mkdir out/Denise.app
    mkdir out/Denise.app/Contents
    mkdir out/Denise.app/Contents/Frameworks
    mkdir out/Denise.app/Contents/MacOS
    mkdir out/Denise.app/Contents/Resources
    mkdir out/Denise.app/Contents/Resources/translation
    mkdir out/Denise.app/Contents/Resources/data
    mkdir out/Denise.app/Contents/Resources/fonts
    mkdir out/Denise.app/Contents/Resources/shader
    mkdir out/Denise.app/Contents/Resources/img
    mkdir out/Denise.app/Contents/Resources/sounds
    cp data/Info.plist out/Denise.app/Contents/Info.plist
    cp data/translation/* out/Denise.app/Contents/Resources/translation/
    cp data/data/* out/Denise.app/Contents/Resources/data/
    cp data/fonts/*.ttf out/Denise.app/Contents/Resources/fonts/
    cp data/img/bundle/* out/Denise.app/Contents/Resources/img/
    cp -r data/sounds/* out/Denise.app/Contents/Resources/sounds/
    cp -r data/shader/* out/Denise.app/Contents/Resources/shader/
    cp -r data/txt/licence.md out/Denise.app/Contents/Resources/
    cp -r readme.md out/Denise.app/Contents/Resources/
    cp data/img/denise.icns out/Denise.app/Contents/Resources/Denise.icns
    find obj -iname "*.d" -type f -exec sed -i '' '1 s/$(wildcard //;1 s/.o:/.o: $\(wildcard/;$ s/)//;$ s/$/\)/' {} \;
    clang++ -o out/Denise.app/Contents/MacOS/Denise obj/program.o obj/view.o obj/config.o obj/emuconfig.o obj/emumodel.o obj/mediaview.o obj/archiveviewer.o obj/states.o obj/firmware.o obj/cmd.o obj/statusbar.o obj/input.o obj/audio.o obj/video.o obj/palette.o obj/shader.o obj/bass.o obj/reverb.o obj/panning.o obj/audiorecord.o obj/wavwriter.o obj/sinc.o obj/cosine.o obj/cosineSSE.o obj/driveSounds.o obj/guikit.o obj/libAmi.o obj/libC64.o obj/autoloader.o obj/fileloader.o obj/renderthread.o obj/emuthread.o obj/driver.o obj/systemAmi.o obj/agnusAmi.o obj/inputAmi.o obj/controlPortAmi.o obj/keyboardAmi.o obj/blitter.o obj/copper.o obj/denise.o obj/paula.o obj/diskDriveAmi.o obj/diskStructureAmi.o obj/sectorBlockAmi.o obj/filesystemAmi.o obj/rtcAmi.o obj/m6510.o obj/ciaBase.o obj/cia6526.o obj/ciaNew.o obj/vicIIBase.o obj/vicIICycle.o obj/vicIIFast.o obj/systemC64.o obj/sid.o obj/chamberlin.o obj/tapeC64.o obj/tapeStructureC64.o obj/inputC64.o obj/controlPortC64.o obj/acia.o obj/gluelogic.o obj/cartC64.o obj/gameCartC64.o obj/freezerC64.o obj/reuC64.o obj/easyFlashC64.o obj/easyFlash3C64.o obj/retroReplayC64.o obj/gmod2C64.o obj/clipboardC64.o obj/geoRamC64.o obj/fastloaderC64.o obj/keyBufferC64.o obj/sidManager.o obj/m6502.o obj/via.o obj/iec.o obj/prg64.o obj/driveC64.o obj/diskStructureC64.o obj/firmwareC64.o obj/pia.o obj/traps64.o obj/virtualDrive64.o obj/wd1770.o obj/m93c86.o obj/mx29lv640eb.o obj/icons.o obj/logos.o obj/fonts.o obj/socket.o obj/fpaq0.o obj/dmspacker.o obj/DLLoader.o obj/m68000.o obj/m68000Core.o -lc++ -lobjc -s -framework Cocoa -framework CoreVideo -framework Cocoa -framework OpenAL -L/opt/homebrew/opt/freetype/lib -L/opt/homebrew/opt/libpng/lib -lfreetype -lbz2 -lpng16 -lz -framework IOKit -framework Carbon -framework OpenGL -framework CoreAudio -framework AudioToolbox -framework AudioUnit
    ld: warning: -s is obsolete
    ld: warning: ignoring duplicate libraries: '-lc++'
    install -m 755 /usr/local/lib/libfreetype.6.dylib out/Denise.app/Contents/Frameworks/
    install_name_tool -id @executable_path/../Frameworks/libfreetype.6.dylib out/Denise.app/Contents/Frameworks/libfreetype.6.dylib
    /Library/Developer/CommandLineTools/usr/bin/install_name_tool: warning: changes being made to the file will invalidate the code signature in: out/Denise.app/Contents/Frameworks/libfreetype.6.dylib
    install_name_tool -change `otool -D /usr/local/lib/libfreetype.6.dylib | cut -d':' -f2` @executable_path/../Frameworks/libfreetype.6.dylib out/Denise.app/Contents/MacOS/Denise
    codesign --force --deep -s - out/Denise.app
    out/Denise.app: replacing existing signature
    claus@Clauss-iMac denise % sudo make install
    Password:
    dmgbuild -s data/dmgSettings.py "Denise" out/Denise.dmg
    Traceback (most recent call last):
      File "/usr/local/bin/dmgbuild", line 8, in <module>
        sys.exit(main())
      File "/Library/Python/3.9/site-packages/dmgbuild/__main__.py", line 48, in main
        build_dmg(
      File "/Library/Python/3.9/site-packages/dmgbuild/core.py", line 243, in build_dmg
        load_settings(settings_file, options)
      File "/Library/Python/3.9/site-packages/dmgbuild/core.py", line 73, in load_settings
        exec(compile(fp.read(), filename, "exec"), settings, settings)
      File "data/dmgSettings.py", line 4, in <module>
        import biplist
    ModuleNotFoundError: No module named 'biplist'
    make: *** [install] Error 1
    claus@Clauss-iMac denise % pip3 install biplist
    Defaulting to user installation because normal site-packages is not writeable
    Collecting biplist
      Downloading biplist-1.0.3.tar.gz (21 kB)
      Preparing metadata (setup.py) ... done
    Building wheels for collected packages: biplist
      Building wheel for biplist (setup.py) ... done
      Created wheel for biplist: filename=biplist-1.0.3-py3-none-any.whl size=11116 sha256=ac60a97916dd0c0de259469048b930b55d3525a11c603088c8eef3d6c8f5cf52
      Stored in directory: /Users/claus/Library/Caches/pip/wheels/c1/d7/9a/22b354179ee086901dc008a0b0c339bc0f528aa3a2c7c89302
    Successfully built biplist
    Installing collected packages: biplist
    Successfully installed biplist-1.0.3
    claus@Clauss-iMac denise % sudo make install   
    dmgbuild -s data/dmgSettings.py "Denise" out/Denise.dmg
    Traceback (most recent call last):
      File "/Users/claus/Library/Python/3.9/lib/python/site-packages/biplist/__init__.py", line 126, in readPlist
        result = reader.parse()
      File "/Users/claus/Library/Python/3.9/lib/python/site-packages/biplist/__init__.py", line 234, in parse
        return self.readRoot()
      File "/Users/claus/Library/Python/3.9/lib/python/site-packages/biplist/__init__.py", line 248, in readRoot
        raise NotBinaryPlistException()
    biplist.NotBinaryPlistException
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "/Users/claus/Library/Python/3.9/lib/python/site-packages/biplist/__init__.py", line 141, in readPlist
        result = wrapDataObject(result, for_binary=True)
      File "/Users/claus/Library/Python/3.9/lib/python/site-packages/biplist/__init__.py", line 154, in wrapDataObject
        elif isinstance(o, (bytes, plistlib.Data)) and for_binary:
    AttributeError: module 'plistlib' has no attribute 'Data'
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "/usr/local/bin/dmgbuild", line 8, in <module>
        sys.exit(main())
      File "/Library/Python/3.9/site-packages/dmgbuild/__main__.py", line 48, in main
        build_dmg(
      File "/Library/Python/3.9/site-packages/dmgbuild/core.py", line 243, in build_dmg
        load_settings(settings_file, options)
      File "/Library/Python/3.9/site-packages/dmgbuild/core.py", line 73, in load_settings
        exec(compile(fp.read(), filename, "exec"), settings, settings)
      File "data/dmgSettings.py", line 64, in <module>
        badge_icon = icon_from_app(application)
      File "data/dmgSettings.py", line 25, in icon_from_app
        plist = biplist.readPlist(plist_path)
      File "/Users/claus/Library/Python/3.9/lib/python/site-packages/biplist/__init__.py", line 143, in readPlist
        raise InvalidPlistException(e)
    biplist.InvalidPlistException: module 'plistlib' has no attribute 'Data'
    make: *** [install] Error 1
    claus@Clauss-iMac denise %                       
    
     
  • Anonymous

    Anonymous - 2024-03-19

    When I finish my current task, I try 'plistlib' .

     
    • Anonymous

      Anonymous - 2024-03-19

      Take your time and worry about your important things first.

       
  • PiCiJi

    PiCiJi - 2024-03-21

    There is no reason to programmatically read the icon name from the Info.plist. Delete the function "icon_from_app" and edit line 64:
    edit line 64:
    badge_icon = os.path.join(application, 'Contents', 'Resources', 'Denise.icns')
    I'll change it that way later. so there shouldn't any dependancy to biplist or plistlib

     
    • Anonymous

      Anonymous - 2024-03-21

      Great,
      this is working now.
      I thank you very much for your great support on this.

       
  • PiCiJi

    PiCiJi - 2024-04-05
    • status: open --> closed
     

Anonymous
Anonymous

Add attachments
Cancel





MongoDB Logo MongoDB