Package Details: waifu2x-converter-cpp 5.3.4-1

Git Clone URL: https://aur.archlinux.org/waifu2x-converter-cpp.git (read-only, click to copy)
Package Base: waifu2x-converter-cpp
Description: Image super-resolution for anime-style art
Upstream URL: https://github.com/DeadSix27/waifu2x-converter-cpp
Licenses: MIT
Submitter: nfnty
Maintainer: eclairevoyant
Last Packager: eclairevoyant
Votes: 22
Popularity: 0.160322
First Submitted: 2017-02-04 00:23 (UTC)
Last Updated: 2023-05-21 01:41 (UTC)

Latest Comments

1 2 Next › Last »

eclairevoyant commented on 2023-05-21 01:43 (UTC)

Adding random symlinks is unneccessary. If you update a dependency, just recompile this package. That's it.

idanka commented on 2022-10-16 21:58 (UTC) (edited on 2022-10-24 10:30 (UTC) by idanka)

waifu2x-converter-cpp --help
waifu2x-converter-cpp: error while loading shared libraries: libw2xc.so: cannot open shared object file: No such file or directory
Howto fix?

Solved: add symlink /usr/local/lib/libw2xc.so to /usr/lib/libw2xc.so

sandsmark commented on 2021-11-07 13:49 (UTC)

Needs a patch to fix build with latest gcc (it uses a reserved name):

diff --git a/PKGBUILD b/PKGBUILD
index 9bec151..68f7ae6 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -2,8 +2,8 @@
 pkgname=('waifu2x-converter-cpp-git')
 _srcname='waifu2x-converter-cpp'
 pkgdesc='Image Super-Resolution for Anime-Style Art'
-pkgver='r718'
-pkgrel='1'
+pkgver=r1092.1611736270.57520b2
+pkgrel=1
 arch=('i686' 'x86_64')
 url="https://github.com/DeadSix27/${_srcname}"
 license=('MIT')
@@ -13,8 +13,8 @@ makedepends=('git' 'cmake' 'opencl-headers')
 provides=("${pkgname[0]%-git}")
 conflicts=("${pkgname[0]%-git}")

