Author Topic: Trying to rebuild PCL+modules from sources  (Read 6358 times)

Offline georg.viehoever

  • PTeam Member
  • PixInsight Jedi Master
  • ******
  • Posts: 2132
Trying to rebuild PCL+modules from sources
« on: 2014 December 25 08:07:26 »
Hi,
I am trying to rebuild PCL with modules etc. based on the github sources on fedora21. I am currently having problems with the following:

- Blink: does not compile due to internal compiler error. Not really a PI problem, but you might want to know...
- Installer: installer due to reference to ../../core/Components/Application/Version.h. Not really painful...
- DrizzleIntegration: reference to ../ImageRegistration/Homography.h (not included in released sources). I would hope that PCL as released was self-contained and not relying on non-released sources. Maybe you could factor out this dependency from ImageRegistration.
-  XISF due to dependency on /home/georg/GitHub/PCL/include/pcl/String.h:118:23: fatal error file not found: #  include <qglobal.h> due to -D__PCL_QT_INTERFACE in makefile. Again I would hope that PCL does not require other files (here from Qt). I know how to help myself with the XISF by patching the Makefile and using the Qt coming with Fedora21. But I was a bit surprised that I find a Qt dependency here while everything else in PCL carefully tries to avoid direct use of the GUI library.

Georg
Georg (6 inch Newton, unmodified Canon EOS40D+80D, unguided EQ5 mount)

Offline Juan Conejero

  • PTeam Member
  • PixInsight Jedi Grand Master
  • ********
  • Posts: 7111
    • http://pixinsight.com/
Re: Trying to rebuild PCL+modules from sources
« Reply #1 on: 2014 December 25 09:21:43 »
Quote
- Blink: does not compile due to internal compiler error. Not really a PI problem, but you might want to know...

That's why we always use a *controlled* version of GCC. Currently we use 4.8.3, which has no problems with all PixInsight/PCL source code.

Quote
- Installer: installer due to reference to ../../core/Components/Application/Version.h. Not really painful...

The installer is included more for information purposes than as a "buildable" item. Anyway I have attached Version.h to this message.

Quote
- DrizzleIntegration: reference to ../ImageRegistration/Homography.h (not included in released sources).

Oops! Yes, this is a problem. We cannot release the source code of the ImageRegistration module (quite a few competing products would be really happy if we did so!). I'll see if I can include a reduced version of Homography.h in PCL, with the routines required for drizzle. Thank you for pointing this out.

Quote
-  XISF due to dependency on /home/georg/GitHub/PCL/include/pcl/String.h:118:23: fatal error file not found: #  include <qglobal.h> due to -D__PCL_QT_INTERFACE in makefile. Again I would hope that PCL does not require other files (here from Qt). I know how to help myself with the XISF by patching the Makefile and using the Qt coming with Fedora21. But I was a bit surprised that I find a Qt dependency here while everything else in PCL carefully tries to avoid direct use of the GUI library.

The XISF module is an exception because it depends on QtXml (specifically, on the QStreamReader and QStreamWriter classes). The main reason is that since Qt is already available on all PixInsight distributions, QtXml is the most logical option (besides the fact that XML handling is really excellent in Qt). You need to install and build Qt 4.8.6 to build the XISF module. Only the QtCore and QtXml libraries are required.

Since libXISF will use libXml, future versions of the XISF module will also depend on this open source library. I'll probably use libXml also in the core application (for projects, icon files, etc.).

Code: [Select]
// ****************************************************************************
// PixInsight Core Application Version 01.08.03.1123 Ripley
// ****************************************************************************
// 2014/11/14 11:59:48 UTC
// Components/Application/Version.h
// ****************************************************************************
// Copyright (c) 2003-2014 Pleiades Astrophoto S.L. All Rights Reserved.
// ****************************************************************************

/*
 * 1.8 Ripley
 */
#define PI_VERSION_MAJOR      1
#define PI_VERSION_MINOR      8
#define PI_VERSION_RELEASE    3
#define PI_VERSION_BUILD      1123
#define PI_VERSION_BETA       0
#define PI_VERSION_LANGCODE   "eng" // ISO 639.2 language code
#define PI_VERSION_CODENAME   "Ripley"

// ****************************************************************************
// 2014/11/14 11:59:48 UTC
// Components/Application/Version.h
Juan Conejero
PixInsight Development Team
http://pixinsight.com/

Offline gellen

  • Newcomer
  • Posts: 2
Re: Trying to rebuild PCL+modules from sources
« Reply #2 on: 2015 December 10 07:13:18 »
Is there a current workaround for this?

Quote

- DrizzleIntegration: reference to ../ImageRegistration/Homography.h (not included in released sources).



Oops! Yes, this is a problem. We cannot release the source code of the ImageRegistration module (quite a few competing products would be really happy if we did so!). I'll see if I can include a reduced version of Homography.h in PCL, with the routines required for drizzle. Thank you for pointing this out.

Offline Juan Conejero

  • PTeam Member
  • PixInsight Jedi Grand Master
  • ********
  • Posts: 7111
    • http://pixinsight.com/
Re: Trying to rebuild PCL+modules from sources
« Reply #3 on: 2015 December 14 10:42:20 »
Hi,

Sorry for the inconvenience. I'll include a pcl/Homography.h header file in the next version of PCL. It will be available on the GitHub repository very soon.
Juan Conejero
PixInsight Development Team
http://pixinsight.com/

Offline evalentin

  • Newcomer
  • Posts: 3
Re: Trying to rebuild PCL+modules from sources
« Reply #4 on: 2015 December 15 02:17:09 »
Hi,

I am also facing minor glitches while compiling pcl on mac. The build system is using the mac os sdk 10.10 not available anymore. It is signing the libs using the pleiades developper identity. Having two more env variables to configure these properties (signing id and base sdk) would certainly render things easier.
Would it be possible to have an option to produce static libs for the subprojets similarly to the main PCL lib ?

thanks

emmanuel

Offline Juan Conejero

  • PTeam Member
  • PixInsight Jedi Grand Master
  • ********
  • Posts: 7111
    • http://pixinsight.com/
Re: Trying to rebuild PCL+modules from sources
« Reply #5 on: 2015 December 15 03:17:56 »
Hi Emmanuel,

Good points. I'll include configuration options for the SDK and signing certificate in the Makefile Generator script.

Quote
Would it be possible to have an option to produce static libs for the subprojets similarly to the main PCL lib ?

PixInsight modules are shared or dynamic load libraries. They cannot be implemented as static libraries.
Juan Conejero
PixInsight Development Team
http://pixinsight.com/

Offline gellen

  • Newcomer
  • Posts: 2
Re: Trying to rebuild PCL+modules from sources
« Reply #6 on: 2015 December 24 03:15:54 »
Thanks for the update.