Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

using cpan effectively

430 views
Skip to first unread message

Cal Dershowitz

unread,
Aug 15, 2012, 1:15:08 AM8/15/12
to
I seem to have wiped out my previous perl install when updating ubuntu,
so I'm back to square one. I've installed cpan, Data::Dumper, YAML,
File::Slurp successfully, but hit a snag when installing Image::Magick.

What does a person do when make install fails? The particular error
looks to be:

[can only paste as quotation]
> CPAN.pm: Going to build J/JC/JCRISTY/PerlMagick-6.77.tar.gz
>
> Checking if your kit is complete...
> Looks good
> Note (probably harmless): No library found for -lMagickCore

...
> Magick.xs:60:31: fatal error: magick/MagickCore.h: No such file or directory
> compilation terminated.

They give a help link at cpan, and I didn't see this issue there.

Beyond this particular issue, what modules would you install and play
with a bit just to be familiar with them and have them?

Thanks for your comment,
--
Cal

Mart van de Wege

unread,
Aug 15, 2012, 3:17:33 AM8/15/12
to
Cal Dershowitz <c...@example.invalid> writes:
>
> [can only paste as quotation]
>> CPAN.pm: Going to build J/JC/JCRISTY/PerlMagick-6.77.tar.gz
>>
>> Checking if your kit is complete...
>> Looks good
>> Note (probably harmless): No library found for -lMagickCore
>
> ...
>> Magick.xs:60:31: fatal error: magick/MagickCore.h: No such file or directory
>> compilation terminated.
>
> They give a help link at cpan, and I didn't see this issue there.
>
The error message speaks for itself: the build process can't find a
library. That means that something is missing in your install.

If you check the URL mentioned in the Image::Magick module
documentation, you'd find an URL to the home page of the extension,
where it is specifically stated:

ImageMagick must already be installed on your system.

So, it seems that you should install ImageMagick first.

Mart

--
"We will need a longer wall when the revolution comes."
--- AJS, quoting an uncertain source.

Rainer Weikusat

unread,
Aug 15, 2012, 6:50:02 AM8/15/12
to
Cal Dershowitz <c...@example.invalid> writes:
> I seem to have wiped out my previous perl install when updating
> ubuntu, so I'm back to square one. I've installed cpan, Data::Dumper,
> YAML, File::Slurp successfully, but hit a snag when installing
> Image::Magick.
>
> What does a person do when make install fails? The particular error
> looks to be:
>
> [can only paste as quotation]
>> CPAN.pm: Going to build J/JC/JCRISTY/PerlMagick-6.77.tar.gz
>>
>> Checking if your kit is complete...
>> Looks good
>> Note (probably harmless): No library found for -lMagickCore
>
> ...
>> Magick.xs:60:31: fatal error: magick/MagickCore.h: No such file or directory
>> compilation terminated.

This suggest that your install lacks the 'development package' for the
ImageMagick libaries and possibly, the library package as well.

Cal Dershowitz

unread,
Aug 16, 2012, 11:22:54 PM8/16/12
to
On 08/15/2012 01:17 AM, Mart van de Wege wrote:
> install ImageMagick

[x-posted to alt.os.linux.ubuntu]

I tried hard today but failed. I understand that people don't want to
see logs. I mean other people, usually the barkey ones. I don't find
it unpleasant to read a log.

Q1) Can anybody who has Imagemagick.h in a place that does something
useful tell me where it is on his/her installation?

Time for me to walk out in the rain.
--
Cal

Mart van de Wege

unread,
Aug 17, 2012, 7:00:58 AM8/17/12
to
Cal Dershowitz <c...@example.invalid> writes:

> On 08/15/2012 01:17 AM, Mart van de Wege wrote:
>> install ImageMagick
>
> [x-posted to alt.os.linux.ubuntu]
>
> I tried hard today but failed. I understand that people don't want to
> see logs. I mean other people, usually the barkey ones. I don't find
> it unpleasant to read a log.
>
> Q1) Can anybody who has Imagemagick.h in a place that does something
> useful tell me where it is on his/her installation?

You have been told the answer. Make sure you have both ImageMagick and
the development packages installed.

You should be able to find out the exact commands yourself, instead of
asking other people to do your homework for you.

Rainer Weikusat

unread,
Aug 17, 2012, 7:04:51 AM8/17/12
to
Cal Dershowitz <c...@example.invalid> writes:
> On 08/15/2012 01:17 AM, Mart van de Wege wrote:
>> install ImageMagick
>
> [x-posted to alt.os.linux.ubuntu]
>
> I tried hard today but failed. I understand that people don't want to
> see logs. I mean other people, usually the barkey ones. I don't find
> it unpleasant to read a log.
>
> Q1) Can anybody who has Imagemagick.h in a place that does something
> useful tell me where it is on his/her installation?

