CMake has had a major version change and old cmake scripts aren't working and need to be updated.
Search Criteria
Package Details: epsonscan2 6.7.70.0-3
Package Actions
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) |
Dependencies (12)
- libjpeg-turbo (mozjpeg-gitAUR, libjpeg-turbo-gitAUR, mozjpegAUR)
- libpng (libpng-gitAUR, libpng-apngAUR)
- libtiff (libtiff-gitAUR, libtiff-lercAUR)
- libusb (libusb-gitAUR)
- qt5-base (qt5-base-gitAUR, qt5-base-headlessAUR)
- sane (sane-gitAUR)
- zlib (zlib-ng-compat-gitAUR, zlib-gitAUR, zlib-ng-compat)
- boost (boost-gitAUR) (make)
- cmake (cmake-gitAUR, cmake3AUR) (make)
- qt5-singlecoreapplicationAUR (make)
- rapidjson (rapidjson-gitAUR) (make)
- epsonscan2-non-free-pluginAUR (optional) – OCR support and wireless scanning
Required by (1)
Sources (5)
tb0n3 commented on 2025-04-12 00:24 (UTC)
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.
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