Package Details: epsonscan2 6.7.70.0-3

Git Clone URL: https://aur.archlinux.org/epsonscan2.git (read-only, click to copy)
Package Base: epsonscan2
Description: Epson scanner management utility
Upstream URL: http://support.epson.net/linux/en/epsonscan2.php
Licenses: GPL-3.0-or-later
Submitter: tecnotercio
Maintainer: tecnotercio
Last Packager: tecnotercio
Votes: 13
Popularity: 1.04
First Submitted: 2020-11-20 05:34 (UTC)
Last Updated: 2025-04-12 22:05 (UTC)

Pinned Comments

tecnotercio commented on 2022-09-05 03:32 (UTC)

If you have a problem with Epson Scan 2, check if you need to install another backend for your scanner. More information on the Arch Linux wiki:

https://wiki.archlinux.org/title/SANE/Scanner-specific_problems#Epson

Latest Comments

1 2 3 4 5 Next › Last »

tb0n3 commented on 2025-04-12 00:24 (UTC)

CMake has had a major version change and old cmake scripts aren't working and need to be updated.

Pafrape commented on 2025-04-02 08:07 (UTC)

Error during installation. When I try to install the application, it fails and I get the following error message:

ATTENTION : Utilisation de l’arbre $srcdir/ existant ==> Lancement de build()… CMake Warning (dev) at CMakeLists.txt:19 (project): cmake_minimum_required() should be called prior to this top-level project() call. Please see the cmake-commands(7) manual for usage documentation of both commands. This warning is for project developers. Use -Wno-dev to suppress it.

-- The C compiler identification is GNU 14.2.1 -- The CXX compiler identification is GNU 14.2.1 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /usr/bin/cc - skipped -- Detecting C compile features -- Detecting C compile features - done -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done CMake Error at CMakeLists.txt:21 (cmake_minimum_required): Compatibility with CMake < 3.5 has been removed from CMake.

Update the VERSION argument <min> value. Or, use the <min>...<max> syntax to tell CMake that the project requires at least <min> but has been updated to work with policies introduced by <max> or earlier.

Or, add -DCMAKE_POLICY_VERSION_MINIMUM=3.5 to try configuring anyway.

-- Configuring incomplete, errors occurred! ==> ERREUR : Une erreur s’est produite dans build(). Abandon… -> erreur lors de la compilation de : epsonscan2-exit status 4 -> Échec de l'installation des paquets suivants. Une intervention manuelle est requise : epsonscan2 - exit status 4

Psheng commented on 2025-03-27 09:29 (UTC)

@ElNick You can try my patch. https://build.opensuse.org/projects/home:Psheng/packages/epsonscan2/files/0005-Fix-crash-no-serial-number.patch

Specific reasons see: https://www.linuxquestions.org/questions/slackware-14/epsonscan2-6-7-70-basic_string-construction-from-null-is-not-valid-error-4175741923/page3.html#post6530763

tecnotercio commented on 2025-03-16 02:01 (UTC)

@datame and @TheKingofRavens, I've adjusted PKGBUILD with your suggestions. Thank you!

TheKingofRavens commented on 2025-03-12 01:51 (UTC) (edited on 2025-03-12 01:56 (UTC) by TheKingofRavens)

To remove the boost references a little easier, you can download manually, run makepkg, let it fail, then edit the files. This AI made sh script will help.

#!/bin/bash

# Find all files that contain the reference
echo "Searching for files containing BOOST_NO_CXX11_RVALUE_REFERENCES=1..."

# Process CMakeLists.txt files to remove add_definitions(-DBOOST_NO_CXX11_RVALUE_REFERENCES=1)
find src -name "CMakeLists.txt" -type f -exec grep -l "BOOST_NO_CXX11_RVALUE_REFERENCES=1" {} \; | while read file; do
    echo "Processing $file"
    # Replace the line with add_definitions or remove it completely if it's the only definition
    sed -i 's/add_definitions(-DBOOST_NO_CXX11_RVALUE_REFERENCES=1)//g' "$file"
    sed -i 's/add_definitions(\(.*\)-DBOOST_NO_CXX11_RVALUE_REFERENCES=1\(.*\))/add_definitions(\1\2)/g' "$file"
    # Clean up any empty add_definitions() that might be left
    sed -i 's/add_definitions()//g' "$file"
    # Clean up any double spaces or empty lines
    sed -i 's/  / /g' "$file"
    sed -i '/^$/d' "$file"
done

# Process flags.make files
find src -name "flags.make" -type f -exec grep -l "BOOST_NO_CXX11_RVALUE_REFERENCES=1" {} \; | while read file; do
    echo "Processing $file"
    # Replace BOOST_NO_CXX11_RVALUE_REFERENCES=1 in defines lines
    sed -i 's/-DBOOST_NO_CXX11_RVALUE_REFERENCES=1 //g' "$file"
    sed -i 's/ -DBOOST_NO_CXX11_RVALUE_REFERENCES=1//g' "$file"