First, have you considered to install the Ubuntu package for the
module in question? This should take care of installing any
depedencies automatically and you won't even need the build
dependencies. The Debian package is called 'perlmagic', cf

,----
| [rw@sapphire]~ $sudo apt-cache search magick | grep perl
| libgraphics-magick-perl - format-independent image processing - perl interface
| perlmagick - Perl interface to the ImageMagick graphics routines
| libchart-gnuplot-perl - module for generating two- and three-dimensional plots
| libimage-size-perl - module for determining image sizes in several common formats
`----

It is generally a better idea to use software packaged by the
distribution insofar available. You can spare yourself a lot of
trouble if you don't use any 'upstream sources' directly except if you
need specific features (or fixes) not yet available elsewhere or if
you want or need to use them as base for independent developments (eg,
the DBD::Pg I'm presenty using as been significantly changed by me
because I needed working support for asychronous database interactions
and more differentiated error handling than die("It failed!"), two
things of no particular concern to the people who maintain the public
version).

Assuming you still want to install the CPAN-version, the easiest way
to deal with its build depedencies is to use the packaged versions for
these. Since you want to compile something which uses this library,
the library package alone won't do, you'll need the so-called
development package as well. Again using apt-cache to search for
likely suspects yields

,----
| [rw@sapphire]~ $sudo apt-cache search magick | grep lib | grep -- -dev
| graphicsmagick-libmagick-dev-compat - image processing librariesproviding ImageMagick interface
| libgraphicsmagick++1-dev - format-independent image processing - C++ development files
| libgraphicsmagick1-dev - format-independent image processing - C development files
| libmagick++-dev - object-oriented C++ interface to ImageMagick - development files
| libmagickcore-dev - low-level image manipulation library - development files
| libmagickwand-dev - image manipulation library - development files
| libvips-dev - image processing system good for very large images (dev)
`----

Since you were missing a library named MagickCore and a header of the
same name, the candidate suggesting itself would be libmagickcore-dev.
You can install that with

apt-get install libmagickcore-dev

This will install a bunch of other stuff the package maintainer
considered to be necessary for using this package (which might or
might not be true) or thought you should really be using for whatever
reason (aka 'avahi-daemon' ...) but unless you're seriously short of
diskspace or want/ need to control every detail, that's not worth
bothering with.

I usually disable automatic installation of 'recommended other
packages' because I grew tired of deinstalling the avahi- and
dbus-daemons over and over again :->. This can be done by creating a
file /etc/apt/apt.conf with the following content (or by adding it to
an existing apt.conf file)

APT {
Install-Recommends "false";
};

Dänk 42Ø

unread,
Aug 18, 2012, 12:46:19 PM8/18/12
to
I had the same problem, and I kind of forgot what I did, but I think I
just installed ImageMagick via the apt repository (I'm assuming you are
using Linux), and it installed the perl module.

sudo apt-get install imagemagick

Cal Dershowitz

unread,
Aug 20, 2012, 1:31:34 AM8/20/12
to
On 08/17/2012 05:04 AM, Rainer Weikusat wrote:
> Cal Dershowitz <c...@example.invalid> writes:
>> On 08/15/2012 01:17 AM, Mart van de Wege wrote:
>>> install ImageMagick
>>
>> [x-posted to alt.os.linux.ubuntu]
>>
>> I tried hard today but failed. I understand that people don't want to
>> see logs. I mean other people, usually the barkey ones. I don't find
>> it unpleasant to read a log.
>>
>> Q1) Can anybody who has Imagemagick.h in a place that does something
>> useful tell me where it is on his/her installation?
>
> First, have you considered to install the Ubuntu package for the
> module in question? This should take care of installing any
> depedencies automatically and you won't even need the build
> dependencies. The Debian package is called 'perlmagic', cf

Thanks for your reply, rainer; you are definitely rainer einer. I got
stung pretty hard on disambiguating the terms with Image, image magick
magic, and perl. perllib wasn't even hooked up correctly, which
surprised me, because I watched perl 5.14.2 get downloaded before my eyes.

