Discussion:
Error: invalid printer model name
(too old to reply)
Nawal Husnoo
2017-06-20 20:48:22 UTC
Permalink
Thanks for your help, I don't really know why I keep missing the obvious :P

I've now compiled the pstocanonij you suggested, but unfortunately:

Jun 20 21:23:51 heisenbug cupsd[21991]: pstocanonij:
/home/nawal/.nix-profile/bin//gs -sstdout=%stderr -r600 -g4958x7016 -q
-dNOPROMPT -dSAFER -sDEVICE=ppmraw -sOutputFile=%stdout -|
/home/nawal/.nix-profile/bin//cifmp250 --imageres 600 --papersize a4
--media plain --paperload asf --bbox 9,14,586,834 --fit --copies 1
Jun 20 21:23:51 heisenbug cupsd[21991]: Error: invalid printer model name
Jun 20 21:23:51 heisenbug cupsd[21991]: Read 324 bytes of back-channel
data...
Jun 20 21:23:52 heisenbug cupsd[21991]: Wrote 1 pages...
Jun 20 21:23:52 heisenbug cupsd[21991]: PID 30211 (pstops) exited with no
errors.


[***@heisenbug:~/data/nixos/user/pkgs/canon]$ grep "invalid printer model
name" -R ./cnijfilter-common/cnijfilter-3.40/src/bjfoption.c
fprintf(stderr, "Error: invalid printer model name\n");

A bit of googling suggests the "model name" isn't quite what's in the ppd
file...

[***@heisenbug:~/data/nixos/user/pkgs/canon]$ grep Name -R ./usr/| grep
ppd | grep Model
./usr/share/ppd/canonmp250.ppd:*ModelName: "Canon MP250 series"