done

# Process DependInfo.cmake files
find src -name "DependInfo.cmake" -type f -exec grep -l "BOOST_NO_CXX11_RVALUE_REFERENCES=1" {} \; | while read file; do
    echo "Processing $file"
    # Remove lines containing just this define
    sed -i '/  "BOOST_NO_CXX11_RVALUE_REFERENCES=1"/d' "$file"
done

# Process AutogenInfo.json and similar files
find src -name "AutogenInfo.json" -o -name "AutogenInfo.cmake" -o -name "AutomocOldMocDefinitions.cmake" -type f -exec grep -l "BOOST_NO_CXX11_RVALUE_REFERENCES=1" {} \; | while read file; do
    echo "Processing $file"
    # Replace the flag in JSON files
    sed -i 's/"BOOST_NO_CXX11_RVALUE_REFERENCES=1",//g' "$file"
    sed -i 's/"BOOST_NO_CXX11_RVALUE_REFERENCES=1;//g' "$file"
    sed -i 's/BOOST_NO_CXX11_RVALUE_REFERENCES=1;//g' "$file"
done

# Process source and header files with direct #define statements
echo "Processing C/C++ source and header files..."
find src -name "*.cpp" -o -name "*.hpp" -o -name "*.h" -o -name "*.c" -type f -exec grep -l "BOOST_NO_CXX11_RVALUE_REFERENCES 1" {} \; | while read file; do
    echo "Processing C/C++ file $file"
    # Remove the #define line
    sed -i '/#define BOOST_NO_CXX11_RVALUE_REFERENCES 1/d' "$file"
done

echo "Completed. All references to BOOST_NO_CXX11_RVALUE_REFERENCES=1 have been removed."

# Optional: Verify that references have been removed
echo "Verifying removal..."
echo "Checking for both formats of the definition..."
found_references=0

# Check first format (with equals sign)
echo "Checking format: BOOST_NO_CXX11_RVALUE_REFERENCES=1"
if grep -r "BOOST_NO_CXX11_RVALUE_REFERENCES=1" src; then
    found_references=1
fi

# Check second format (with space)
echo "Checking format: BOOST_NO_CXX11_RVALUE_REFERENCES 1"
if grep -r "BOOST_NO_CXX11_RVALUE_REFERENCES 1" src; then
    found_references=1
fi

if [ $found_references -eq 1 ]; then
    echo "Warning: Some references might remain. Check the output above."
else
    echo "Success: All references have been removed!"
fi

After, use makepkg -si --noextract to install without undoing your work.

datame commented on 2025-03-07 13:28 (UTC)

The package build fine with newer boost versions if one removes all the BOOST_NO_CXX11_RVALUE_REFERENCES=1 compiler flags. It is a little bit painful since it is defined in so many places, but afterwards it builds just fine.

username227 commented on 2025-02-17 02:51 (UTC)

Yes, I also cannot build this. It says we need to use boost 1.86. Well, boost1.86 is now an AUR package. I have changed the makedepends from boost to boost1.86 and i have added a line to the build command that tells cmake that the root of boost is/opt/boost1.86. It does detect boost1.86. However, i am still unable to build, getting this error:

fatal error: boost/format.hpp: No such file or directory
   38 | #include <boost/format.hpp>

I don't understand, because format.hpp IS located in /opt/include/boost directory. If anybody knows how to fix, I would be grateful.

Havunen commented on 2025-02-11 07:26 (UTC)

It seems this package does not seem to install with latest version of boost. I had to downgrade to boost-1.86 and boost-libs-186 to able to install this.

/usr/include/boost/none_t.hpp:24:2: error: #error "Boost.Optional requires some C++11 features since version 1.87. If you have an older C++ version use Boost.Optional version 1.86 or earlier." 24 | #error "Boost.Optional requires some C++11 features since version 1.87. If you have an older C++ version use Boost.Optional version 1.86 or earlier." | ^

ElNick commented on 2024-12-18 23:56 (UTC) (edited on 2024-12-19 03:32 (UTC) by ElNick)

If V370 Photo is connected, the application crashes while constructing device selection dialog with std::logic_error, because it attempts to construct std::string from a NULL pointer.

Edit: got over it with the patch, but it still doesn't work. Probably connection string must be fixed as well, not only the display string.