One of the many things I've learned so far is what's supposed to go in
usr. I untarred files but can not yet say that that has ever done
anything good for me.
>
> ,----
> | [rw@sapphire]~ $sudo apt-cache search magick | grep perl
> | libgraphics-magick-perl - format-independent image processing - perl interface
> | perlmagick - Perl interface to the ImageMagick graphics routines
> | libchart-gnuplot-perl - module for generating two- and three-dimensional plots
> | libimage-size-perl - module for determining image sizes in several common formats
> `----
>
> It is generally a better idea to use software packaged by the
> distribution insofar available. You can spare yourself a lot of
> trouble if you don't use any 'upstream sources' directly except if you
> need specific features (or fixes) not yet available elsewhere or if
> you want or need to use them as base for independent developments (eg,
> the DBD::Pg I'm presenty using as been significantly changed by me
> because I needed working support for asychronous database interactions
> and more differentiated error handling than die("It failed!"), two
> things of no particular concern to the people who maintain the public
> version).
>
> Assuming you still want to install the CPAN-version, the easiest way
> to deal with its build depedencies is to use the packaged versions for
> these. Since you want to compile something which uses this library,
> the library package alone won't do, you'll need the so-called
> development package as well. Again using apt-cache to search for
> likely suspects yields

My real problem here was that I couldn't use my OS for system updates as
I had before. The look was completely different. I typed in
ImageMagick and got nothing. I'd be interesting from Mike Easter and
others how to put the best face on it, as he has experience explaining
to me how linux bugs are actually features.
>
> ,----
> | [rw@sapphire]~ $sudo apt-cache search magick | grep lib | grep -- -dev
> | graphicsmagick-libmagick-dev-compat - image processing librariesproviding ImageMagick interface
> | libgraphicsmagick++1-dev - format-independent image processing - C++ development files
> | libgraphicsmagick1-dev - format-independent image processing - C development files
> | libmagick++-dev - object-oriented C++ interface to ImageMagick - development files
> | libmagickcore-dev - low-level image manipulation library - development files
> | libmagickwand-dev - image manipulation library - development files
> | libvips-dev - image processing system good for very large images (dev)
> `----
>
> Since you were missing a library named MagickCore and a header of the
> same name, the candidate suggesting itself would be libmagickcore-dev.
> You can install that with
>
> apt-get install libmagickcore-dev

This is the thing I need to rely on.
>
> This will install a bunch of other stuff the package maintainer
> considered to be necessary for using this package (which might or
> might not be true) or thought you should really be using for whatever
> reason (aka 'avahi-daemon' ...) but unless you're seriously short of
> diskspace or want/ need to control every detail, that's not worth
> bothering with.
>
> I usually disable automatic installation of 'recommended other
> packages' because I grew tired of deinstalling the avahi- and
> dbus-daemons over and over again :->. This can be done by creating a
> file /etc/apt/apt.conf with the following content (or by adding it to
> an existing apt.conf file)
>
> APT {
> Install-Recommends "false";
> };
>

You lost me there at the end, but I'll assume that they were
qualifications to a more-learned crowd.

I think I've got more of it than I don't:


#!/usr/bin/perlfred@fred-desktop:~/Desktop/scripts$ perl im1.pl
Read...
Exception 435: unable to open image `model.gif': @
error/blob.c/OpenBlob/2587 at im1.pl line 18.
Exception 435: unable to open image `smile.gif': @
error/blob.c/OpenBlob/2587 at im1.pl line 24.
Transform image...
Adaptive Blur...
Can't locate object method "Label" via package "Exception 410: no images
defined `Image::Magick' @ error/Magick.xs/XS_Image__Magick_Clone/2928"
(perhaps you forgot to load "Exception 410: no images defined
`Image::Magick' @ error/Magick.xs/XS_Image__Magick_Clone/2928"?) at
im1.pl line 35.
fred@fred-desktop:~/Desktop/scripts$

#
# Overall demo of the major PerlMagick methods.
#
use Image::Magick;

#
# Read model & smile image.
#
print "Read...\n";
$null=Image::Magick->new;
$null->Set(size=>'70x70');

Contention: because the first error is after logo.gif, then the use
statement worked.


I'm trying not to make superlong posts, so I'll sign out and leave the
source for im1.pl after the sig.

I'm bin durch diese Erfahrung begeistert worden.
--
Cal

#!/usr/bin/perl
#
# Overall demo of the major PerlMagick methods.
#
use Image::Magick;

#
# Read model & smile image.
#
print "Read...\n";
$null=Image::Magick->new;
$null->Set(size=>'70x70');
$x=$null->ReadImage('NULL:black');
warn "$x" if "$x";

$model=Image::Magick->new();
$x=$model->ReadImage('model.gif');
warn "$x" if "$x";
$model->Label('Magick');
$model->Set(background=>'white');

