Package Details: pcb2gcode-git r1778.8c084afd-1

Git Clone URL: https://aur.archlinux.org/pcb2gcode-git.git (read-only, click to copy)
Package Base: pcb2gcode-git
Description: Gerber to gcode file converter
Upstream URL: https://github.com/pcb2gcode/pcb2gcode
Licenses: GPL
Conflicts: pcb2gcode
Provides: pcb2gcode
Submitter: equinoxefr
Maintainer: s-ol
Last Packager: s-ol
Votes: 8
Popularity: 0.000000
First Submitted: 2011-12-22 11:27 (UTC)
Last Updated: 2025-01-07 17:19 (UTC)

Dependencies (6)

Required by (1)

Sources (1)

Latest Comments

1 2 Next › Last »

cinnaboot commented on 2025-07-26 14:47 (UTC)

reading through the rest of the comments here, this looks like the same problem from 2021 that oxplot was dealing with.

I added a comment to the project issue tracker with a possible fix: https://github.com/pcb2gcode/pcb2gcode/issues/587#issuecomment-3122004254

cinnaboot commented on 2025-07-25 16:02 (UTC)

Same issue as evgenuel. I was able to get it to compile with:

diff --git a/PKGBUILD b/PKGBUILD
index 772b1d6..0510631 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -3,7 +3,7 @@

 pkgname=pcb2gcode-git
 _pkgname=pcb2gcode
-pkgver=r1778.8c084afd
+pkgver=r1805.07c6df4c
 pkgrel=1
 pkgdesc="Gerber to gcode file converter"
 arch=('i686' 'x86_64')
@@ -26,6 +26,7 @@ build() {

   autoreconf -i
   ./configure --prefix=/usr
+  sed -i '/BOOST_CPPFLAGS_SYSTEM = $(subst -I,-isystem ,$(BOOST_CPPFLAGS))/d' Makefile
   make -j
 }

I think it's related to the use of '-isystem' in the project's configure.ac, but I don't know if it's possible to thread the environment variables from autoconf into cmake somehow. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70129#c5

evgenuel commented on 2025-07-25 07:24 (UTC) (edited on 2025-07-25 07:27 (UTC) by evgenuel)

checking for the toolset name used by Boost for g++... configure: WARNING: could not figure out which toolset name to use for g++

checking for boost/program_options.hpp... yes
checking for the Boost program_options library... yes
sed: can't read conftest.o: No such file or directory
checking for boost/geometry.hpp... yes
checking for boost/algorithm/string.hpp... yes
checking for boost/format.hpp... yes
checking for boost/optional.hpp... yes
checking for boost/variant/variant_fwd.hpp... yes
checking for boost/variant.hpp... yes
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for glibmm-2.4 >= 2.8... yes
checking for gdkmm-2.4 >= 2.8... yes
checking for libgerbv >= 2.1.0... yes
checking for librsvg-2.0 >= 2.0... yes
checking for librsvg-2.0 >= 2.46... yes
checking for librsvg-2.0 >= 2.52... yes
checking for geos-config... /usr/bin/geos-config
checking for GEOS version >= 3.8.1... yes
configure: Found geos, is it geos++?
configure: Found geos++, we'll use it instead of some of the boost geometry for greater accuracy and speed.
checking value of GERBV_INTERPOLATION_LINEARx10 by analyzing object code... 1
checking for egrep... (cached) /usr/bin/grep -E
checking for _Bool... no
checking for stdbool.h that conforms to C99 or later... yes
checking for inline... inline
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating man/Makefile
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands
make  all-recursive
make[1]: вход в каталог «/tmp/makepkg/pcb2gcode-git/src/pcb2gcode»
Making all in man
make[2]: вход в каталог «/tmp/makepkg/pcb2gcode-git/src/pcb2gcode/man»
make[2]: Цель «all» не требует выполнения команд.
make[2]: выход из каталога «/tmp/makepkg/pcb2gcode-git/src/pcb2gcode/man»
make[2]: вход в каталог «/tmp/makepkg/pcb2gcode-git/src/pcb2gcode»
  CXX      autoleveller.o
  CXX      backtrack.o
  CXX      board.o
  CXX      bg_helpers.o
  CXX      bg_operators.o
  CXX      common.o
  CXX      drill.o
  CXX      eulerian_paths.o
  CXX      geos_helpers.o
  CXX      gerberimporter.o
  CXX      layer.o
  CXX      merge_near_points.o
  CXX      ngc_exporter.o
  CXX      path_finding.o
  CXX      segment_tree.o
  CXX      segmentize.o
  CXX      surface_vectorial.o
  CXX      tile.o
  CXX      trim_paths.o
  CXX      options.o
  CXX      svg_writer.o
  CXX      outline_bridges.o
  CXX      main.o
  CXX      voronoi.o
  CXX      wkt_to_svg.o
In file included from /usr/include/c++/15.1.1/ext/string_conversions.h:45,
                 from /usr/include/c++/15.1.1/bits/basic_string.h:4444,
                 from /usr/include/c++/15.1.1/string:56,
                 from /usr/include/c++/15.1.1/stdexcept:41,
                 from board.hpp:26,
                 from board.cpp:21:
/usr/include/c++/15.1.1/cstdlib:83:15: фатальная ошибка: stdlib.h: Нет такого файла или каталога
   83 | #include_next <stdlib.h>
      |               ^~~~~~~~~~
компиляция прервана.
make[2]: *** [Makefile:1189: board.o] Ошибка 1

JanErik commented on 2025-04-27 13:08 (UTC)

Turns out it was OOM killer that messed up the build. I have 12GB RAM and needed to add 12GB swap to make it compile due to massive parallel compilers.