I think this might be where I leave the rabbit hole...
Well, the log you posted is pretty clear on that: `pstocanonij` is calling
https://github.com/endlessm/cnijfilter-common/blob/master/
pstocanonij/filter/pstocanonij.c#L45-L52
and sure enough
https://github.com/endlessm/cnijfilter-common/blob/master/
pstocanonij/filter/pstocanonij.c#L687-L695
Now, the question is what to do. It looks like the source of `pstocanonij`
is public (but you‘ll have to check what is this github repository, and
where does the code come from, to be on the safe side with the licence,
especially if you want to submit this expression to nixpkgs later). If this
part of the driver is really opensource, than the answer is obvious, you
just go there and fix the paths ;).
Ah the lesson is I need to wake up fully before coding! Thank you!
Still stuck - so close and yet so far!
======
Jun 20 20:17:17 heisenbug cupsd[21991]: pstocanonij: /usr/bin/gs -r600
-g4958x7016 -q -dNOPROMPT -dSAFER -sDEVICE=ppmraw -sOutputFile=- -|
/usr/bin/cifmp250 --imageres 600 --papersize a4 --media plain --paperload
asf --bbox 9,14,586,834 --fit
Jun 20 20:17:17 heisenbug cupsd[21991]: /bin/sh: /usr/bin/gs: No such
file or directory
Jun 20 20:17:17 heisenbug cupsd[21991]: /bin/sh: /usr/bin/cifmp250: No
such file or directory
Jun 20 20:17:17 heisenbug cupsd[21991]: Sent 0 bytes...
Of course, the files /usr/bin/gs and /usr/bin/cifmp250 don't exist, this
being nix and all...
/home/nawal/.nix-profile/bin/gs
/home/nawal/.nix-profile/bin/cifmp250
https://github.com/NixOS/nixpkgs/blob/master/pkgs/misc/
cups/drivers/canon/default.nix
https://github.com/NixOS/nixpkgs/blob/master/pkgs/misc/
cups/drivers/canon/preload.c
but it's not clear to me how to port that to my problem... It's not even
clear to me who's calling these two binaries, as grepping the deb file
contents isn't turning up anything...
thanks for any ideas!
Nawal
default.nix
======================================================
{ stdenv
, pkgs
, udev
, alsaLib
, gtk2-x11
, patchelf
, binutils
, popt
, cups
, cairo
, pango
, fontconfig
, glib
, dpkg
, atk
, procps
, gdk_pixbuf
, zlib
, libxml2
, perl
, libtiff
, firefox
, libX11
, libXcursor
, libXrandr
, libXext
, libXinerama
, libXrender
, libXi
, libXfixes
, libpng12
, pkgconfig
stdenv.mkDerivation {
name = "canon-mp250";
src = ./usr;
builder = ./builder.sh;
buildInputs = [libtiff perl pkgconfig];
configurePhase = ''
echo "CONFIGURE TIFF ${libtiff.out}/lib/libtiff.so"
'';
libPath = stdenv.lib.makeLibraryPath [
stdenv.cc.cc
udev
alsaLib
gtk2-x11
binutils
popt
cups
cairo
pango
fontconfig
glib
dpkg
atk
procps
patchelf
gdk_pixbuf
libxml2
libtiff
libpng12
libX11
libXcursor
libXrandr
libXext
libXinerama
libXrender
libXi
libXfixes
];
}
builder.sh
======================================================
source $stdenv/setup
mkdir -p $out/
cp -r $src/* $out/
chmod 777 -R $out/*
patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath $libPath:$out/lib \
$out/bin/cngpijmonmp250
patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath $libPath:$out/lib \
$out/bin/cngpij
patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath $libPath:$out/lib \
$out/bin/cnijnetprn
patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath $libPath:$out/lib \
$out/bin/lgmonmp250
patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath $libPath:$out/lib \
$out/bin/cifmp250
patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath $libPath:$out/lib \
$out/bin/printuimp250
patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath $libPath:$out/lib \
$out/bin/cnijnpr
patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath $libPath:$out/lib \
$out/lib/cups/filter/pstocanonij
patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath $libPath:$out/lib \
$out/lib/cups/backend/cnijusb
patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath $libPath:$out/lib \
$out/lib/cups/backend/cnijnet
ls -lh $out/lib/
ls -lh $out/
ln -sv $out/lib/libcnbpcmcm356.so.8.0.1 $out/lib/libcnbpcmcm356.so
ln -sv $out/lib/libcnbpcnclbjcmd356.so.3.3.0
$out/lib/libcnbpcnclbjcmd356.so
ln -sv $out/lib/libcnbpess356.so.3.3.3 $out/lib/libcnbpess356.so
ln -sv $out/lib/libcnnet.so.1.2.0 $out/lib/libcnnet.so
ln -sv $out/lib/libcnbpcnclapi356.so.3.5.0 $out/lib/libcnbpcnclapi356.so
ln -sv $out/lib/libcnbpcnclui356.so.3.6.0 $out/lib/libcnbpcnclui356.so
ln -sv $out/lib/libcnbpo356.so.1.0.2 $out/lib/libcnbpo356.so
LIBTIFF=$(pkg-config --libs-only-L libtiff-4 | sed -e
's/-L//g')/libtiff.so.5
ln -s $LIBTIFF $out/lib/libtiff.so.4
You do `chmod 777` on a bunch of files, but not on `$out/lib`, but it’s
the creation of a link in `$out/lib` that fails, and according to your
output of `ls` the `lib` directory does not have the `w` permission indeed,
which is required to create a link in it.
I am not sure how this works exactly, but it seems that `cp` removes the
`w` permission when copying, so you either have to reset this permissions
yourself or, probably simpler, `mkdir -p "$out/lib"` beforehand, in which
case `cp` will not overwrite its permissions.
Hi
I have the following default.nix and builder.sh, copied from the
acroread example and adapted. They are called from config.nix. I'm getting
permission denied when I try to create a symbolic link. Any ideas?
thanks
Nawal
warning: there are multiple derivations named ‘all’; using the first one
replacing old ‘all’
installing ‘all’
/nix/store/w1w639kybx0lgvdmnb9ipg0j1xvb9wlq-canon-mp250.drv
/nix/store/bmp2ibgc82rmx14bgavd3pknwxwdp4ld-all.drv
building path(s) ‘/nix/store/q5qyxyqrfscdv7yj6aywx9v518215w
dr-canon-mp250’
total 764K
dr-xr-xr-x 2 nixbld1 nixbld 4.0K Jun 20 08:23 bjlib
dr-xr-xr-x 4 nixbld1 nixbld 4.0K Jun 20 08:23 cups
-r-xr-xr-x 1 nixbld1 nixbld 47K Jun 20 08:23 libcnbpcmcm356.so.8.0.1
-r-xr-xr-x 1 nixbld1 nixbld 41K Jun 20 08:23 libcnbpcnclapi356.so.3.5.0
-r-xr-xr-x 1 nixbld1 nixbld 21K Jun 20 08:23
libcnbpcnclbjcmd356.so.3.3.0
-r-xr-xr-x 1 nixbld1 nixbld 29K Jun 20 08:23 libcnbpcnclui356.so.3.6.0
-r-xr-xr-x 1 nixbld1 nixbld 522K Jun 20 08:23 libcnbpess356.so.3.3.3
-r-xr-xr-x 1 nixbld1 nixbld 42K Jun 20 08:23 libcnbpo356.so.1.0.2
-r-xr-xr-x 1 nixbld1 nixbld 38K Jun 20 08:23 libcnnet.so.1.2.0
total 12K
dr-xr-xr-x 2 nixbld1 nixbld 4.0K Jun 20 08:23 bin
dr-xr-xr-x 4 nixbld1 nixbld 4.0K Jun 20 08:23 lib
dr-xr-xr-x 7 nixbld1 nixbld 4.0K Jun 20 08:23 share
ln: failed to create symbolic link '/nix/store/
Permission denied
builder for ‘/nix/store/w1w639kybx0lgvdmnb9ipg0j1xvb9wlq-canon-mp250.drv’
failed with exit code 1
1 dependencies couldn't be built
error: build of ‘/nix/store/bmp2ibgc82rmx14bgavd3pknwxwdp4ld-all.drv’
failed
config.nix
with import <nixpkgs> {};
{
allowUnfree = true;
packageOverrides = pkgs_: with pkgs_; {
canon = callPackage ./pkgs/canon {
inherit (pkgs) pkgs;
};
all = with pkgs; buildEnv {
name = "all";
paths = [
canon
];
};
};
}
{ stdenv
, pkgs
, udev
, alsaLib
, gtk2-x11
, patchelf
, binutils
, popt
, cups
, cairo
, pango
, fontconfig
, glib
, dpkg
, atk
, procps
, gdk_pixbuf
, zlib
, libxml2
, libtiff
, firefox
, libX11
, libXcursor
, libXrandr
, libXext
, libXinerama
, libXrender
, libXi
, libXfixes
stdenv.mkDerivation {
name = "canon-mp250";
src = ./usr;
builder = ./builder.sh;
libPath = stdenv.lib.makeLibraryPath [
stdenv.cc.cc
udev
alsaLib
gtk2-x11
binutils
popt
cups
cairo
pango
fontconfig
glib
dpkg
atk
procps
patchelf
gdk_pixbuf
libxml2
libtiff
libX11
libXcursor
libXrandr
libXext
libXinerama
libXrender
libXi
libXfixes
];
}
source $stdenv/setup
mkdir -p $out/
cp -r $src/* $out/
chmod 777 -R $out/bin/*
chmod 777 -R $out/lib/cups/filter/*
chmod 777 -R $out/lib/cups/backend/*
patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath $libPath:$out/lib \
$out/bin/cngpijmonmp250
patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath $libPath:$out/lib \
$out/bin/cngpij
patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath $libPath:$out/lib \
$out/bin/cnijnetprn
patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath $libPath:$out/lib \
$out/bin/lgmonmp250
patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath $libPath:$out/lib \
$out/bin/cifmp250
patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath $libPath:$out/lib \
$out/bin/printuimp250
patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath $libPath:$out/lib \
$out/bin/cnijnpr
patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath $libPath:$out/lib \
$out/lib/cups/filter/pstocanonij
patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath $libPath:$out/lib \
$out/lib/cups/backend/cnijusb
patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath $libPath:$out/lib \
$out/lib/cups/backend/cnijnet
ls -lh $out/lib/
ls -lh $out/
ln -sv $out/lib/libcnbpcmcm356.so.8.0.1 $out/lib/libcnbpcmcm356.so
ln -sv $out/lib/libcnbpcnclbjcmd356.so.3.3.0
$out/lib/libcnbpcnclbjcmd356.so
ln -sv $out/lib/libcnbpess356.so.3.3.3 $out/lib/libcnbpess356.so
ln -sv $out/lib/libcnnet.so.1.2.0 $out/lib/libcnnet.so
ln -sv $out/lib/libcnbpcnclapi356.so.3.5.0
$out/lib/libcnbpcnclapi356.so
ln -sv $out/lib/libcnbpcnclui356.so.3.6.0 $out/lib/libcnbpcnclui356.so
ln -sv $out/lib/libcnbpo356.so.1.0.2 $out/lib/libcnbpo356.so
_______________________________________________
nix-dev mailing list
https://mailman.science.uu.nl/mailman/listinfo/nix-dev
Kirill Elagin
2017-06-20 21:11:27 UTC
Permalink
Well, this time it’s pretty hard to tell just form the source code, without
executing it. It seems that the model name is passed on the command line,
but who passes it to whom and what does the check do... unfortunately that
needs deepere debugging, with more verbose output, and probably even adding
additional logging to the code :(.

Maybe someone else can share their ideas.
Post by Nawal Husnoo
Thanks for your help, I don't really know why I keep missing the obvious :P
/home/nawal/.nix-profile/bin//gs -sstdout=%stderr -r600 -g4958x7016 -q
-dNOPROMPT -dSAFER -sDEVICE=ppmraw -sOutputFile=%stdout -|
/home/nawal/.nix-profile/bin//cifmp250 --imageres 600 --papersize a4
--media plain --paperload asf --bbox 9,14,586,834 --fit --copies 1
Jun 20 21:23:51 heisenbug cupsd[21991]: Error: invalid printer model name
Jun 20 21:23:51 heisenbug cupsd[21991]: Read 324 bytes of back-channel
data...
Jun 20 21:23:52 heisenbug cupsd[21991]: Wrote 1 pages...
Jun 20 21:23:52 heisenbug cupsd[21991]: PID 30211 (pstops) exited with no
errors.
model name" -R ./cnijfilter-common/cnijfilter-3.40/src/bjfoption.c
fprintf(stderr, "Error: invalid printer model name\n");
A bit of googling suggests the "model name" isn't quite what's in the ppd
file...
ppd | grep Model
./usr/share/ppd/canonmp250.ppd:*ModelName: "Canon MP250 series"
I think this might be where I leave the rabbit hole...
Well, the log you posted is pretty clear on that: `pstocanonij` is
https://github.com/endlessm/cnijfilter-common/blob/master/pstocanonij/filter/pstocanonij.c#L45-L52
and sure enough
https://github.com/endlessm/cnijfilter-common/blob/master/pstocanonij/filter/pstocanonij.c#L687-L695
Now, the question is what to do. It looks like the source of
`pstocanonij` is public (but you‘ll have to check what is this github
repository, and where does the code come from, to be on the safe side with
the licence, especially if you want to submit this expression to nixpkgs
later). If this part of the driver is really opensource, than the answer is
obvious, you just go there and fix the paths ;).
Ah the lesson is I need to wake up fully before coding! Thank you!
Still stuck - so close and yet so far!
======
Jun 20 20:17:17 heisenbug cupsd[21991]: pstocanonij: /usr/bin/gs -r600
-g4958x7016 -q -dNOPROMPT -dSAFER -sDEVICE=ppmraw -sOutputFile=- -|
/usr/bin/cifmp250 --imageres 600 --papersize a4 --media plain --paperload
asf --bbox 9,14,586,834 --fit
Jun 20 20:17:17 heisenbug cupsd[21991]: /bin/sh: /usr/bin/gs: No such
file or directory
Jun 20 20:17:17 heisenbug cupsd[21991]: /bin/sh: /usr/bin/cifmp250: No
such file or directory
Jun 20 20:17:17 heisenbug cupsd[21991]: Sent 0 bytes...
Of course, the files /usr/bin/gs and /usr/bin/cifmp250 don't exist, this
being nix and all...
/home/nawal/.nix-profile/bin/gs
/home/nawal/.nix-profile/bin/cifmp250
https://github.com/NixOS/nixpkgs/blob/master/pkgs/misc/cups/drivers/canon/default.nix
https://github.com/NixOS/nixpkgs/blob/master/pkgs/misc/cups/drivers/canon/preload.c
but it's not clear to me how to port that to my problem... It's not even
clear to me who's calling these two binaries, as grepping the deb file
contents isn't turning up anything...
thanks for any ideas!
Nawal
default.nix
======================================================
{ stdenv
, pkgs
, udev
, alsaLib
, gtk2-x11
, patchelf
, binutils
, popt
, cups
, cairo
, pango
, fontconfig
, glib
, dpkg
, atk
, procps
, gdk_pixbuf
, zlib
, libxml2
, perl
, libtiff
, firefox
, libX11
, libXcursor
, libXrandr
, libXext
, libXinerama
, libXrender
, libXi
, libXfixes
, libpng12
, pkgconfig
stdenv.mkDerivation {
name = "canon-mp250";
src = ./usr;
builder = ./builder.sh;
buildInputs = [libtiff perl pkgconfig];
configurePhase = ''
echo "CONFIGURE TIFF ${libtiff.out}/lib/libtiff.so"
'';
libPath = stdenv.lib.makeLibraryPath [
stdenv.cc.cc
udev
alsaLib
gtk2-x11
binutils
popt
cups
cairo
pango
fontconfig
glib
dpkg
atk
procps
patchelf
gdk_pixbuf
libxml2
libtiff
libpng12
libX11
libXcursor
libXrandr
libXext
libXinerama
libXrender
libXi
libXfixes
];
}
builder.sh
======================================================
source $stdenv/setup
mkdir -p $out/
cp -r $src/* $out/
chmod 777 -R $out/*
patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath $libPath:$out/lib \
$out/bin/cngpijmonmp250
patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath $libPath:$out/lib \
$out/bin/cngpij
patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath $libPath:$out/lib \
$out/bin/cnijnetprn
patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath $libPath:$out/lib \
$out/bin/lgmonmp250
patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath $libPath:$out/lib \
$out/bin/cifmp250
patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath $libPath:$out/lib \
$out/bin/printuimp250
patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath $libPath:$out/lib \
$out/bin/cnijnpr
patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath $libPath:$out/lib \
$out/lib/cups/filter/pstocanonij
patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath $libPath:$out/lib \
$out/lib/cups/backend/cnijusb
patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath $libPath:$out/lib \
$out/lib/cups/backend/cnijnet
ls -lh $out/lib/
ls -lh $out/
ln -sv $out/lib/libcnbpcmcm356.so.8.0.1 $out/lib/libcnbpcmcm356.so
ln -sv $out/lib/libcnbpcnclbjcmd356.so.3.3.0
$out/lib/libcnbpcnclbjcmd356.so
ln -sv $out/lib/libcnbpess356.so.3.3.3 $out/lib/libcnbpess356.so
ln -sv $out/lib/libcnnet.so.1.2.0 $out/lib/libcnnet.so
ln -sv $out/lib/libcnbpcnclapi356.so.3.5.0 $out/lib/libcnbpcnclapi356.so
ln -sv $out/lib/libcnbpcnclui356.so.3.6.0 $out/lib/libcnbpcnclui356.so
ln -sv $out/lib/libcnbpo356.so.1.0.2 $out/lib/libcnbpo356.so
LIBTIFF=$(pkg-config --libs-only-L libtiff-4 | sed -e
's/-L//g')/libtiff.so.5
ln -s $LIBTIFF $out/lib/libtiff.so.4
You do `chmod 777` on a bunch of files, but not on `$out/lib`, but it’s
the creation of a link in `$out/lib` that fails, and according to your
output of `ls` the `lib` directory does not have the `w` permission indeed,
which is required to create a link in it.
I am not sure how this works exactly, but it seems that `cp` removes
the `w` permission when copying, so you either have to reset this
permissions yourself or, probably simpler, `mkdir -p "$out/lib"`
beforehand, in which case `cp` will not overwrite its permissions.
Hi
I have the following default.nix and builder.sh, copied from the
acroread example and adapted. They are called from config.nix. I'm getting
permission denied when I try to create a symbolic link. Any ideas?
thanks
Nawal
warning: there are multiple derivations named ‘all’; using the first one
replacing old ‘all’
installing ‘all’
/nix/store/w1w639kybx0lgvdmnb9ipg0j1xvb9wlq-canon-mp250.drv
/nix/store/bmp2ibgc82rmx14bgavd3pknwxwdp4ld-all.drv
building path(s)
‘/nix/store/q5qyxyqrfscdv7yj6aywx9v518215wdr-canon-mp250’
total 764K
dr-xr-xr-x 2 nixbld1 nixbld 4.0K Jun 20 08:23 bjlib
dr-xr-xr-x 4 nixbld1 nixbld 4.0K Jun 20 08:23 cups
-r-xr-xr-x 1 nixbld1 nixbld 47K Jun 20 08:23 libcnbpcmcm356.so.8.0.1
-r-xr-xr-x 1 nixbld1 nixbld 41K Jun 20 08:23
libcnbpcnclapi356.so.3.5.0
-r-xr-xr-x 1 nixbld1 nixbld 21K Jun 20 08:23
libcnbpcnclbjcmd356.so.3.3.0
-r-xr-xr-x 1 nixbld1 nixbld 29K Jun 20 08:23 libcnbpcnclui356.so.3.6.0
-r-xr-xr-x 1 nixbld1 nixbld 522K Jun 20 08:23 libcnbpess356.so.3.3.3
-r-xr-xr-x 1 nixbld1 nixbld 42K Jun 20 08:23 libcnbpo356.so.1.0.2
-r-xr-xr-x 1 nixbld1 nixbld 38K Jun 20 08:23 libcnnet.so.1.2.0
total 12K
dr-xr-xr-x 2 nixbld1 nixbld 4.0K Jun 20 08:23 bin
dr-xr-xr-x 4 nixbld1 nixbld 4.0K Jun 20 08:23 lib
dr-xr-xr-x 7 nixbld1 nixbld 4.0K Jun 20 08:23 share
ln: failed to create symbolic link
Permission denied
builder for
‘/nix/store/w1w639kybx0lgvdmnb9ipg0j1xvb9wlq-canon-mp250.drv’ failed with
exit code 1
cannot build derivation
‘/nix/store/bmp2ibgc82rmx14bgavd3pknwxwdp4ld-all.drv’: 1 dependencies
couldn't be built
error: build of ‘/nix/store/bmp2ibgc82rmx14bgavd3pknwxwdp4ld-all.drv’
failed
config.nix
with import <nixpkgs> {};
{
allowUnfree = true;
packageOverrides = pkgs_: with pkgs_; {
canon = callPackage ./pkgs/canon {
inherit (pkgs) pkgs;
};
all = with pkgs; buildEnv {
name = "all";
paths = [
canon
];
};
};
}
{ stdenv
, pkgs
, udev
, alsaLib
, gtk2-x11
, patchelf
, binutils
, popt
, cups
, cairo
, pango
, fontconfig
, glib
, dpkg
, atk
, procps
, gdk_pixbuf
, zlib
, libxml2
, libtiff
, firefox
, libX11
, libXcursor
, libXrandr
, libXext
, libXinerama
, libXrender
, libXi
, libXfixes
stdenv.mkDerivation {
name = "canon-mp250";
src = ./usr;
builder = ./builder.sh;
libPath = stdenv.lib.makeLibraryPath [
stdenv.cc.cc
udev
alsaLib
gtk2-x11
binutils
popt
cups
cairo
pango
fontconfig
glib
dpkg
atk
procps
patchelf
gdk_pixbuf
libxml2
libtiff
libX11
libXcursor
libXrandr
libXext
libXinerama
libXrender
libXi
libXfixes
];
}
source $stdenv/setup
mkdir -p $out/
cp -r $src/* $out/
chmod 777 -R $out/bin/*
chmod 777 -R $out/lib/cups/filter/*
chmod 777 -R $out/lib/cups/backend/*
patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath $libPath:$out/lib \
$out/bin/cngpijmonmp250
patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath $libPath:$out/lib \
$out/bin/cngpij
patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath $libPath:$out/lib \
$out/bin/cnijnetprn
patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath $libPath:$out/lib \
$out/bin/lgmonmp250
patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath $libPath:$out/lib \
$out/bin/cifmp250
patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath $libPath:$out/lib \
$out/bin/printuimp250
patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath $libPath:$out/lib \
$out/bin/cnijnpr
patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath $libPath:$out/lib \
$out/lib/cups/filter/pstocanonij
patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath $libPath:$out/lib \
$out/lib/cups/backend/cnijusb
patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath $libPath:$out/lib \
$out/lib/cups/backend/cnijnet
ls -lh $out/lib/
ls -lh $out/
ln -sv $out/lib/libcnbpcmcm356.so.8.0.1 $out/lib/libcnbpcmcm356.so
ln -sv $out/lib/libcnbpcnclbjcmd356.so.3.3.0
$out/lib/libcnbpcnclbjcmd356.so
ln -sv $out/lib/libcnbpess356.so.3.3.3 $out/lib/libcnbpess356.so
ln -sv $out/lib/libcnnet.so.1.2.0 $out/lib/libcnnet.so
ln -sv $out/lib/libcnbpcnclapi356.so.3.5.0
$out/lib/libcnbpcnclapi356.so
ln -sv $out/lib/libcnbpcnclui356.so.3.6.0 $out/lib/libcnbpcnclui356.so
ln -sv $out/lib/libcnbpo356.so.1.0.2 $out/lib/libcnbpo356.so
_______________________________________________
nix-dev mailing list
https://mailman.science.uu.nl/mailman/listinfo/nix-dev
Loading...