$smile=Image::Magick->new;
$x=$smile->ReadImage('smile.gif');
warn "$x" if "$x";
$smile->Label('Smile');
$smile->Set(background=>'white');
#
# Create image stack.
#
print "Transform image...\n";
$images=Image::Magick->new();

print "Adaptive Blur...\n";
$example=$model->Clone();
$example->Label('Adaptive Blur');
$example->AdaptiveBlur('0x1');
push(@$images,$example);

print "Adaptive Resize...\n";
$example=$model->Clone();
$example->Label('Adaptive Resize');
$example->AdaptiveResize('60%');
push(@$images,$example);

print "Adaptive Sharpen...\n";
$example=$model->Clone();
$example->Label('Adaptive Sharpen');
$example->AdaptiveSharpen('0x1');
push(@$images,$example);

print "Adaptive Threshold...\n";
$example=$model->Clone();
$example->Label('Adaptive Threshold');
$example->AdaptiveThreshold('5x5+5%');
push(@$images,$example);

print "Add Noise...\n";
$example=$model->Clone();
$example->Label('Add Noise');
$example->AddNoise("Laplacian");
push(@$images,$example);

print "Annotate...\n";
$example=$model->Clone();
$example->Label('Annotate');
$example->Annotate(text=>'Magick',geometry=>'+0+20',font=>'Generic.ttf',
fill=>'gold',gravity=>'North',pointsize=>14);
push(@$images,$example);

print "Auto-gamma...\n";
$example=$model->Clone();
$example->Label('Auto Gamma');
$example->AutoGamma();
push(@$images,$example);

print "Auto-level...\n";
$example=$model->Clone();
$example->Label('Auto Level');
$example->AutoLevel();
push(@$images,$example);

print "Blur...\n";
$example=$model->Clone();
$example->Label('Blur');
$example->Blur('0.0x1.0');
push(@$images,$example);

print "Border...\n";
$example=$model->Clone();
$example->Label('Border');
$example->Border(geometry=>'6x6',color=>'gold');
push(@$images,$example);

print "Channel...\n";
$example=$model->Clone();
$example->Label('Channel');
$example->Channel(channel=>'red');
push(@$images,$example);

print "Charcoal...\n";
$example=$model->Clone();
$example->Label('Charcoal');
$example->Charcoal('0x1');
push(@$images,$example);

print "ColorMatrix...\n";
$example=$model->Clone();
$example->Label('ColorMatrix');
$example->ColorMatrix([1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0.5, 0, 1, 0, 0, 0,
0, 0, 1, 0, 0, 0, 0, 0, 1]);
push(@$images,$example);

print "Composite...\n";
$example=$model->Clone();
$example->Label('Composite');
$example->Composite(image=>$smile,compose=>'over',geometry=>'+35+65');
push(@$images,$example);

print "Contrast...\n";
$example=$model->Clone();
$example->Label('Contrast');
$example->Contrast();
push(@$images,$example);

print "Contrast Stretch...\n";
$example=$model->Clone();
$example->Label('Contrast Stretch');
$example->ContrastStretch('5%');
push(@$images,$example);

print "Convolve...\n";
$example=$model->Clone();
$example->Label('Convolve');
$example->Convolve([1, 1, 1, 1, 4, 1, 1, 1, 1]);
push(@$images,$example);

print "Crop...\n";
$example=$model->Clone();
$example->Label('Crop');
$example->Crop(geometry=>'80x80+25+50');
$example->Set(page=>'0x0+0+0');
push(@$images,$example);

print "Despeckle...\n";
$example=$model->Clone();
$example->Label('Despeckle');
$example->Despeckle();
push(@$images,$example);

print "Distort...\n";
$example=$model->Clone();
$example->Label('Distort');
$example->Distort(method=>'arc',points=>[60],'virtual-pixel'=>'white');
push(@$images,$example);

print "Draw...\n";
$example=$model->Clone();
$example->Label('Draw');
$example->Draw(fill=>'none',stroke=>'gold',primitive=>'circle',
points=>'60,90 60,120',strokewidth=>2);
push(@$images,$example);

print "Detect Edges...\n";
$example=$model->Clone();
$example->Label('Detect Edges');
$example->Edge();
push(@$images,$example);

print "Emboss...\n";
$example=$model->Clone();
$example->Label('Emboss');
$example->Emboss('0x1');
push(@$images,$example);

print "Equalize...\n";
$example=$model->Clone();
$example->Label('Equalize');
$example->Equalize();
push(@$images,$example);

