missing po/Makefile.in.in when trying to prepare a port
Happy New Year Cruxers, I try to build a Crux port for Canon printer drivers and hit the following issue: configure: creating ./config.status config.status: creating Makefile config.status: creating src/Makefile config.status: error: cannot find input file: `po/Makefile.in.in' It looks like an issue in rather standard feature. I would appreciate any advices. Where should I look for more info? Wawrzek PS. My Pkgfile base on Arch package file (https://aur.archlinux.org/packages/cnijfilter2/): # Description: Drivers for Canon printers # URL: https://www.canon-europe.com/support/consumer_products/operating_system_info... # Maintainer: Wawrzek Niewodniczanski <main at wawrzek dot name> # Depends on: cups name=cnijfilter2 version=6.30-1 release=1 source=(https://gdlp01.c-wss.com/gds/9/0100011319/01/$name-source-$version.tar.gz) dirs="cmdtocanonij2 cmdtocanonij3 cnijbe2 lgmon3 rastertocanonij tocanonij tocnpwg" build() { cd $name-source-$version export LDFLAGS="-L../../com/libs_bin_x86_64" for dir in $dirs do cd $dir ./autogen.sh --prefix=/usr make make DESTDIR=$PKG install cd ../ done rm -rf $PKG/usr/share/locale cd com/libs_bin64/ rm lib*.so install -c lib*.so* $PKG/usr/lib declare -a libs libs=$(ls -1 lib*.so.*) for baselib in $libs do shortlib=$baselib while extn=$(echo $shortlib | sed -n '/\.[0-9][0-9]*$/s/.*\(\.[0-9][0-9]*\)$/\1/p') [ -n "$extn" ] do shortlib=$(basename $shortlib $extn) ln -s $baselib $PKG/usr/lib/$shortlib done done cd - mkdir -p $PKG/usr/lib/bjlib2 install -c -m 644 com/ini/cnnet.ini $PKG/usr/lib/bjlib2 mkdir -p $PKG/usr/share/ppd/$name install -c -m 644 ppd/*.ppd $PKG/usr/share/ppd/$name -- Dr Wawrzyniec Niewodniczański or Wawrzek for short PhD in Quantum Chemistry & MSc in Molecular Engineering WWW: http://wawrzek.name E-MAIL: jobs@wawrzek.name Linux User #177124
Hi Wawrzek, Add these 3 lines after the first line (cd $name...): sed -i '/po\/Makefile.in/d' lgmon3/configure.in sed -i /SUBDIRS/s/po// lgmon3/Makefile.am sed -i '/GET_PROTOCOL/s/^int /static int/' lgmon3/src/cnij{lgmon3,ifnet2}.c and replace: cd com/libs_bin64/ with: cd com/libs_bin_x86_64 On Sat, Jan 8, 2022 at 9:10 PM Wawrzek Niewodniczanski <main@wawrzek.name> wrote:
Happy New Year Cruxers,
I try to build a Crux port for Canon printer drivers and hit the following issue:
configure: creating ./config.status config.status: creating Makefile config.status: creating src/Makefile config.status: error: cannot find input file: `po/Makefile.in.in'
It looks like an issue in rather standard feature. I would appreciate any advices. Where should I look for more info?
Wawrzek
PS. My Pkgfile base on Arch package file (https://aur.archlinux.org/packages/cnijfilter2/):
# Description: Drivers for Canon printers # URL: https://www.canon-europe.com/support/consumer_products/operating_system_info... # Maintainer: Wawrzek Niewodniczanski <main at wawrzek dot name> # Depends on: cups
name=cnijfilter2 version=6.30-1 release=1 source=( https://gdlp01.c-wss.com/gds/9/0100011319/01/$name-source-$version.tar.gz) dirs="cmdtocanonij2 cmdtocanonij3 cnijbe2 lgmon3 rastertocanonij tocanonij tocnpwg" build() { cd $name-source-$version export LDFLAGS="-L../../com/libs_bin_x86_64" for dir in $dirs do cd $dir ./autogen.sh --prefix=/usr make make DESTDIR=$PKG install cd ../ done rm -rf $PKG/usr/share/locale cd com/libs_bin64/ rm lib*.so install -c lib*.so* $PKG/usr/lib declare -a libs libs=$(ls -1 lib*.so.*) for baselib in $libs do shortlib=$baselib while extn=$(echo $shortlib | sed -n '/\.[0-9][0-9]*$/s/.*\(\.[0-9][0-9]*\)$/\1/p') [ -n "$extn" ] do shortlib=$(basename $shortlib $extn) ln -s $baselib $PKG/usr/lib/$shortlib done done cd - mkdir -p $PKG/usr/lib/bjlib2 install -c -m 644 com/ini/cnnet.ini $PKG/usr/lib/bjlib2 mkdir -p $PKG/usr/share/ppd/$name install -c -m 644 ppd/*.ppd $PKG/usr/share/ppd/$name
-- Dr Wawrzyniec Niewodniczański or Wawrzek for short PhD in Quantum Chemistry & MSc in Molecular Engineering WWW: http://wawrzek.name E-MAIL: jobs@wawrzek.name Linux User #177124 _______________________________________________ CRUX mailing list CRUX@lists.crux.nu https://lists.crux.nu/mailman/listinfo/crux
On Mon, 10 Jan 2022 at 09:53, Fun <just.the.real.fun@gmail.com> wrote:
Hi Wawrzek,
Hi Fun,
Add these 3 lines after the first line (cd $name...):
sed -i '/po\/Makefile.in/d' lgmon3/configure.in sed -i /SUBDIRS/s/po// lgmon3/Makefile.am sed -i '/GET_PROTOCOL/s/^int /static int/' lgmon3/src/cnij{lgmon3,ifnet2}.c
That works. I'm curious, why I needed to add these 3 lines. I understand what sed changes and where, but why? Wawrzek -- Dr Wawrzyniec Niewodniczański or Wawrzek for short PhD in Quantum Chemistry & MSc in Molecular Engineering WWW: http://wawrzek.name E-MAIL: jobs@wawrzek.name Linux User #177124
Hi Wawrzek, The configuration scripts for that directory (lgmon3) use /usr/bin/glib-gettextize (from opt/glib), which expects /usr/share/glib-2.0/gettext/ to exist (which it doesn't). You could add a symlink with that name that points to /usr/share/gettext (a directory installed with opt/glib), but it will fail later in the build process (I forgot why). The first 2 sed calls disable the gettext support from lgmon3. One from configure and one from makefile. I've guessed you won't need it. The 3rd sed is useful because there is a symbol used in two source files with the same name (GET_PROTOCOL) without being declared "for internal use only" :) (static), so when those two compiled sources are linked together, the latest versions of GNU linker (from these years of AI & machine learning & going to Mars :) is smart enough to "think" that one module might want to access GET_PROTOCOL from the other module (or the other way around, or who knows how many access combinations are possible, especially now that the quantum computer is already here :), so it doesn't build the final object (for our own good) until we state our "intentions" :D My guess is that lgmon3 is too old for these new build tools (or the other way around :), and while I was curious why they fail to build, I've stopped at the first or second fix I could came up with. Have fun! :) On Mon, Jan 10, 2022 at 7:28 PM Wawrzek Niewodniczanski <main@wawrzek.name> wrote:
On Mon, 10 Jan 2022 at 09:53, Fun <just.the.real.fun@gmail.com> wrote:
Hi Wawrzek,
Hi Fun,
Add these 3 lines after the first line (cd $name...):
sed -i '/po\/Makefile.in/d' lgmon3/configure.in sed -i /SUBDIRS/s/po// lgmon3/Makefile.am sed -i '/GET_PROTOCOL/s/^int /static int/' lgmon3/src/cnij{lgmon3,ifnet2}.c
That works. I'm curious, why I needed to add these 3 lines. I understand what sed changes and where, but why?
Wawrzek
-- Dr Wawrzyniec Niewodniczański or Wawrzek for short PhD in Quantum Chemistry & MSc in Molecular Engineering WWW: http://wawrzek.name E-MAIL: jobs@wawrzek.name Linux User #177124
participants (2)
-
Fun
-
Wawrzek Niewodniczanski