[{"data":1,"prerenderedAt":1579},["ShallowReactive",2],{"page-en-\u002Fbuild-linux":3},{"id":4,"title":5,"body":6,"description":16,"draft":1571,"extension":1572,"hero":1573,"meta":1574,"navigation":602,"path":1575,"seo":1576,"stem":1577,"tags":1573,"updatedAt":1573,"__hash__":1578},"content_en\u002Fbuild-linux.md","Build Drop Compress Image for Linux",{"type":7,"value":8,"toc":1527},"minimark",[9,13,17,22,25,38,42,45,85,89,92,196,201,246,250,263,266,270,273,277,309,312,316,333,336,361,365,384,393,397,400,404,451,455,474,477,481,484,488,505,509,521,525,528,532,570,574,658,662,665,682,685,848,851,899,902,924,928,931,935,956,960,977,981,1003,1007,1010,1027,1030,1047,1053,1057,1060,1064,1067,1078,1084,1088,1091,1101,1107,1110,1134,1138,1141,1165,1171,1175,1179,1373,1377,1380,1444,1448,1451,1476,1480,1483,1520,1523],[10,11,5],"h1",{"id":12},"build-drop-compress-image-for-linux",[14,15,16],"p",{},"This guide walks you through setting up the development environment and building Drop Compress Image on Ubuntu 24.04 LTS (and similar Debian-based distributions).",[18,19,21],"h2",{"id":20},"prerequisites","Prerequisites",[14,23,24],{},"Before you begin, make sure you have:",[26,27,28,32,35],"ul",{},[29,30,31],"li",{},"Ubuntu 24.04 LTS or similar Debian-based distribution",[29,33,34],{},"Sudo privileges for installing software",[29,36,37],{},"Basic familiarity with terminal commands",[18,39,41],{"id":40},"step-1-update-system-packages","Step 1: Update System Packages",[14,43,44],{},"First, update your system packages to ensure you have the latest versions:",[46,47,52],"pre",{"className":48,"code":49,"language":50,"meta":51,"style":51},"language-bash shiki shiki-themes github-light github-dark","sudo apt update\nsudo apt upgrade -y\n","bash","",[53,54,55,71],"code",{"__ignoreMap":51},[56,57,60,64,68],"span",{"class":58,"line":59},"line",1,[56,61,63],{"class":62},"sScJk","sudo",[56,65,67],{"class":66},"sZZnC"," apt",[56,69,70],{"class":66}," update\n",[56,72,74,76,78,81],{"class":58,"line":73},2,[56,75,63],{"class":62},[56,77,67],{"class":66},[56,79,80],{"class":66}," upgrade",[56,82,84],{"class":83},"sj4cs"," -y\n",[18,86,88],{"id":87},"step-2-install-build-dependencies","Step 2: Install Build Dependencies",[14,90,91],{},"Install the essential build tools and libraries required for Tauri development:",[46,93,95],{"className":48,"code":94,"language":50,"meta":51,"style":51},"# Install build essentials and development libraries\nsudo apt install -y \\\n  build-essential \\\n  curl \\\n  wget \\\n  file \\\n  libssl-dev \\\n  libgtk-3-dev \\\n  libayatana-appindicator3-dev \\\n  librsvg2-dev \\\n  libwebkit2gtk-4.1-dev \\\n  patchelf\n",[53,96,97,103,118,126,134,142,150,158,166,174,182,190],{"__ignoreMap":51},[56,98,99],{"class":58,"line":59},[56,100,102],{"class":101},"sJ8bj","# Install build essentials and development libraries\n",[56,104,105,107,109,112,115],{"class":58,"line":73},[56,106,63],{"class":62},[56,108,67],{"class":66},[56,110,111],{"class":66}," install",[56,113,114],{"class":83}," -y",[56,116,117],{"class":83}," \\\n",[56,119,121,124],{"class":58,"line":120},3,[56,122,123],{"class":66},"  build-essential",[56,125,117],{"class":83},[56,127,129,132],{"class":58,"line":128},4,[56,130,131],{"class":66},"  curl",[56,133,117],{"class":83},[56,135,137,140],{"class":58,"line":136},5,[56,138,139],{"class":66},"  wget",[56,141,117],{"class":83},[56,143,145,148],{"class":58,"line":144},6,[56,146,147],{"class":66},"  file",[56,149,117],{"class":83},[56,151,153,156],{"class":58,"line":152},7,[56,154,155],{"class":66},"  libssl-dev",[56,157,117],{"class":83},[56,159,161,164],{"class":58,"line":160},8,[56,162,163],{"class":66},"  libgtk-3-dev",[56,165,117],{"class":83},[56,167,169,172],{"class":58,"line":168},9,[56,170,171],{"class":66},"  libayatana-appindicator3-dev",[56,173,117],{"class":83},[56,175,177,180],{"class":58,"line":176},10,[56,178,179],{"class":66},"  librsvg2-dev",[56,181,117],{"class":83},[56,183,185,188],{"class":58,"line":184},11,[56,186,187],{"class":66},"  libwebkit2gtk-4.1-dev",[56,189,117],{"class":83},[56,191,193],{"class":58,"line":192},12,[56,194,195],{"class":66},"  patchelf\n",[197,198,200],"h3",{"id":199},"what-these-packages-do","What These Packages Do",[26,202,203,210,216,222,228,234,240],{},[29,204,205,209],{},[206,207,208],"strong",{},"build-essential",": Provides GCC, G++, and make",[29,211,212,215],{},[206,213,214],{},"libssl-dev",": OpenSSL development libraries",[29,217,218,221],{},[206,219,220],{},"libgtk-3-dev",": GTK3 development libraries for UI",[29,223,224,227],{},[206,225,226],{},"libayatana-appindicator3-dev",": System tray support",[29,229,230,233],{},[206,231,232],{},"librsvg2-dev",": SVG rendering support",[29,235,236,239],{},[206,237,238],{},"libwebkit2gtk-4.1-dev",": WebKit for Tauri's webview",[29,241,242,245],{},[206,243,244],{},"patchelf",": ELF binary patcher for AppImage",[197,247,249],{"id":248},"verify-installation","Verify Installation",[46,251,253],{"className":48,"code":252,"language":50,"meta":51,"style":51},"gcc --version\n",[53,254,255],{"__ignoreMap":51},[56,256,257,260],{"class":58,"line":59},[56,258,259],{"class":62},"gcc",[56,261,262],{"class":83}," --version\n",[14,264,265],{},"You should see output showing GCC version 13.x or higher.",[18,267,269],{"id":268},"step-3-install-rust","Step 3: Install Rust",[14,271,272],{},"Drop Compress Image is built with Rust, so you'll need to install the Rust toolchain.",[197,274,276],{"id":275},"install-rust-via-rustup","Install Rust via rustup",[46,278,280],{"className":48,"code":279,"language":50,"meta":51,"style":51},"curl --proto '=https' --tlsv1.2 -sSf https:\u002F\u002Fsh.rustup.rs | sh\n",[53,281,282],{"__ignoreMap":51},[56,283,284,287,290,293,296,299,302,306],{"class":58,"line":59},[56,285,286],{"class":62},"curl",[56,288,289],{"class":83}," --proto",[56,291,292],{"class":66}," '=https'",[56,294,295],{"class":83}," --tlsv1.2",[56,297,298],{"class":83}," -sSf",[56,300,301],{"class":66}," https:\u002F\u002Fsh.rustup.rs",[56,303,305],{"class":304},"szBVR"," |",[56,307,308],{"class":62}," sh\n",[14,310,311],{},"When prompted, choose option 1 (default installation).",[197,313,315],{"id":314},"configure-your-shell","Configure Your Shell",[46,317,319],{"className":48,"code":318,"language":50,"meta":51,"style":51},"source $HOME\u002F.cargo\u002Fenv\n",[53,320,321],{"__ignoreMap":51},[56,322,323,326,330],{"class":58,"line":59},[56,324,325],{"class":83},"source",[56,327,329],{"class":328},"sVt8B"," $HOME",[56,331,332],{"class":66},"\u002F.cargo\u002Fenv\n",[14,334,335],{},"To make this permanent, add it to your shell profile:",[46,337,339],{"className":48,"code":338,"language":50,"meta":51,"style":51},"echo 'source $HOME\u002F.cargo\u002Fenv' >> ~\u002F.bashrc\nsource ~\u002F.bashrc\n",[53,340,341,355],{"__ignoreMap":51},[56,342,343,346,349,352],{"class":58,"line":59},[56,344,345],{"class":83},"echo",[56,347,348],{"class":66}," 'source $HOME\u002F.cargo\u002Fenv'",[56,350,351],{"class":304}," >>",[56,353,354],{"class":66}," ~\u002F.bashrc\n",[56,356,357,359],{"class":58,"line":73},[56,358,325],{"class":83},[56,360,354],{"class":66},[197,362,364],{"id":363},"verify-rust-installation","Verify Rust Installation",[46,366,368],{"className":48,"code":367,"language":50,"meta":51,"style":51},"rustc --version\ncargo --version\n",[53,369,370,377],{"__ignoreMap":51},[56,371,372,375],{"class":58,"line":59},[56,373,374],{"class":62},"rustc",[56,376,262],{"class":83},[56,378,379,382],{"class":58,"line":73},[56,380,381],{"class":62},"cargo",[56,383,262],{"class":83},[14,385,386,387,389,390,392],{},"You should see version information for both ",[53,388,374],{}," and ",[53,391,381],{},".",[18,394,396],{"id":395},"step-4-install-nodejs","Step 4: Install Node.js",[14,398,399],{},"The frontend of Drop Compress Image is built with Vue.js and requires Node.js.",[197,401,403],{"id":402},"install-nodejs-via-nodesource-repository","Install Node.js via NodeSource Repository",[46,405,407],{"className":48,"code":406,"language":50,"meta":51,"style":51},"# Install Node.js 22.x (LTS)\ncurl -fsSL https:\u002F\u002Fdeb.nodesource.com\u002Fsetup_22.x | sudo -E bash -\nsudo apt install -y nodejs\n",[53,408,409,414,438],{"__ignoreMap":51},[56,410,411],{"class":58,"line":59},[56,412,413],{"class":101},"# Install Node.js 22.x (LTS)\n",[56,415,416,418,421,424,426,429,432,435],{"class":58,"line":73},[56,417,286],{"class":62},[56,419,420],{"class":83}," -fsSL",[56,422,423],{"class":66}," https:\u002F\u002Fdeb.nodesource.com\u002Fsetup_22.x",[56,425,305],{"class":304},[56,427,428],{"class":62}," sudo",[56,430,431],{"class":83}," -E",[56,433,434],{"class":66}," bash",[56,436,437],{"class":66}," -\n",[56,439,440,442,444,446,448],{"class":58,"line":120},[56,441,63],{"class":62},[56,443,67],{"class":66},[56,445,111],{"class":66},[56,447,114],{"class":83},[56,449,450],{"class":66}," nodejs\n",[197,452,454],{"id":453},"verify-nodejs-installation","Verify Node.js Installation",[46,456,458],{"className":48,"code":457,"language":50,"meta":51,"style":51},"node --version\nnpm --version\n",[53,459,460,467],{"__ignoreMap":51},[56,461,462,465],{"class":58,"line":59},[56,463,464],{"class":62},"node",[56,466,262],{"class":83},[56,468,469,472],{"class":58,"line":73},[56,470,471],{"class":62},"npm",[56,473,262],{"class":83},[14,475,476],{},"You should see Node.js version 22.x or higher.",[18,478,480],{"id":479},"step-5-install-pnpm","Step 5: Install pnpm",[14,482,483],{},"Drop Compress Image uses pnpm as its package manager for better performance and disk efficiency.",[197,485,487],{"id":486},"install-pnpm","Install pnpm",[46,489,491],{"className":48,"code":490,"language":50,"meta":51,"style":51},"npm install -g pnpm\n",[53,492,493],{"__ignoreMap":51},[56,494,495,497,499,502],{"class":58,"line":59},[56,496,471],{"class":62},[56,498,111],{"class":66},[56,500,501],{"class":83}," -g",[56,503,504],{"class":66}," pnpm\n",[197,506,508],{"id":507},"verify-pnpm-installation","Verify pnpm Installation",[46,510,512],{"className":48,"code":511,"language":50,"meta":51,"style":51},"pnpm --version\n",[53,513,514],{"__ignoreMap":51},[56,515,516,519],{"class":58,"line":59},[56,517,518],{"class":62},"pnpm",[56,520,262],{"class":83},[18,522,524],{"id":523},"step-6-set-up-vcpkg-and-install-dependencies","Step 6: Set Up vcpkg and Install Dependencies",[14,526,527],{},"This project uses vcpkg to manage C\u002FC++ image processing libraries (libaom, libavif, libjxl, etc.).",[197,529,531],{"id":530},"install-vcpkg-prerequisites","Install vcpkg Prerequisites",[46,533,535],{"className":48,"code":534,"language":50,"meta":51,"style":51},"# Install tools required for vcpkg\nsudo apt install -y curl zip unzip tar cmake pkg-config\n",[53,536,537,542],{"__ignoreMap":51},[56,538,539],{"class":58,"line":59},[56,540,541],{"class":101},"# Install tools required for vcpkg\n",[56,543,544,546,548,550,552,555,558,561,564,567],{"class":58,"line":73},[56,545,63],{"class":62},[56,547,67],{"class":66},[56,549,111],{"class":66},[56,551,114],{"class":83},[56,553,554],{"class":66}," curl",[56,556,557],{"class":66}," zip",[56,559,560],{"class":66}," unzip",[56,562,563],{"class":66}," tar",[56,565,566],{"class":66}," cmake",[56,568,569],{"class":66}," pkg-config\n",[197,571,573],{"id":572},"install-vcpkg","Install vcpkg",[46,575,577],{"className":48,"code":576,"language":50,"meta":51,"style":51},"# Clone vcpkg\ngit clone https:\u002F\u002Fgithub.com\u002FMicrosoft\u002Fvcpkg.git ~\u002Fvcpkg\n\n# Bootstrap vcpkg\ncd ~\u002Fvcpkg\n.\u002Fbootstrap-vcpkg.sh\n\n# Set environment variables (add to ~\u002F.bashrc)\necho 'export VCPKG_ROOT=\"$HOME\u002Fvcpkg\"' >> ~\u002F.bashrc\necho 'export PATH=\"$VCPKG_ROOT:$PATH\"' >> ~\u002F.bashrc\nsource ~\u002F.bashrc\n",[53,578,579,584,598,604,609,616,621,625,630,641,652],{"__ignoreMap":51},[56,580,581],{"class":58,"line":59},[56,582,583],{"class":101},"# Clone vcpkg\n",[56,585,586,589,592,595],{"class":58,"line":73},[56,587,588],{"class":62},"git",[56,590,591],{"class":66}," clone",[56,593,594],{"class":66}," https:\u002F\u002Fgithub.com\u002FMicrosoft\u002Fvcpkg.git",[56,596,597],{"class":66}," ~\u002Fvcpkg\n",[56,599,600],{"class":58,"line":120},[56,601,603],{"emptyLinePlaceholder":602},true,"\n",[56,605,606],{"class":58,"line":128},[56,607,608],{"class":101},"# Bootstrap vcpkg\n",[56,610,611,614],{"class":58,"line":136},[56,612,613],{"class":83},"cd",[56,615,597],{"class":66},[56,617,618],{"class":58,"line":144},[56,619,620],{"class":62},".\u002Fbootstrap-vcpkg.sh\n",[56,622,623],{"class":58,"line":152},[56,624,603],{"emptyLinePlaceholder":602},[56,626,627],{"class":58,"line":160},[56,628,629],{"class":101},"# Set environment variables (add to ~\u002F.bashrc)\n",[56,631,632,634,637,639],{"class":58,"line":168},[56,633,345],{"class":83},[56,635,636],{"class":66}," 'export VCPKG_ROOT=\"$HOME\u002Fvcpkg\"'",[56,638,351],{"class":304},[56,640,354],{"class":66},[56,642,643,645,648,650],{"class":58,"line":176},[56,644,345],{"class":83},[56,646,647],{"class":66}," 'export PATH=\"$VCPKG_ROOT:$PATH\"'",[56,649,351],{"class":304},[56,651,354],{"class":66},[56,653,654,656],{"class":58,"line":184},[56,655,325],{"class":83},[56,657,354],{"class":66},[197,659,661],{"id":660},"install-dependencies","Install Dependencies",[14,663,664],{},"Use the automated installation script (recommended):",[46,666,668],{"className":48,"code":667,"language":50,"meta":51,"style":51},"cd ~\u002Fpath\u002Fto\u002FDropWebP\u002Fapp\u002Fsrc-tauri\n.\u002Fsetup-vcpkg.sh\n",[53,669,670,677],{"__ignoreMap":51},[56,671,672,674],{"class":58,"line":59},[56,673,613],{"class":83},[56,675,676],{"class":66}," ~\u002Fpath\u002Fto\u002FDropWebP\u002Fapp\u002Fsrc-tauri\n",[56,678,679],{"class":58,"line":73},[56,680,681],{"class":62},".\u002Fsetup-vcpkg.sh\n",[14,683,684],{},"Or install manually:",[46,686,688],{"className":48,"code":687,"language":50,"meta":51,"style":51},"cd ~\u002Fvcpkg\n\n# For x64 Linux\n.\u002Fvcpkg install aom:x64-linux\n.\u002Fvcpkg install libavif[aom]:x64-linux\n.\u002Fvcpkg install libjxl:x64-linux\n.\u002Fvcpkg install libwebp:x64-linux\n.\u002Fvcpkg install openjpeg:x64-linux\n.\u002Fvcpkg install libjpeg-turbo:x64-linux\n.\u002Fvcpkg install lcms:x64-linux\n\n# For ARM64 Linux\n.\u002Fvcpkg install aom:arm64-linux\n.\u002Fvcpkg install libavif[aom]:arm64-linux\n.\u002Fvcpkg install libjxl:arm64-linux\n.\u002Fvcpkg install libwebp:arm64-linux\n.\u002Fvcpkg install openjpeg:arm64-linux\n.\u002Fvcpkg install libjpeg-turbo:arm64-linux\n.\u002Fvcpkg install lcms:arm64-linux\n",[53,689,690,696,700,705,715,724,733,742,751,760,769,773,778,788,798,808,818,828,838],{"__ignoreMap":51},[56,691,692,694],{"class":58,"line":59},[56,693,613],{"class":83},[56,695,597],{"class":66},[56,697,698],{"class":58,"line":73},[56,699,603],{"emptyLinePlaceholder":602},[56,701,702],{"class":58,"line":120},[56,703,704],{"class":101},"# For x64 Linux\n",[56,706,707,710,712],{"class":58,"line":128},[56,708,709],{"class":62},".\u002Fvcpkg",[56,711,111],{"class":66},[56,713,714],{"class":66}," aom:x64-linux\n",[56,716,717,719,721],{"class":58,"line":136},[56,718,709],{"class":62},[56,720,111],{"class":66},[56,722,723],{"class":66}," libavif[aom]:x64-linux\n",[56,725,726,728,730],{"class":58,"line":144},[56,727,709],{"class":62},[56,729,111],{"class":66},[56,731,732],{"class":66}," libjxl:x64-linux\n",[56,734,735,737,739],{"class":58,"line":152},[56,736,709],{"class":62},[56,738,111],{"class":66},[56,740,741],{"class":66}," libwebp:x64-linux\n",[56,743,744,746,748],{"class":58,"line":160},[56,745,709],{"class":62},[56,747,111],{"class":66},[56,749,750],{"class":66}," openjpeg:x64-linux\n",[56,752,753,755,757],{"class":58,"line":168},[56,754,709],{"class":62},[56,756,111],{"class":66},[56,758,759],{"class":66}," libjpeg-turbo:x64-linux\n",[56,761,762,764,766],{"class":58,"line":176},[56,763,709],{"class":62},[56,765,111],{"class":66},[56,767,768],{"class":66}," lcms:x64-linux\n",[56,770,771],{"class":58,"line":184},[56,772,603],{"emptyLinePlaceholder":602},[56,774,775],{"class":58,"line":192},[56,776,777],{"class":101},"# For ARM64 Linux\n",[56,779,781,783,785],{"class":58,"line":780},13,[56,782,709],{"class":62},[56,784,111],{"class":66},[56,786,787],{"class":66}," aom:arm64-linux\n",[56,789,791,793,795],{"class":58,"line":790},14,[56,792,709],{"class":62},[56,794,111],{"class":66},[56,796,797],{"class":66}," libavif[aom]:arm64-linux\n",[56,799,801,803,805],{"class":58,"line":800},15,[56,802,709],{"class":62},[56,804,111],{"class":66},[56,806,807],{"class":66}," libjxl:arm64-linux\n",[56,809,811,813,815],{"class":58,"line":810},16,[56,812,709],{"class":62},[56,814,111],{"class":66},[56,816,817],{"class":66}," libwebp:arm64-linux\n",[56,819,821,823,825],{"class":58,"line":820},17,[56,822,709],{"class":62},[56,824,111],{"class":66},[56,826,827],{"class":66}," openjpeg:arm64-linux\n",[56,829,831,833,835],{"class":58,"line":830},18,[56,832,709],{"class":62},[56,834,111],{"class":66},[56,836,837],{"class":66}," libjpeg-turbo:arm64-linux\n",[56,839,841,843,845],{"class":58,"line":840},19,[56,842,709],{"class":62},[56,844,111],{"class":66},[56,846,847],{"class":66}," lcms:arm64-linux\n",[14,849,850],{},"Installed libraries:",[26,852,853,863,869,875,881,887,893],{},[29,854,855,858,859,862],{},[206,856,857],{},"libaom",": AV1 encoder (for AVIF format, ",[206,860,861],{},"required",")",[29,864,865,868],{},[206,866,867],{},"libavif",": AVIF image format",[29,870,871,874],{},[206,872,873],{},"libjxl",": JPEG XL image format",[29,876,877,880],{},[206,878,879],{},"libwebp",": WebP image format",[29,882,883,886],{},[206,884,885],{},"openjpeg",": JPEG 2000 image format",[29,888,889,892],{},[206,890,891],{},"libjpeg-turbo",": JPEG image processing (for jpegli)",[29,894,895,898],{},[206,896,897],{},"lcms",": Little CMS color management",[197,900,249],{"id":901},"verify-installation-1",[46,903,905],{"className":48,"code":904,"language":50,"meta":51,"style":51},".\u002Fvcpkg list | grep -E \"aom|avif|jxl|webp|openjpeg|jpeg|lcms\"\n",[53,906,907],{"__ignoreMap":51},[56,908,909,911,914,916,919,921],{"class":58,"line":59},[56,910,709],{"class":62},[56,912,913],{"class":66}," list",[56,915,305],{"class":304},[56,917,918],{"class":62}," grep",[56,920,431],{"class":83},[56,922,923],{"class":66}," \"aom|avif|jxl|webp|openjpeg|jpeg|lcms\"\n",[18,925,927],{"id":926},"step-7-clone-and-build-drop-compress-image","Step 7: Clone and Build Drop Compress Image",[14,929,930],{},"Now you're ready to clone and build Drop Compress Image.",[197,932,934],{"id":933},"clone-the-repository","Clone the Repository",[46,936,938],{"className":48,"code":937,"language":50,"meta":51,"style":51},"git clone https:\u002F\u002Fgithub.com\u002Flogue\u002FDropWebP.git\ncd DropWebP\n",[53,939,940,949],{"__ignoreMap":51},[56,941,942,944,946],{"class":58,"line":59},[56,943,588],{"class":62},[56,945,591],{"class":66},[56,947,948],{"class":66}," https:\u002F\u002Fgithub.com\u002Flogue\u002FDropWebP.git\n",[56,950,951,953],{"class":58,"line":73},[56,952,613],{"class":83},[56,954,955],{"class":66}," DropWebP\n",[197,957,959],{"id":958},"install-frontend-dependencies","Install Frontend Dependencies",[46,961,963],{"className":48,"code":962,"language":50,"meta":51,"style":51},"# Install all workspace dependencies\npnpm install\n",[53,964,965,970],{"__ignoreMap":51},[56,966,967],{"class":58,"line":59},[56,968,969],{"class":101},"# Install all workspace dependencies\n",[56,971,972,974],{"class":58,"line":73},[56,973,518],{"class":62},[56,975,976],{"class":66}," install\n",[197,978,980],{"id":979},"install-tauri-cli-v2","Install Tauri CLI v2",[46,982,984],{"className":48,"code":983,"language":50,"meta":51,"style":51},"# Install Tauri CLI v2 globally\npnpm add -g @tauri-apps\u002Fcli@next\n",[53,985,986,991],{"__ignoreMap":51},[56,987,988],{"class":58,"line":59},[56,989,990],{"class":101},"# Install Tauri CLI v2 globally\n",[56,992,993,995,998,1000],{"class":58,"line":73},[56,994,518],{"class":62},[56,996,997],{"class":66}," add",[56,999,501],{"class":83},[56,1001,1002],{"class":66}," @tauri-apps\u002Fcli@next\n",[197,1004,1006],{"id":1005},"build-the-application","Build the Application",[14,1008,1009],{},"For development:",[46,1011,1013],{"className":48,"code":1012,"language":50,"meta":51,"style":51},"# Run in development mode\npnpm dev:tauri\n",[53,1014,1015,1020],{"__ignoreMap":51},[56,1016,1017],{"class":58,"line":59},[56,1018,1019],{"class":101},"# Run in development mode\n",[56,1021,1022,1024],{"class":58,"line":73},[56,1023,518],{"class":62},[56,1025,1026],{"class":66}," dev:tauri\n",[14,1028,1029],{},"For production:",[46,1031,1033],{"className":48,"code":1032,"language":50,"meta":51,"style":51},"# Build for production\npnpm build:tauri\n",[53,1034,1035,1040],{"__ignoreMap":51},[56,1036,1037],{"class":58,"line":59},[56,1038,1039],{"class":101},"# Build for production\n",[56,1041,1042,1044],{"class":58,"line":73},[56,1043,518],{"class":62},[56,1045,1046],{"class":66}," build:tauri\n",[14,1048,1049,1050,392],{},"The built application will be in ",[53,1051,1052],{},"app\u002Fsrc-tauri\u002Ftarget\u002Frelease\u002F",[18,1054,1056],{"id":1055},"step-8-distribution-formats","Step 8: Distribution Formats",[14,1058,1059],{},"Tauri on Linux can generate multiple distribution formats:",[197,1061,1063],{"id":1062},"appimage-recommended","AppImage (Recommended)",[14,1065,1066],{},"AppImage is a universal package format that works on most Linux distributions:",[46,1068,1070],{"className":48,"code":1069,"language":50,"meta":51,"style":51},"pnpm build:tauri\n",[53,1071,1072],{"__ignoreMap":51},[56,1073,1074,1076],{"class":58,"line":59},[56,1075,518],{"class":62},[56,1077,1046],{"class":66},[14,1079,1080,1081,392],{},"The AppImage will be in ",[53,1082,1083],{},"app\u002Fsrc-tauri\u002Ftarget\u002Frelease\u002Fbundle\u002Fappimage\u002F",[197,1085,1087],{"id":1086},"debian-package-deb","Debian Package (.deb)",[14,1089,1090],{},"For Debian\u002FUbuntu-based distributions:",[46,1092,1093],{"className":48,"code":1069,"language":50,"meta":51,"style":51},[53,1094,1095],{"__ignoreMap":51},[56,1096,1097,1099],{"class":58,"line":59},[56,1098,518],{"class":62},[56,1100,1046],{"class":66},[14,1102,1103,1104,392],{},"The .deb package will be in ",[53,1105,1106],{},"app\u002Fsrc-tauri\u002Ftarget\u002Frelease\u002Fbundle\u002Fdeb\u002F",[14,1108,1109],{},"Install it with:",[46,1111,1113],{"className":48,"code":1112,"language":50,"meta":51,"style":51},"sudo dpkg -i app\u002Fsrc-tauri\u002Ftarget\u002Frelease\u002Fbundle\u002Fdeb\u002F*.deb\n",[53,1114,1115],{"__ignoreMap":51},[56,1116,1117,1119,1122,1125,1128,1131],{"class":58,"line":59},[56,1118,63],{"class":62},[56,1120,1121],{"class":66}," dpkg",[56,1123,1124],{"class":83}," -i",[56,1126,1127],{"class":66}," app\u002Fsrc-tauri\u002Ftarget\u002Frelease\u002Fbundle\u002Fdeb\u002F",[56,1129,1130],{"class":83},"*",[56,1132,1133],{"class":66},".deb\n",[197,1135,1137],{"id":1136},"rpm-package-rpm","RPM Package (.rpm)",[14,1139,1140],{},"For Red Hat\u002FFedora-based distributions, you'll need to install additional tools:",[46,1142,1144],{"className":48,"code":1143,"language":50,"meta":51,"style":51},"sudo apt install -y rpm\npnpm build:tauri\n",[53,1145,1146,1159],{"__ignoreMap":51},[56,1147,1148,1150,1152,1154,1156],{"class":58,"line":59},[56,1149,63],{"class":62},[56,1151,67],{"class":66},[56,1153,111],{"class":66},[56,1155,114],{"class":83},[56,1157,1158],{"class":66}," rpm\n",[56,1160,1161,1163],{"class":58,"line":73},[56,1162,518],{"class":62},[56,1164,1046],{"class":66},[14,1166,1167,1168,392],{},"The .rpm package will be in ",[53,1169,1170],{},"app\u002Fsrc-tauri\u002Ftarget\u002Frelease\u002Fbundle\u002Frpm\u002F",[18,1172,1174],{"id":1173},"troubleshooting","Troubleshooting",[197,1176,1178],{"id":1177},"common-issues","Common Issues",[1180,1181,1182,1214,1273,1322,1353],"ol",{},[29,1183,1184,1187,1190,1191],{},[206,1185,1186],{},"Missing libwebkit2gtk-4.1",[1188,1189],"br",{},"If you get errors about missing webkit libraries:",[46,1192,1194],{"className":48,"code":1193,"language":50,"meta":51,"style":51},"# Try the older webkit version\nsudo apt install -y libwebkit2gtk-4.0-dev\n",[53,1195,1196,1201],{"__ignoreMap":51},[56,1197,1198],{"class":58,"line":59},[56,1199,1200],{"class":101},"# Try the older webkit version\n",[56,1202,1203,1205,1207,1209,1211],{"class":58,"line":73},[56,1204,63],{"class":62},[56,1206,67],{"class":66},[56,1208,111],{"class":66},[56,1210,114],{"class":83},[56,1212,1213],{"class":66}," libwebkit2gtk-4.0-dev\n",[29,1215,1216,1219],{},[206,1217,1218],{},"Permission Denied for npm\u002Fpnpm",[46,1220,1222],{"className":48,"code":1221,"language":50,"meta":51,"style":51},"# Fix npm global directory permissions\nmkdir -p ~\u002F.npm-global\nnpm config set prefix '~\u002F.npm-global'\necho 'export PATH=~\u002F.npm-global\u002Fbin:$PATH' >> ~\u002F.bashrc\nsource ~\u002F.bashrc\n",[53,1223,1224,1229,1240,1256,1267],{"__ignoreMap":51},[56,1225,1226],{"class":58,"line":59},[56,1227,1228],{"class":101},"# Fix npm global directory permissions\n",[56,1230,1231,1234,1237],{"class":58,"line":73},[56,1232,1233],{"class":62},"mkdir",[56,1235,1236],{"class":83}," -p",[56,1238,1239],{"class":66}," ~\u002F.npm-global\n",[56,1241,1242,1244,1247,1250,1253],{"class":58,"line":120},[56,1243,471],{"class":62},[56,1245,1246],{"class":66}," config",[56,1248,1249],{"class":66}," set",[56,1251,1252],{"class":66}," prefix",[56,1254,1255],{"class":66}," '~\u002F.npm-global'\n",[56,1257,1258,1260,1263,1265],{"class":58,"line":128},[56,1259,345],{"class":83},[56,1261,1262],{"class":66}," 'export PATH=~\u002F.npm-global\u002Fbin:$PATH'",[56,1264,351],{"class":304},[56,1266,354],{"class":66},[56,1268,1269,1271],{"class":58,"line":136},[56,1270,325],{"class":83},[56,1272,354],{"class":66},[29,1274,1275,1278],{},[206,1276,1277],{},"Build Failures with Native Dependencies",[46,1279,1281],{"className":48,"code":1280,"language":50,"meta":51,"style":51},"# Clear build caches\ncargo clean\npnpm clean\n\n# Rebuild everything\npnpm install\npnpm build:tauri\n",[53,1282,1283,1288,1295,1301,1305,1310,1316],{"__ignoreMap":51},[56,1284,1285],{"class":58,"line":59},[56,1286,1287],{"class":101},"# Clear build caches\n",[56,1289,1290,1292],{"class":58,"line":73},[56,1291,381],{"class":62},[56,1293,1294],{"class":66}," clean\n",[56,1296,1297,1299],{"class":58,"line":120},[56,1298,518],{"class":62},[56,1300,1294],{"class":66},[56,1302,1303],{"class":58,"line":128},[56,1304,603],{"emptyLinePlaceholder":602},[56,1306,1307],{"class":58,"line":136},[56,1308,1309],{"class":101},"# Rebuild everything\n",[56,1311,1312,1314],{"class":58,"line":144},[56,1313,518],{"class":62},[56,1315,976],{"class":66},[56,1317,1318,1320],{"class":58,"line":152},[56,1319,518],{"class":62},[56,1321,1046],{"class":66},[29,1323,1324,1327],{},[206,1325,1326],{},"AppImage Not Executable",[46,1328,1330],{"className":48,"code":1329,"language":50,"meta":51,"style":51},"# Make AppImage executable\nchmod +x app\u002Fsrc-tauri\u002Ftarget\u002Frelease\u002Fbundle\u002Fappimage\u002F*.AppImage\n",[53,1331,1332,1337],{"__ignoreMap":51},[56,1333,1334],{"class":58,"line":59},[56,1335,1336],{"class":101},"# Make AppImage executable\n",[56,1338,1339,1342,1345,1348,1350],{"class":58,"line":73},[56,1340,1341],{"class":62},"chmod",[56,1343,1344],{"class":66}," +x",[56,1346,1347],{"class":66}," app\u002Fsrc-tauri\u002Ftarget\u002Frelease\u002Fbundle\u002Fappimage\u002F",[56,1349,1130],{"class":83},[56,1351,1352],{"class":66},".AppImage\n",[29,1354,1355,1358,1360,1361],{},[206,1356,1357],{},"Missing GLIBC Version",[1188,1359],{},"If you see errors about GLIBC version, ensure you're on Ubuntu 24.04 LTS or newer:",[46,1362,1364],{"className":48,"code":1363,"language":50,"meta":51,"style":51},"ldd --version\n",[53,1365,1366],{"__ignoreMap":51},[56,1367,1368,1371],{"class":58,"line":59},[56,1369,1370],{"class":62},"ldd",[56,1372,262],{"class":83},[197,1374,1376],{"id":1375},"graphics-driver-issues","Graphics Driver Issues",[14,1378,1379],{},"For optimal performance, ensure you have proper graphics drivers installed:",[46,1381,1383],{"className":48,"code":1382,"language":50,"meta":51,"style":51},"# For NVIDIA\nsudo ubuntu-drivers autoinstall\n\n# For AMD\nsudo apt install -y mesa-vulkan-drivers\n\n# For Intel\nsudo apt install -y intel-media-va-driver\n",[53,1384,1385,1390,1400,1404,1409,1422,1426,1431],{"__ignoreMap":51},[56,1386,1387],{"class":58,"line":59},[56,1388,1389],{"class":101},"# For NVIDIA\n",[56,1391,1392,1394,1397],{"class":58,"line":73},[56,1393,63],{"class":62},[56,1395,1396],{"class":66}," ubuntu-drivers",[56,1398,1399],{"class":66}," autoinstall\n",[56,1401,1402],{"class":58,"line":120},[56,1403,603],{"emptyLinePlaceholder":602},[56,1405,1406],{"class":58,"line":128},[56,1407,1408],{"class":101},"# For AMD\n",[56,1410,1411,1413,1415,1417,1419],{"class":58,"line":136},[56,1412,63],{"class":62},[56,1414,67],{"class":66},[56,1416,111],{"class":66},[56,1418,114],{"class":83},[56,1420,1421],{"class":66}," mesa-vulkan-drivers\n",[56,1423,1424],{"class":58,"line":144},[56,1425,603],{"emptyLinePlaceholder":602},[56,1427,1428],{"class":58,"line":152},[56,1429,1430],{"class":101},"# For Intel\n",[56,1432,1433,1435,1437,1439,1441],{"class":58,"line":160},[56,1434,63],{"class":62},[56,1436,67],{"class":66},[56,1438,111],{"class":66},[56,1440,114],{"class":83},[56,1442,1443],{"class":66}," intel-media-va-driver\n",[197,1445,1447],{"id":1446},"getting-help","Getting Help",[14,1449,1450],{},"If you encounter issues not covered here:",[1180,1452,1453,1464,1473],{},[29,1454,1455,1456,1463],{},"Check the ",[1457,1458,1462],"a",{"href":1459,"rel":1460},"https:\u002F\u002Fgithub.com\u002Flogue\u002FDropWebP",[1461],"nofollow","Drop Compress Image repository"," for known issues",[29,1465,1466,1467,1472],{},"Review the ",[1457,1468,1471],{"href":1469,"rel":1470},"https:\u002F\u002Fv2.tauri.app\u002Fstart\u002Fprerequisites\u002F",[1461],"Tauri v2 documentation"," for Linux-specific guidance",[29,1474,1475],{},"Search existing GitHub issues or create a new one",[18,1477,1479],{"id":1478},"next-steps","Next Steps",[14,1481,1482],{},"Once you have Drop Compress Image built successfully:",[1180,1484,1485,1495,1505,1511],{},[29,1486,1487,1490,1491,1494],{},[206,1488,1489],{},"Run Tests",": Execute ",[53,1492,1493],{},"pnpm test"," to ensure everything works correctly",[29,1496,1497,1500,1501,1504],{},[206,1498,1499],{},"Development",": Use ",[53,1502,1503],{},"pnpm dev:tauri"," for development with hot reloading",[29,1506,1507,1510],{},[206,1508,1509],{},"Customization",": Explore the codebase and make your modifications",[29,1512,1513,1500,1516,1519],{},[206,1514,1515],{},"Distribution",[53,1517,1518],{},"pnpm build:tauri"," to create distributable packages",[14,1521,1522],{},"You're now ready to develop and build Drop Compress Image on Linux!",[1524,1525,1526],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}",{"title":51,"searchDepth":73,"depth":73,"links":1528},[1529,1530,1531,1535,1540,1544,1548,1554,1560,1565,1570],{"id":20,"depth":73,"text":21},{"id":40,"depth":73,"text":41},{"id":87,"depth":73,"text":88,"children":1532},[1533,1534],{"id":199,"depth":120,"text":200},{"id":248,"depth":120,"text":249},{"id":268,"depth":73,"text":269,"children":1536},[1537,1538,1539],{"id":275,"depth":120,"text":276},{"id":314,"depth":120,"text":315},{"id":363,"depth":120,"text":364},{"id":395,"depth":73,"text":396,"children":1541},[1542,1543],{"id":402,"depth":120,"text":403},{"id":453,"depth":120,"text":454},{"id":479,"depth":73,"text":480,"children":1545},[1546,1547],{"id":486,"depth":120,"text":487},{"id":507,"depth":120,"text":508},{"id":523,"depth":73,"text":524,"children":1549},[1550,1551,1552,1553],{"id":530,"depth":120,"text":531},{"id":572,"depth":120,"text":573},{"id":660,"depth":120,"text":661},{"id":901,"depth":120,"text":249},{"id":926,"depth":73,"text":927,"children":1555},[1556,1557,1558,1559],{"id":933,"depth":120,"text":934},{"id":958,"depth":120,"text":959},{"id":979,"depth":120,"text":980},{"id":1005,"depth":120,"text":1006},{"id":1055,"depth":73,"text":1056,"children":1561},[1562,1563,1564],{"id":1062,"depth":120,"text":1063},{"id":1086,"depth":120,"text":1087},{"id":1136,"depth":120,"text":1137},{"id":1173,"depth":73,"text":1174,"children":1566},[1567,1568,1569],{"id":1177,"depth":120,"text":1178},{"id":1375,"depth":120,"text":1376},{"id":1446,"depth":120,"text":1447},{"id":1478,"depth":73,"text":1479},false,"md",null,{},"\u002Fbuild-linux",{"title":5,"description":16},"build-linux","pgZt956wbvcXp1aiAb1NfJZNJNbH0NmBmdthZB-6Q-E",1780198563090]