print "Implode...\n";
$example=$model->Clone();
$example->Label('Explode');
$example->Implode(-1);
push(@$images,$example);

print "Flip...\n";
$example=$model->Clone();
$example->Label('Flip');
$example->Flip();
push(@$images,$example);

print "Flop...\n";
$example=$model->Clone();
$example->Label('Flop');
$example->Flop();
push(@$images,$example);

print "Frame...\n";
$example=$model->Clone();
$example->Label('Frame');
$example->Frame('15x15+3+3');
push(@$images,$example);

print "Fx...\n";
$example=$model->Clone();
$example->Label('Fx');
push(@$images,$example->Fx(expression=>'0.5*u'));

print "Gamma...\n";
$example=$model->Clone();
$example->Label('Gamma');
$example->Gamma(1.6);
push(@$images,$example);

print "Gaussian Blur...\n";
$example=$model->Clone();
$example->Label('Gaussian Blur');
$example->GaussianBlur('0.0x1.5');
push(@$images,$example);

print "Gradient...\n";
$gradient=Image::Magick->new;
$gradient->Set(size=>'130x194');
$x=$gradient->ReadImage('gradient:#20a0ff-#ffff00');
warn "$x" if "$x";
$gradient->Label('Gradient');
push(@$images,$gradient);

print "Grayscale...\n";
$example=$model->Clone();
$example->Label('Grayscale');
$example->Set(type=>'grayscale');
push(@$images,$example);

print "Implode...\n";
$example=$model->Clone();
$example->Label('Implode');
$example->Implode(0.5);
push(@$images,$example);

print "Level...\n";
$example=$model->Clone();
$example->Label('Level');
$example->Level('20%');
push(@$images,$example);

print "Median Filter...\n";
$example=$model->Clone();
$example->Label('Median Filter');
$example->MedianFilter();
push(@$images,$example);

print "Modulate...\n";
$example=$model->Clone();
$example->Label('Modulate');
$example->Modulate(brightness=>110,saturation=>110,hue=>110);
push(@$images,$example);
$example=$model->Clone();

print "Monochrome...\n";
$example=$model->Clone();
$example->Label('Monochrome');
$example->Quantize(colorspace=>'gray',colors=>2,dither=>'false');
push(@$images,$example);

print "Morphology...\n";
$example=$model->Clone();
$example->Label('Morphology');
$example->Morphology(method=>'Dilate',kernel=>'Diamond',iterations=>3);
push(@$images,$example);

print "Motion Blur...\n";
$example=$model->Clone();
$example->Label('Motion Blur');
$example->MotionBlur('0x13+10-10');
push(@$images,$example);

print "Negate...\n";
$example=$model->Clone();
$example->Label('Negate');
$example->Negate();
push(@$images,$example);

print "Normalize...\n";
$example=$model->Clone();
$example->Label('Normalize');
$example->Normalize();
push(@$images,$example);

print "Oil Paint...\n";
$example=$model->Clone();
$example->Label('Oil Paint');
$example->OilPaint();
push(@$images,$example);

print "Plasma...\n";
$plasma=Image::Magick->new;
$plasma->Set(size=>'130x194');
$x=$plasma->ReadImage('plasma:fractal');
warn "$x" if "$x";
$plasma->Label('Plasma');
push(@$images,$plasma);

print "Polaroid...\n";
$example=$model->Clone();
$example->Label('Polaroid');
$example->Polaroid(caption=>'Magick',rotate=>-5.0,gravity=>'center');
push(@$images,$example);

print "Quantize...\n";
$example=$model->Clone();
$example->Label('Quantize');
$example->Quantize();
push(@$images,$example);

print "Radial Blur...\n";
$example=$model->Clone();
$example->Label('Radial Blur');
$example->RadialBlur(10);
push(@$images,$example);

print "Raise...\n";
$example=$model->Clone();
$example->Label('Raise');
$example->Raise('10x10');
push(@$images,$example);

print "Reduce Noise...\n";
$example=$model->Clone();
$example->Label('Reduce Noise');
$example->ReduceNoise();
push(@$images,$example);

print "Resize...\n";
$example=$model->Clone();
$example->Label('Resize');
$example->Resize('60%');
push(@$images,$example);

print "Roll...\n";
$example=$model->Clone();
$example->Label('Roll');
$example->Roll(geometry=>'+20+10');
push(@$images,$example);

print "Rotate...\n";
$example=$model->Clone();
$example->Label('Rotate');
$example->Rotate(45);
push(@$images,$example);