JanErik commented on 2025-04-21 12:40 (UTC) (edited on 2025-04-21 12:41 (UTC) by JanErik)

This does not compile for me,

make[2]: Entering directory '/home/jskata/pcb2gcode-git/src/pcb2gcode'
  CXXLD    pcb2gcode
/usr/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/Scrt1.o: in function `_start':
(.text+0x1b): undefined reference to `main'
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:1093: pcb2gcode] Error 1
make[2]: Leaving directory '/home/jskata/pcb2gcode-git/src/pcb2gcode'
make[1]: *** [Makefile:1350: all-recursive] Error 1
make[1]: Leaving directory '/home/jskata/pcb2gcode-git/src/pcb2gcode'
make: *** [Makefile:946: all] Error 2

oxplot commented on 2022-12-22 14:10 (UTC)

Tiny diff to make this work again:

diff --git a/PKGBUILD b/PKGBUILD
index 4b16146..c5a153a 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -3,7 +3,7 @@

 pkgname=pcb2gcode-git
 _pkgname=pcb2gcode
-pkgver=r250.250d53a
+pkgver=r1749.174cc08a
 pkgrel=1
 pkgdesc="Gerber to gcode file converter"
 arch=('i686' 'x86_64')
@@ -13,7 +13,7 @@ makedepends=('git' 'boost')
 depends=('gtkmm' 'boost-libs' 'gerbv-git')
 provides=('pcb2gcode')
 conflicts=('pcb2gcode')
-source=("$_pkgname"::'git://github.com/pcb2gcode/pcb2gcode.git')
+source=('git+https://github.com/pcb2gcode/pcb2gcode.git')
 md5sums=('SKIP')

 pkgver() {

dzervas commented on 2022-07-10 11:59 (UTC)

git protocol on github seems to no longer be working. Maybe it should be changed to git+https?

oxplot commented on 2021-11-19 04:38 (UTC)

Added stdlib.patch:

diff --git a/configure.ac b/configure.ac
index eaac8724..ab2e7208 100644
--- a/configure.ac
+++ b/configure.ac
@@ -50,7 +50,7 @@ BOOST_FORMAT
 BOOST_OPTIONAL
 BOOST_VARIANT

-AC_SUBST([BOOST_CPPFLAGS_SYSTEM], ['$(subst -I,-isystem ,$(BOOST_CPPFLAGS))'])
+#AC_SUBST([BOOST_CPPFLAGS_SYSTEM], ['$(subst -I,-isystem ,$(BOOST_CPPFLAGS))'])

 PKG_CHECK_MODULES([glibmm], [glibmm-2.4 >= 2.8])
 PKG_CHECK_MODULES([gdkmm], [gdkmm-2.4 >= 2.8])
@@ -74,11 +74,11 @@ AS_IF([test "x$HAVE_GEOS" = "xyes"],
       [AC_MSG_NOTICE([Didn't find geos, we'll use boost geometry for all geometry functions.  If you see inaccuracies or you want faster run times, try geos.])])
 AS_IF([test "x$HAVE_GEOS" = "xyes"],
       [AC_SUBST(GEOS_EXTRA, ["-DUSE_UNSTABLE_GEOS_CPP_API -DGEOS_VERSION=\\\"\$(GEOS_VERSION)\\\""])])
-AS_IF([test "x$HAVE_GEOS" = "xyes"],
-      [AC_SUBST(GEOS_CFLAGS_SYSTEM, ['$(subst -I,-isystem ,$(GEOS_CFLAGS))'])])
+#AS_IF([test "x$HAVE_GEOS" = "xyes"],
+#      [AC_SUBST(GEOS_CFLAGS_SYSTEM, ['$(subst -I,-isystem ,$(GEOS_CFLAGS))'])])


-AC_SUBST([gdkmm_CFLAGS_SYSTEM], ['$(subst -I,-isystem ,$(gdkmm_CFLAGS))'])
+#AC_SUBST([gdkmm_CFLAGS_SYSTEM], ['$(subst -I,-isystem ,$(gdkmm_CFLAGS))'])

 AC_SUBST(gerbv_LIBS)
 AC_SUBST(gerbv_CFLAGS)

and updated PKGBUILD:

# Maintainer: Thomas Krug <t.krug@elektronenpumpe.de>
# Contributor: Pierre DOUCET <pierre at equinoxefr.org>

pkgname=pcb2gcode-git
_pkgname=pcb2gcode
pkgver=r1674.ae41f9fe
pkgrel=1
pkgdesc="Gerber to gcode file converter" 
arch=('i686' 'x86_64')
url="https://github.com/pcb2gcode/pcb2gcode"
license=('GPL')
makedepends=('git' 'boost')
depends=('gtkmm' 'boost-libs' 'gerbv-git')
provides=('pcb2gcode')
conflicts=('pcb2gcode')
source=("$_pkgname"::'git://github.com/pcb2gcode/pcb2gcode.git'
stdlib.patch)
md5sums=('SKIP' SKIP)

pkgver() {
  cd "$srcdir/$_pkgname"
  printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
}

prepare() {
  cd "$srcdir/$_pkgname"
  patch -Np1 < ../stdlib.patch
  autoupdate
  autoreconf -i
}

build() {
  cd "$srcdir/$_pkgname"
  ./configure --prefix=/usr
  make -j
}

package() {
  cd "$srcdir/$_pkgname"
  make DESTDIR="$pkgdir/" install
}

# vim:set ts=2 sw=2 et:

synthead commented on 2021-06-13 20:23 (UTC)

Submitted a bug report here: https://github.com/pcb2gcode/pcb2gcode/issues/587

synthead commented on 2021-06-13 19:59 (UTC)

Downgrading to boost and boost-libs 1.76.0.1 seems to make this program work again.