ppwwyyxx / OpenPano

Automatic Panorama Stitching From Scratch
MIT License
1.86k stars 553 forks source link

I can't compile panorama #4

Closed introlinux closed 9 years ago

introlinux commented 9 years ago

I'm in a Debian stable system. I have installed magick++ headers (libmagick++-dev) and this is the out when I try to compile:

$ make bash: Magick++-config: no se encontró la orden [dep] panorama.cc ... bash: Magick++-config: no se encontró la orden [dep] filter.cc ... bash: Magick++-config: no se encontró la orden [dep] utils.cc ... bash: Magick++-config: no se encontró la orden [dep] matcher.cc ... bash: Magick++-config: no se encontró la orden [dep] main.cc ... bash: Magick++-config: no se encontró la orden [dep] cylinder.cc ... bash: Magick++-config: no se encontró la orden [dep] matrix.cc ... bash: Magick++-config: no se encontró la orden [dep] config.cc ... bash: Magick++-config: no se encontró la orden [dep] sift.cc ... bash: Magick++-config: no se encontró la orden [dep] color.cc ... bash: Magick++-config: no se encontró la orden [dep] image.cc ... bash: Magick++-config: no se encontró la orden [dep] planedrawer.cc ... bash: Magick++-config: no se encontró la orden [dep] debugutils.cc ... bash: Magick++-config: no se encontró la orden [dep] transformer.cc ... bash: Magick++-config: no se encontró la orden [dep] keypoint.cc ... bash: Magick++-config: no se encontró la orden [cc] keypoint.cc ... In file included from include/sift.hh:8:0, from include/keypoint.hh:8, from keypoint.cc:6: include/image.hh:9:22: fatal error: Magick++.h: No existe el fichero o el directorio

include <Magick++.h>

                  ^

compilation terminated. make: *\ [obj/keypoint.o] Error 1

What could be the problem. Why it doesn't find magick++ dependencies?

ppwwyyxx commented 9 years ago

makefile tries to find required flags for magick++ by the command Magick++-config, but the command is not found on your system. I'm not sure about the proper package for this command to install on your system. But you can probably try manually adding a flag such as -I/usr/include/ImageMagick-6 to CXXFLAGS in the Makefile.

introlinux commented 9 years ago

Thanks, it works, but now I have another problem:

make [cc] keypoint.cc ... In file included from /usr/include/ImageMagick-6/Magick++.h:9:0, from include/image.hh:9, from include/sift.hh:8, from include/keypoint.hh:8, from keypoint.cc:6: /usr/include/ImageMagick-6/Magick++/Include.h:13:36: fatal error: magick/magick-config.h: No existe el fichero o el directorio

include "magick/magick-config.h"

                                ^

compilation terminated. make: *\ [obj/keypoint.o] Error 1

In my /usr/include/ImageMagick-6 folder only there is Magick++ folder and Magick++.h file. There isn't any magick/ folder

2015-08-12 21:32 GMT+02:00 Yuxin Wu notifications@github.com:

makefile try to find required flags for magick++ by the command Magick++-config, but the command is not found on your system. I'm not sure about the proper package for this command to install on your system. You can probably try add a flag such as -I/usr/include/ImageMagick-6 to CXXFLAGS in the Makefile.

— Reply to this email directly or view it on GitHub https://github.com/ppwwyyxx/panorama/issues/4#issuecomment-130420327.

ppwwyyxx commented 9 years ago

You probably need the package 'libmagickcore-dev'. It seems like it provides the missing files on debian: https://packages.debian.org/ca/wheezy/armhf/libmagickcore-dev/filelist

introlinux commented 9 years ago

It seems that in wheezy it was so, but now in the stable branch "jessie" they are in another path: https://packages.debian.org/jessie/libmagickcore-6.q16-dev

Anyway, it seems that the main problem is that magic-config.h doesn't exist :-/ https://packages.debian.org/search?searchon=contents&keywords=magick-config.h&mode=path&suite=stable&arch=any

I did a deep search on my system and I dind't find.

ppwwyyxx commented 9 years ago

Well I don't know a lot about debian, but I guess that's because the version they use in stable branch is too old.

Maybe the solution is to download a new release of imagemagick and compile one manually, if you can't upgrade your system.

introlinux commented 9 years ago

Could you pass me a binary compilated file of panorama before to try what you say? If it works in my system it would me save me a lot of time. :-/

El viernes, 14 de agosto de 2015, Yuxin Wu notifications@github.com escribió:

Well I don't know a lot about debian, but I guess that's because the version they use in stable branch is too old.

Maybe the solution is to download a new release of imagemagick and compile one manually, if you can't upgrade your system.

— Reply to this email directly or view it on GitHub https://github.com/ppwwyyxx/panorama/issues/4#issuecomment-131152417.

ppwwyyxx commented 9 years ago

I'm afraid that won't work for you either. I don't have any static library of imagemagick in my system. And a dynamic-built binary still requires proper version of dynamic libraries of imagemagick, libjpeg, etc. And they differ among systems.

introlinux commented 9 years ago

I know, but sometimes it works and only need create some symbolic link in the correct path. Anyway, I updated to unstable debian sid and I have the same problem. (Version imagemagick 6.8.9.9)

What system do you have?

2015-08-14 21:19 GMT+02:00 Yuxin Wu notifications@github.com:

I'm afraid that won't work for you either. I don't have any static library of imagemagick in my system. And a dynamic-built binary still requires proper version of dynamic libraries of imagemagick, libjpeg, etc. And they differ among systems.

— Reply to this email directly or view it on GitHub https://github.com/ppwwyyxx/panorama/issues/4#issuecomment-131213378.

ppwwyyxx commented 9 years ago

I'm using archlinux, where all libraries and packages are much newer than unstable debian (even testing debian). I have another ubuntu 14.04 machine. On that machine libmagick++-dev and libmagickcore-dev are the only necessary packages. But imagemagick here is version 6.7, which has bugs working with openmp.

ppwwyyxx commented 9 years ago

OK, I build a binary on my ubuntu machine based on imagemagick 6.8.9-10. You can download it at here . Have a try on it. I also upload some test data in the git repo.

introlinux commented 9 years ago

Sorry, I forgot to say that my system is in 32bit.

2015-08-15 15:49 GMT+02:00 Yuxin Wu notifications@github.com:

OK, I build a binary on my ubuntu machine based on imagemagick 6.8.9-10. You can download it at here http://file.ppwwyyxx.com/image-stitching . Have a try on it. I also upload some test data in the git repo.

— Reply to this email directly or view it on GitHub https://github.com/ppwwyyxx/panorama/issues/4#issuecomment-131381472.

ppwwyyxx commented 9 years ago

Then I probably cannot help. It will be too much trouble to get a 32-bit version of all the dependencies.

introlinux commented 9 years ago

Ok, don't worry, we close the issue, it is not a problem in panorama. Thanks for all and sorry for the inconvenience.

ppwwyyxx commented 8 years ago

If you still need it, this project doesn't depend on Magick++ any more. Recently I'm working on improvement & refactoring. Getting rid of Magick++ is the first step.