print "Sample...\n";
$example=$model->Clone();
$example->Label('Sample');
$example->Sample('60%');
push(@$images,$example);

print "Scale...\n";
$example=$model->Clone();
$example->Label('Scale');
$example->Scale('60%');
push(@$images,$example);

print "Segment...\n";
$example=$model->Clone();
$example->Label('Segment');
$example->Segment();
push(@$images,$example);

print "Shade...\n";
$example=$model->Clone();
$example->Label('Shade');
$example->Shade(geometry=>'30x30',gray=>'true');
push(@$images,$example);

print "Sharpen...\n";
$example=$model->Clone();
$example->Label('Sharpen');
$example->Sharpen('0.0x1.0');
push(@$images,$example);

print "Shave...\n";
$example=$model->Clone();
$example->Label('Shave');
$example->Shave('10x10');
push(@$images,$example);

print "Shear...\n";
$example=$model->Clone();
$example->Label('Shear');
$example->Shear('-20x20');
push(@$images,$example);

print "Sketch...\n";
$example=$model->Clone();
$example->Label('Sketch');
$example->Set(colorspace=>'Gray');
$example->Sketch('0x20+120');
push(@$images,$example);

print "Sigmoidal Contrast...\n";
$example=$model->Clone();
$example->Label('Sigmoidal Contrast');
$example->SigmoidalContrast("3x50%");
push(@$images,$example);

print "Spread...\n";
$example=$model->Clone();
$example->Label('Spread');
$example->Spread();
push(@$images,$example);

print "Solarize...\n";
$example=$model->Clone();
$example->Label('Solarize');
$example->Solarize();
push(@$images,$example);

print "Swirl...\n";
$example=$model->Clone();
$example->Label('Swirl');
$example->Swirl(90);
push(@$images,$example);

print "Unsharp Mask...\n";
$example=$model->Clone();
$example->Label('Unsharp Mask');
$example->UnsharpMask('0.0x1.0');
push(@$images,$example);

print "Vignette...\n";
$example=$model->Clone();
$example->Label('Vignette');
$example->Vignette('0x20');
push(@$images,$example);

print "Wave...\n";
$example=$model->Clone();
$example->Label('Wave');
$example->Wave('25x150');
push(@$images,$example);
#
# Create image montage.
#
print "Montage...\n";
$montage=$images->Montage(geometry=>'128x160+8+4>',gravity=>'Center',
tile=>'5x+10+200',compose=>'over',background=>'#ffffff',
font=>'Generic.ttf',pointsize=>18,fill=>'#600',stroke=>'none',
shadow=>'true');

$logo=Image::Magick->new();
$logo->Read('logo:');
$logo->Zoom('40%');
$montage->Composite(image=>$logo,gravity=>'North');

print "Write...\n";
$montage->Set(matte=>'false');
$montage->Write('demo.jpg');
print "Display...\n";
$montage->Write('win:');






Cal Dershowitz

unread,
Aug 20, 2012, 2:08:25 AM8/20/12
to
Danke, Daenk, das ist genau das, dessen ich bedarf.

Gruss aus Amiland.
--
Cal

Cal Dershowitz

unread,
Aug 21, 2012, 5:36:01 AM8/21/12
to
On 08/15/2012 04:50 AM, Rainer Weikusat wrote:

> This suggest that your install lacks the 'development package' for the
> ImageMagick libaries and possibly, the library package as well.
>

$ convert DSCN1452.JPG -resize 22% testpic.jpg
convert: no decode delegate for this image format `DSCN1452.JPG' @
error/constitute.c/ReadImage/544.
convert: no images defined `testpic.jpg' @
error/convert.c/ConvertImageCommand/3044.
$

I think I've got the perl side of it, but I'm missing things.
--
Cal

Cal Dershowitz

unread,
Aug 21, 2012, 6:07:23 AM8/21/12
to
On 08/19/2012 11:31 PM, Cal Dershowitz wrote:
>
> Since you were missing a library named MagickCore and a header of the
> same name, the candidate suggesting itself would be libmagickcore-dev.
> You can install that with
>
> apt-get install libmagickcore-dev


$ sudo apt-get install libmagickcore-dev
[sudo] password for fred:
Reading package lists... Done
Building dependency tree
Reading state information... Done
libmagickcore-dev is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 12 not upgraded.
$

This is encouraging for me, because I've got 99 problems, and this is no
longer one of them.
--
Cal

Cal Dershowitz