-source=("${_srcname}::git+${url}.git")
-sha512sums=('SKIP')
+source=("${_srcname}::git+${url}.git" "fix-build.patch")
+sha512sums=('SKIP' 'SKIP')

 pkgver() {
     cd "${srcdir}/${_srcname}"
@@ -24,6 +24,10 @@ pkgver() {
         "$( git log --max-count='1' --pretty='format:%ct' )" \
         "$( git rev-parse --short 'HEAD' )"
 }
+prepare() {
+    cd "${srcdir}/${_srcname}"
+    patch --forward --strip=1 --input="${srcdir}/fix-build.patch"
+}

 build() {
     cd "${srcdir}/${_srcname}"
diff --git a/fix-build.patch b/fix-build.patch
new file mode 100644
index 0000000..a460152
--- /dev/null
+++ b/fix-build.patch
@@ -0,0 +1,75 @@
+diff --git a/include/picojson.h b/include/picojson.h
+index 24a60c5..fd0be66 100644
+--- a/include/picojson.h
++++ b/include/picojson.h
+@@ -194,8 +194,8 @@ class value {
+ private:
+   template <typename T> value(const T *); // intentionally defined to block implicit conversion of pointer to bool
+   template <typename Iter> static void _indent(Iter os, int indent);
+-  template <typename Iter> void _serialize(Iter os, int indent) const;
+-  std::string _serialize(int indent) const;
++  template <typename Iter> void internal_serialize(Iter os, int indent) const;
++  std::string internal_serialize(int indent) const;
+   void clear();
+ };
+ 
+@@ -557,11 +557,11 @@ template <typename Iter> void serialize_str(const std::string &s, Iter oi) {
+ }
+
+ template <typename Iter> void value::serialize(Iter oi, bool prettify) const {
+-  return _serialize(oi, prettify ? 0 : -1);
++  return internal_serialize(oi, prettify ? 0 : -1);
+ }
+
+ inline std::string value::serialize(bool prettify) const {
+-  return _serialize(prettify ? 0 : -1);
++  return internal_serialize(prettify ? 0 : -1);
+ }
+
+ template <typename Iter> void value::_indent(Iter oi, int indent) {
+@@ -571,7 +571,7 @@ template <typename Iter> void value::_indent(Iter oi, int indent) {
+   }
+ }
+
+-template <typename Iter> void value::_serialize(Iter oi, int indent) const {
++template <typename Iter> void value::internal_serialize(Iter oi, int indent) const {
+   switch (type_) {
+   case string_type:
+     serialize_str(*u_.string_, oi);
+@@ -588,7 +588,7 @@ template <typename Iter> void value::_serialize(Iter oi, int indent) const {
+       if (indent != -1) {
+         _indent(oi, indent);
+       }
+-      i->_serialize(oi, indent);
++      i->internal_serialize(oi, indent);
+     }
+     if (indent != -1) {
+       --indent;
+@@ -616,7 +616,7 @@ template <typename Iter> void value::_serialize(Iter oi, int indent) const {
+       if (indent != -1) {
+         *oi++ = ' ';
+       }
+-      i->second._serialize(oi, indent);
++      i->second.internal_serialize(oi, indent);
+     }
+     if (indent != -1) {
+       --indent;
+@@ -636,9 +636,9 @@ template <typename Iter> void value::_serialize(Iter oi, int indent) const {
+   }
+ }
+
+-inline std::string value::_serialize(int indent) const {
++inline std::string value::internal_serialize(int indent) const {
+   std::string s;
+-  _serialize(std::back_inserter(s), indent);
++  internal_serialize(std::back_inserter(s), indent);
+   return s;
+ }
+
+@@ -1165,4 +1165,4 @@ inline std::ostream &operator<<(std::ostream &os, const picojson::value &x) {
+ #pragma warning(pop)
+ #endif
+
+-#endif
+\ No newline at end of file
++#endif

thann commented on 2020-08-12 03:45 (UTC) (edited on 2020-08-12 03:45 (UTC) by thann)

RE: 'sm_xx' is not defined for option 'gpu-architecture'

I just disabled cuda entirely and it compiled =]

by adding the cmake flag: -DENABLE_CUDA=no

Jakeukalane commented on 2020-04-14 15:50 (UTC) (edited on 2020-04-14 15:51 (UTC) by Jakeukalane)

I needed to do:

sudo ln -s /usr/lib/libopencv_imgcodecs.so.4.3 /usr/lib/libopencv_imgcodecs.so.4.2

sudo ln -s /usr/lib/libopencv_imgproc.so.4.3 /usr/lib/libopencv_imgproc.so.4.2

sudo ln -s /usr/lib/libopencv_core.so.4.3 /usr/lib/libopencv_core.so.4.2

After updating opencv.

katt commented on 2019-05-01 11:20 (UTC)

Had to install ocl-icd to be able to build, worked fine without until a day ago or so.

tuqueque commented on 2019-03-18 15:31 (UTC)

(I posted this same thing on the https://github.com/nfnty/pkgbuilds site, just in case):

Hello, I'm trying to install waifu2x-converter-cpp in my Manjaro system and I get this error:

Scanning dependencies of target gensrcs
[ 11%] Generating modelHandler_OpenCL.cl.h
[ 14%] Generating modelHandler_CUDA.ptx30
/usr/include/bits/floatn.h(74): error: invalid argument to attribute "__mode__"

/usr/include/bits/floatn.h(86): error: identifier "__float128" is undefined

/home/tuqueque/.cache/yay/waifu2x-converter-cpp/src/waifu2x-converter-cpp/src/modelHandler_CUDA.cu(480): error: identifier "__shfl_down_sync" is undefined

3 errors detected in the compilation of "/tmp/tmpxft_000030ea_00000000-7_modelHandler_CUDA.cpp1.ii".
make[2]: *** [CMakeFiles/gensrcs.dir/build.make:78: modelHandler_CUDA.ptx30] Error 2
make[1]: *** [CMakeFiles/Makefile2:147: CMakeFiles/gensrcs.dir/all] Error 2
make: *** [Makefile:141: all] Error 2
==> ERROR: A failure occurred in build().
    Aborting...
Error making: waifu2x-converter-cpp

I don't know if it's somehow related with my version of CUDA intalled, I have 7.5 and I can't upgrade, 'cause my old nvidia card doesn't support newer versions.

Thank you in advance!

nfnty commented on 2019-01-01 17:58 (UTC)

@ax34 Looks like an upstream issue.

ax34 commented on 2019-01-01 16:26 (UTC)

CMake Error in CMakeLists.txt: Imported target "opencv_calib3d" includes non-existent path

"//include/opencv4"

in its INTERFACE_INCLUDE_DIRECTORIES. Possible reasons include:

  • The path was deleted, renamed, or moved to another location.

  • An install or uninstall procedure did not complete successfully.

  • The installation package was faulty and references files it does not provide.

fuan_k commented on 2018-09-16 21:45 (UTC) (edited on 2018-09-16 21:46 (UTC) by fuan_k)

This gives a different output compared to waifu2x. The author of waifu2x said somewhere on its issue tracker that the waifu2x-converter-cpp uses outdated algorithms or something, which could explain why it's not as good as the original waifu2x.

Be wary of these waifu2x-converter packages, they are not as good as proper waifu2x!