diff --git a/src/Standalone/deviceselectorcombobox.cpp b/src/Standalone/deviceselectorcombobox.cpp
index 0404644..05ad916 100755
--- a/src/Standalone/deviceselectorcombobox.cpp
+++ b/src/Standalone/deviceselectorcombobox.cpp
@@ -98,27 +98,15 @@ void DeviceSelectorCombobox::CreateDisplayName(char displayName[MAX_DISPLAYNAME]
 {
     char *displayDeviceName = NULL;
     char temp_displayName[MAX_DISPLAYNAME];
-     bool find = false;
     memcpy_s(temp_displayName, MAX_DISPLAYNAME, displayName, strlen(displayName)+1);
-    std::string connection_display = connection;
-    if(strncmp(connection, "USB", 3) == 0){
-         for (int i = 0; i < sizeof(temp_displayName) / sizeof(temp_displayName[0]); i++) {
-            if (temp_displayName[i] == ':') {
-            find = true;
-            }
-        }
-        if(find && strtok(temp_displayName, ":")){
-            std::string serialNumber = strtok(NULL, ":");
-            connection_display = connection_display + ":" + serialNumber;
-        }
-    }
+    std::string connection_display = connection ? connection : "<NULL>";
 #ifdef AKBMODE
     int connection_str_size = strlen(temp_displayName) + strlen(" (") + strlen(connection_display.c_str()) + strlen(")") + 1;
 #else
     int connection_str_size = strlen("EPSON ") + strlen(temp_displayName) + strlen(" (") + strlen(connection_display.c_str()) + strlen(")") + 1;
 #endif
     if(!displayDeviceName){
-        displayDeviceName = (char *)malloc(connection_str_size);
+      displayDeviceName = (char *)malloc(connection_str_size);
         if(displayDeviceName){
            memset(displayDeviceName, 0, connection_str_size);
 #ifdef AKBMODE
diff --git a/src/Standalone/initdeviceselectcombobox.cpp b/src/Standalone/initdeviceselectcombobox.cpp
index dc7650b..11f8a96 100755
--- a/src/Standalone/initdeviceselectcombobox.cpp
+++ b/src/Standalone/initdeviceselectcombobox.cpp
@@ -88,20 +88,8 @@ void InitDeviceSelectCombobox::CreateDisplayName(char displayName[MAX_DISPLAYNAM
 {
     char *displayDeviceName = NULL;
     char temp_displayName[MAX_DISPLAYNAME];
-    bool find = false;
     memcpy_s(temp_displayName, MAX_DISPLAYNAME, displayName, strlen(displayName)+1);
-    std::string connection_display = connection;
-    if(strncmp(connection, "USB", 3) == 0){
-    for (int i = 0; i < sizeof(temp_displayName) / sizeof(temp_displayName[0]); i++) {
-        if (temp_displayName[i] == ':') {
-            find = true;
-        }
-    }
-        if(find && strtok(temp_displayName, ":")){
-            std::string serialNumber = strtok(NULL, ":");
-            connection_display = connection_display + ":" + serialNumber;
-        }
-    }
+    std::string connection_display = connection ? connection : "<NULL>";
 #ifdef AKBMODE
     int connection_str_size = strlen(temp_displayName) + strlen(" (") + strlen(connection_display.c_str()) + strlen(")") + 1;
 #else

Lehmeier commented on 2024-07-11 16:58 (UTC)

Hello! I wanted to install it as part of an update, but it crashed during compilation. The message was:

Erstelle epsonscan2... ==> Erstelle Paket: epsonscan2 6.7.65.0-1 (Do 11 Jul 2024 18:52:58 CEST) ==> Prüfe Laufzeit-Abhängigkeiten... ==> Prüfe Buildtime-Abhängigkeiten... ==> Empfange Quellen... -> Lade epsonscan2-6.7.65.0-1.src.tar.gz herunter... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed

0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 26 2378k 26 635k 0 0 529k 0 0:00:04 0:00:01 0:00:03 529k 54 2378k 54 1287k 0 0 617k 0 0:00:03 0:00:02 0:00:01 617k 85 2378k 85 2026k 0 0 656k 0 0:00:03 0:00:03 --:--:-- 656k 100 2378k 100 2378k 0 0 662k 0 0:00:03 0:00:03 --:--:-- 662k -> 0002-Fix-crash.patch gefunden -> 0003-Use-XDG-open-to-open-the-directory.patch gefunden -> 0004-Fix-a-crash-on-an-OOB-container-access.patch gefunden ==> Überprüfe source Dateien mit b2sums... epsonscan2-6.7.65.0-1.src.tar.gz ... Erfolg 0002-Fix-crash.patch ... Erfolg 0003-Use-XDG-open-to-open-the-directory.patch ... Erfolg 0004-Fix-a-crash-on-an-OOB-container-access.patch ... Erfolg ==> Entferne existierendes $srcdir/ Verzeichnis... ==> Entpacke Quellen... -> Entpacke epsonscan2-6.7.65.0-1.src.tar.gz mit bsdtar ==> Beginne prepare()... patching file src/ES2Command/Src/Interface/ipc/ipcInterfaceImpl.cpp patching file src/Standalone/savedestfolder.cpp patching file src/Controller/Src/Finder/Finder.cpp ==> Beginne build()... /var/tmp/pamac-build-ralf/epsonscan2/PKGBUILD: Zeile 45: cmake: Kommando nicht gefunden. ==> FEHLER: Ein Fehler geschah in build(). Breche ab...

I hope you get it up and running.