unread,
Aug 21, 2012, 8:12:51 AM8/21/12
to
On 08/17/2012 05:00 AM, Mart van de Wege wrote:
> Cal Dershowitz <c...@example.invalid> writes:
>
>> On 08/15/2012 01:17 AM, Mart van de Wege wrote:
>>> install ImageMagick
>>
>> [x-posted to alt.os.linux.ubuntu]
>>
>> I tried hard today but failed. I understand that people don't want to
>> see logs. I mean other people, usually the barkey ones. I don't find
>> it unpleasant to read a log.
>>
>> Q1) Can anybody who has Imagemagick.h in a place that does something
>> useful tell me where it is on his/her installation?
>
> You have been told the answer. Make sure you have both ImageMagick and
> the development packages installed.
>
> You should be able to find out the exact commands yourself, instead of
> asking other people to do your homework for you.
>
> Mart
>


Welche Antwort bin ich erzaehlt worden?

"Homework" undergoes a strange transition between english and german,
and that said, meine Hausaufgaben sind gefertigt, zumindestens heute.
--
cal

Cal Dershowitz

unread,
Aug 22, 2012, 11:15:14 PM8/22/12
to
, he said, without successful output.

fred@fred-desktop:~/Desktop$ sudo apt-get install imagemagick
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
libmagickwand4 libnetpbm10 netpbm
Suggested packages:
imagemagick-doc autotrace curl enscript ffmpeg gnuplot grads hp2xx
html2ps
libwmf-bin mplayer povray radiance texlive-base-bin transfig ufraw-batch
The following NEW packages will be installed:
imagemagick libmagickwand4 libnetpbm10 netpbm
0 upgraded, 4 newly installed, 0 to remove and 12 not upgraded.
Need to get 1,611 kB of archives.
After this operation, 5,030 kB of additional disk space will be used.
Do you want to continue [Y/n]? y
...

Q1) What does it mean to be "processing triggers?"

Processing triggers for man-db ...
Setting up libmagickwand4 (8:6.6.9.7-5ubuntu3.1) ...
Setting up imagemagick (8:6.6.9.7-5ubuntu3.1) ...
Setting up libnetpbm10 (2:10.0-15) ...
Setting up netpbm (2:10.0-15) ...
Processing triggers for libc-bin ...
ldconfig deferred processing now taking place

Q2) What's that now? ^^^^

fred@fred-desktop:~/Desktop$

Tim McDaniel

unread,
Aug 23, 2012, 12:23:47 AM8/23/12
to
In article <cuidnT6tSJ3fPajN...@supernews.com>,
Cal Dershowitz <c...@example.invalid> wrote:
>Q1) What does it mean to be "processing triggers?"
>
>Processing triggers for man-db ...
>Setting up libmagickwand4 (8:6.6.9.7-5ubuntu3.1) ...
>Setting up imagemagick (8:6.6.9.7-5ubuntu3.1) ...
>Setting up libnetpbm10 (2:10.0-15) ...
>Setting up netpbm (2:10.0-15) ...
>Processing triggers for libc-bin ...
>ldconfig deferred processing now taking place
>
>Q2) What's that now? ^^^^

It is, so far as I have ever seen, normal (if verbose) output
explaining what normal and successful steps are being done at each
point. I saw them hundreds of times while successfully updating
packages. In sum, I don't know and it doesn't matter. If you repeat
the command, you should see that it has 0 packages to install; if you
look at the packages installed on your system, the list should include
the one(s) on your previous command line.

--
Tim McDaniel, tm...@panix.com

ilovelinux

unread,
Aug 23, 2012, 4:58:29 AM8/23/12
to
23-AUG-2012 05:15:14 UTC+2 Cal Dershowitz wrote:

> Q1) What does it mean to be "processing triggers?"
>
>
> Processing triggers for man-db ...
> Setting up libmagickwand4 (8:6.6.9.7-5ubuntu3.1) ...
> Setting up imagemagick (8:6.6.9.7-5ubuntu3.1) ...
> Setting up libnetpbm10 (2:10.0-15) ...
> Setting up netpbm (2:10.0-15) ...
> Processing triggers for libc-bin ...
> ldconfig deferred processing now taking place
>
> Q2) What's that now? ^^^^

Q1) As far as I have understood, triggers are an extension of the Debian package system that allows multiple packages to share the same post-install (postinst) actions.
Some actions, like updating the whatis database (http://linux.die.net/man/8/makewhatis), are part the postinst script of a lot of packages, but only the last action is effective. Instead of performing the action again and again for each package, a package may register a trigger. The trigger will be performed only once at the end of the installation process. This may result in a huge time gain.

Q2) ldconfig is a means to specify to the dynaloader of the Linux kernel in which directories to search for shared object libraries. See http://linux.die.net/man/8/ldconfig.

HTH

Rainer Weikusat

unread,
Aug 23, 2012, 5:47:21 AM8/23/12
to
Cal Dershowitz <c...@example.invalid> writes:

[...]

> Q1) What does it mean to be "processing triggers?"

[...]

> Processing triggers for libc-bin ...
> ldconfig deferred processing now taking place
>
> Q2) What's that now? ^^^^

Please consider to stop crossposting general Linux-related questions
to completely unrelated newsgroups.

Answer: One part of the installation of a Debian package is running
the so-called 'postinstall' script. As the name might suggest, this
script runs after all files the package is composed of have been
installed. Its purpose is to configure whatever needs to be configured
in order to integrate the package into the system. One example of this
is what the 'ldconfig deferred processing' refers to: Shared libraries
can be installed in any number of different filesystem locations (in
the most simple case, the system uses /lib and /usr/lib). Whenever a
process using a particular shared library needs to be started, the
file corresponding with this libray needs to be loaded in addition to
the file containing the main program (simplification). Often, the same
library is used by many running processes (eg, the C library is used
by all of them). In order to avoid searching the filesystem for the
same file still residing in the same location over and over again, the
system maintains a cache which records the location of all installed
shared libraries. Whenever a new shared library is installed, this
cache needs to be updated so that the runtime linker knows where to
find he corresponding file. This is accomplished by running the
ldconfig command. When installing multiple shared libraries, running
ldconfig once after all the files are installed is sufficient to
update the cache. Because of this, a package which needs this doesn't
run ldconfig directly from its postinstall script but 'triggers' a
ldconfig run instead. This means it informs the installation system
that ldconfig needs to be executed before this particular package will
be in a usable state. The installation system records this fact and
executes all actions triggered during installation of a series of
packages after all of them have been installed.

Norman Peelman

unread,
Aug 23, 2012, 9:56:23 AM8/23/12
to
> ....
>
> Q1) What does it mean to be "processing triggers?"
>
> Processing triggers for man-db ...

Setting up the info for 'man-db'... 'man' is a command-line program
for reading program documentation (manuals). Open a terminal (make it
fullscreen) and type:

fred@fred-desktop:~/Desktop$ man man

...for a description of 'man' using 'man'.

> Setting up libmagickwand4 (8:6.6.9.7-5ubuntu3.1) ...
> Setting up imagemagick (8:6.6.9.7-5ubuntu3.1) ...
> Setting up libnetpbm10 (2:10.0-15) ...
> Setting up netpbm (2:10.0-15) ...
> Processing triggers for libc-bin ...
> ldconfig deferred processing now taking place
>
> Q2) What's that now? ^^^^

Processing all the triggers set up earlier... man-db updates, maybe
putting entries in the menus, etc.


--
Norman
Registered Linux user #461062
AMD64X2 6400+ Ubuntu 10.04 64bit

Cal Dershowitz

unread,
Aug 26, 2012, 2:39:00 AM8/26/12
to
Das habe ich ueberhaupt nicht verstanden. Ich glaube dass die Spuren da
sind, z. B, mit ldconfig. Das siehst mormonisch aus. Tja.
--
Cal
--
Cal

Rainer Weikusat

unread,
Aug 26, 2012, 6:29:51 AM8/26/12
to
Cal Dershowitz <c...@example.invalid> writes:
> On 08/23/2012 03:47 AM, Rainer Weikusat wrote:
>> Cal Dershowitz <c...@example.invalid> writes:
>>
>> [...]
>>
>>> Q1) What does it mean to be "processing triggers?"
>>
>> [...]
>>
>>> Processing triggers for libc-bin ...
>>> ldconfig deferred processing now taking place
>>>
>>> Q2) What's that now? ^^^^
>>
>> Please consider to stop crossposting general Linux-related questions
>> to completely unrelated newsgroups.
>>
>> Answer: One part of the installation of a Debian package is running
>> the so-called 'postinstall' script.

[...]

> Das habe ich ueberhaupt nicht verstanden.

"Wer hoeren will muss schweigen koennen".

J. Gleixner

unread,
Sep 4, 2012, 10:36:03 AM9/4/12
to
Used Google and it reported many links.. Maybe this one will help?

http://www.imagemagick.org/discourse-server/viewtopic.php?f=1&t=12366

In short, you also need to install the jpg, and other graphics
related libraries that you need. Not a perl thing.
0 new messages