RE: [hugin-ptx] Re: Hugin and MSVC 2010 on win32/ x64

2010-07-01 Thread Ryan Sleevi
Sorry, I should have reviewed what I sent :)

As of 4.0, Enblend/Enfuse transitioned to a CMake build system. So the
patches should no longer be necessary, you should be able to just CMake it.


 -Original Message-
 From: hugin-ptx@googlegroups.com [mailto:hugin-...@googlegroups.com] On
 Behalf Of Aron H
 Sent: Thursday, July 01, 2010 4:23 PM
 To: hugin and other free panoramic software
 Subject: [hugin-ptx] Re: Hugin and MSVC 2010 on win32/ x64
 
 Lots of progress. I'm catching up with Tom Glastonbury - I have
 successfully compiled the main Hugin project, release and debug win32,
 and release x64. I've updated the wiki page:
 http://wiki.panotools.org/Hugin_SDK_%28MSVC_2010%29
 
 except for the final stages to compile Hugin, because there's not a
 spot. I'll make one...
 
 I've used the pre-compiled version of Enblend 4.0, so it's win32. One
 of the recurring requests on the list is for x64 builds, but the last
 ones I see, from Ryan Sleevi:
   http://groups.google.com/group/hugin-
 ptx/browse_thread/thread/4d19acdfdce90731/f14270cf01284a8d
 and download-able here:
http://ryan.sleevi.com/files/enblend-enfuse-4.0/
 have the problem with the -w parameter - if I drop in the x64 openMP
 enblend, it says the -w option -fXXX is invalid.
 
 What are the most current instructions for building enblend/enfuse for
 windows x64?
 This?
 http://wiki.panotools.org/Hugin_SDK_%28MSVC_2008%29#Enblend_and_Enfuse
 or this? http://wiki.panotools.org/Build_Hugin_for_Windows_with_SDK
 Thanks for your help!
 Aron
 
 --
 You received this message because you are subscribed to the Google
 Groups hugin and other free panoramic software group.
 A list of frequently asked questions is available at:
 http://wiki.panotools.org/Hugin_FAQ
 To post to this group, send email to hugin-ptx@googlegroups.com
 To unsubscribe from this group, send email to hugin-
 ptx+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/hugin-ptx

-- 
You received this message because you are subscribed to the Google Groups 
hugin and other free panoramic software group.
A list of frequently asked questions is available at: 
http://wiki.panotools.org/Hugin_FAQ
To post to this group, send email to hugin-ptx@googlegroups.com
To unsubscribe from this group, send email to 
hugin-ptx+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/hugin-ptx


RE: [hugin-ptx] Re: Hugin and MSVC 2010 on win32/ x64

2010-07-01 Thread Ryan Sleevi
What if it's neither? ;-)

The patch at the first link (part of the Hugin SDK / MSVC 2008 instructions)
is more recent. If the patch doesn't apply cleaning, you can see what the
patch does at
http://wiki.panotools.org/Hugin_SDK_(MSVC_2008)_Patches#Enblend.2FEnfuse.2Fl
ibxmi . That was required for 3.2 - it may not be required for 4.0.

Hope that helps.

 -Original Message-
 From: hugin-ptx@googlegroups.com [mailto:hugin-...@googlegroups.com] On
 Behalf Of Aron H
 Sent: Thursday, July 01, 2010 4:23 PM
 To: hugin and other free panoramic software
 Subject: [hugin-ptx] Re: Hugin and MSVC 2010 on win32/ x64
 
 Lots of progress. I'm catching up with Tom Glastonbury - I have
 successfully compiled the main Hugin project, release and debug win32,
 and release x64. I've updated the wiki page:
 http://wiki.panotools.org/Hugin_SDK_%28MSVC_2010%29
 
 except for the final stages to compile Hugin, because there's not a
 spot. I'll make one...
 
 I've used the pre-compiled version of Enblend 4.0, so it's win32. One
 of the recurring requests on the list is for x64 builds, but the last
 ones I see, from Ryan Sleevi:
   http://groups.google.com/group/hugin-
 ptx/browse_thread/thread/4d19acdfdce90731/f14270cf01284a8d
 and download-able here:
http://ryan.sleevi.com/files/enblend-enfuse-4.0/
 have the problem with the -w parameter - if I drop in the x64 openMP
 enblend, it says the -w option -fXXX is invalid.
 
 What are the most current instructions for building enblend/enfuse for
 windows x64?
 This?
 http://wiki.panotools.org/Hugin_SDK_%28MSVC_2008%29#Enblend_and_Enfuse
 or this? http://wiki.panotools.org/Build_Hugin_for_Windows_with_SDK
 Thanks for your help!
 Aron
 
 --
 You received this message because you are subscribed to the Google
 Groups hugin and other free panoramic software group.
 A list of frequently asked questions is available at:
 http://wiki.panotools.org/Hugin_FAQ
 To post to this group, send email to hugin-ptx@googlegroups.com
 To unsubscribe from this group, send email to hugin-
 ptx+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/hugin-ptx

-- 
You received this message because you are subscribed to the Google Groups 
hugin and other free panoramic software group.
A list of frequently asked questions is available at: 
http://wiki.panotools.org/Hugin_FAQ
To post to this group, send email to hugin-ptx@googlegroups.com
To unsubscribe from this group, send email to 
hugin-ptx+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/hugin-ptx


RE: [hugin-ptx] Re: Hugin and MSVC 2010 on win32/ x64

2010-06-30 Thread Ryan Sleevi
They're all there in SVN. Perhaps the .tar.gz you downloaded excluded them?

See
http://panotools.svn.sourceforge.net/viewvc/panotools/trunk/libpano/tools/ ,
I see all the tools referenced by the .sln. The patch may be out of date -
though it was just a patch to update the projects for VS2008, IIRC, and
looks like it's been unnecessary for the trunk projects for a while anyways.

 -Original Message-
 From: hugin-ptx@googlegroups.com [mailto:hugin-...@googlegroups.com] On
 Behalf Of Aron H
 Sent: Wednesday, June 30, 2010 2:39 PM
 To: hugin and other free panoramic software
 Subject: [hugin-ptx] Re: Hugin and MSVC 2010 on win32/ x64
 
 I've made lots of progress, but I'm stuck on PanoTools.
 The current 10.2 release process intends to release libpano13 2.9.17
 so I downloaded that .tar.gz from the sourceforge site.
 I can't find instructions to build it with MSVC that work. Looking at
 the current instructions to build the SDK:
 http://wiki.panotools.org/Hugin_SDK_%28MSVC_2008%29#Panorama_Tools
 the patch that worked for 2.9.14 doesn't work for 2.9.17 because
 the .sln file and all the .vcproj files for the tools, like PTBlender
 or PTCrop, don't exist - libpano.vcproj is the only one i see.
 
 Help?
 Thanks,
 Aron
 
 On Jun 29, 10:57 am, Aron H aron.hel...@gmail.com wrote:
  Well I'm going to plow ahead, because one advantage has become
  apparent: x64 targets are immediately available after installing the
  Win7 SDK, with no additional steps, unlike MSVC 2008.
 
  I've started and will be updating this wiki
 page:http://wiki.panotools.org/Hugin_SDK_%28MSVC_2010%29
  Feedback or help appreciated!
  Aron
 
  On Jun 28, 4:34 pm, Tom Glastonbury t...@tomglastonbury.com wrote:
 
   On 28/06/2010 7:06 PM, Aron H wrote: Has anyone attempted to
 compile Hugin or enblend with MSVC 2010
Express? Success or failure?
 
There's no mention in the wiki so far.
Aron
 
   I had a look at this but stuck to 2008 for now as there didn't seem
 to
   be a meaningful advantage in using 2010. Also, it wasn't clear to
 me if
   the VS2010 targets in CMake were yet considered a 'release' feature
 or
   were still in beta.
 
   Tom
 
 --
 You received this message because you are subscribed to the Google
 Groups hugin and other free panoramic software group.
 A list of frequently asked questions is available at:
 http://wiki.panotools.org/Hugin_FAQ
 To post to this group, send email to hugin-ptx@googlegroups.com
 To unsubscribe from this group, send email to hugin-
 ptx+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/hugin-ptx

-- 
You received this message because you are subscribed to the Google Groups 
hugin and other free panoramic software group.
A list of frequently asked questions is available at: 
http://wiki.panotools.org/Hugin_FAQ
To post to this group, send email to hugin-ptx@googlegroups.com
To unsubscribe from this group, send email to 
hugin-ptx+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/hugin-ptx


RE: [hugin-ptx] Re: Hugin and MSVC 2010 on win32/ x64

2010-06-30 Thread Ryan Sleevi
I haven't built with the new libpano, but it looks to have transitioned to a
CMake based build system since I last looked at it.

See
http://panotools.svn.sourceforge.net/viewvc/panotools/trunk/libpano/CMakeLis
ts.txt?revision=1268view=markup

It also indicates you don't have to have Java, so that may further explain.

 -Original Message-
 From: hugin-ptx@googlegroups.com [mailto:hugin-...@googlegroups.com] On
 Behalf Of Aron H
 Sent: Wednesday, June 30, 2010 3:11 PM
 To: hugin and other free panoramic software
 Subject: [hugin-ptx] Re: Hugin and MSVC 2010 on win32/ x64
 
 Yes, I can confirm that. The .tar.gz also leaves out
 LocalDefs.vsprops, which lets you avoid setting the  WXWIDGETS_HOME
 environment var globally, if I'm understanding it correctly.
 
 Why are the .sln and tool .vcproj files left out of the .tar.gz? I
 guess because the README.windows file says to build it with mingw, and
 makes no mention of MSVC.
 
 I also didn't have to install or point to the Java SDK. Does that
 sound correct to you?
 Aron
 
 On Jun 30, 2:45 pm, Ryan Sleevi ryan+hu...@sleevi.com wrote:
  They're all there in SVN. Perhaps the .tar.gz you downloaded excluded
 them?
 
 
 Seehttp://panotools.svn.sourceforge.net/viewvc/panotools/trunk/libpano/
 t...,
  I see all the tools referenced by the .sln. The patch may be out of
 date -
  though it was just a patch to update the projects for VS2008, IIRC,
 and
  looks like it's been unnecessary for the trunk projects for a while
 anyways.
 
 
 --
 You received this message because you are subscribed to the Google
 Groups hugin and other free panoramic software group.
 A list of frequently asked questions is available at:
 http://wiki.panotools.org/Hugin_FAQ
 To post to this group, send email to hugin-ptx@googlegroups.com
 To unsubscribe from this group, send email to hugin-
 ptx+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/hugin-ptx

-- 
You received this message because you are subscribed to the Google Groups 
hugin and other free panoramic software group.
A list of frequently asked questions is available at: 
http://wiki.panotools.org/Hugin_FAQ
To post to this group, send email to hugin-ptx@googlegroups.com
To unsubscribe from this group, send email to 
hugin-ptx+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/hugin-ptx


RE: [hugin-ptx] Re: Windows 64-bit Build

2010-05-17 Thread Ryan Sleevi
 -Original Message-
 From: hugin-ptx@googlegroups.com [mailto:hugin-...@googlegroups.com] On
 Behalf Of Tom Glastonbury
 Sent: Monday, May 17, 2010 6:26 AM
 To: hugin-ptx@googlegroups.com
 Subject: Re: [hugin-ptx] Re: Windows 64-bit Build
 
 Hi Ryan,
 
 Thanks for all that info - I'll digest it and do some research. One
 comment re NSIS - I certainly wasn't thinking of using it for building,
 but more in response to Yuv's note about downloading dependent
 source/binary packages. Windows doesn't come with wget as standard, and
 I'm not clued-up on some of the more enterprise-oriented scripting
 stuff
 that later versions of Windows support, so I was thinking that NSIS
 would be a useful tool for managing these downloads and for generally
 bootstrapping the installation (but not the build) of the SDK without
 requiring the user to download and install several utilities by hand in
 advance.
 

Have you worked with NSIS before? It's more akin to assembly language than
it is a generic scripting. Registers and stacks make up the core language,
and it's frustratingly limited. The support for downloading files is
rudimentary, and the selection of compression algorithms is limited (which
would affect the source downloads). My comments about Python/Perl earlier
were meant to demonstrate that it's arguably perfectly reasonable to have
some minimal set of dependencies (perhaps even distributed with the file):
ex, you need wget and python, and here's the executables, as well as the
python script that does the work. Or batch, or what have you.

As it relates to the SDK, there isn't much dependency management that needs
resolution: If you're going 32-bit, you need packages X, Y, and Z, and if
you're wanting to compile 64-bit, you equally need packages X, Y, and Z. The
only variation is if you're also wanting to compile enblend/enfuse, as then
you'll also need packages A, B, and Z. There is question, at this point,
whether that rightfully composes the Hugin SDK or not (really, it's just
useful because of the overlap)

I don't want to discourage you from pursuing something you're comfortable
in, I'd just suggest that NSIS wouldn't be the right tool for the job, which
is something Yuv also echoed. Can it be made to do what you want? Possibly -
but my own experiences with NSIS tell me it'll be a bit messy.

 
 Another note: As it stands, there are a few patches required to 3rd
 party libs that go beyond .sln file mods, and actually touch source
 code. From what various people have said, and the convention in use for
 the do-it-yourself SDK, I understand that the desired option is to
 download the unmodified source code of a specific version from a given
 library's main repository, then apply hugin-specific patches if needed.
 Is there general agreement with this (or at least lack of
 disagreement)?

That's the best strategy, IMO, as it allows for flexibility to change/update
the library in the future, and hopefully eliminate the patches once they
become unnecessary (most are minor, I think the closest anything gets to
'major' is just patching the wxWidgets config for third-party libraries)


-- 
You received this message because you are subscribed to the Google Groups 
hugin and other free panoramic software group.
A list of frequently asked questions is available at: 
http://wiki.panotools.org/Hugin_FAQ
To post to this group, send email to hugin-ptx@googlegroups.com
To unsubscribe from this group, send email to 
hugin-ptx+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/hugin-ptx


RE: [hugin-ptx] Re: Windows 64-bit Build

2010-05-16 Thread Ryan Sleevi

Hey Tom,

I'm commenting out of order here, but hopefully it makes sense this
way :)

 
 The other issue that I've mentioned before is that of producing x64 and
 Win32 builds from one source tree/SDK. It seems to me that the hugin
 CMake stuff will differentiate between debug and release libs (at least
 for some 3rd party dependencies), but not for 32 vs 64 bit - it
 generally seems to look for and generate link info for somelib.lib
 and
 somelibd.lib, but not somelib32.lib, somelib32d.lib,
 somelib64.lib and somelib64d.lib. Ideally, I'd like to be able to
 freely choose between any combo of x64/Win32 and Debug/Release within
 Visual Studio, and have the build process work. Is there a CMake master
 in the project who might be able to comment on this?

As far as I know, I was the first to really pursue the x64 builds.
What you're describing re: CMake is arguably a limitation both of CMake
itself (and more aptly, it's Visual Studio project generation ability) and a
limitation of the CMake recipes (for lack of a better word). The distinction
between Debug and Release is something that CMake (tool) itself supports via
a language-specific + compiler-specific extension that allows creators of
CMake files (FindGLUT, for example) to specify what the filenames will be.
No such directives exist for platform-specific definitions (that would allow
one to create a .sln that supports Win32 and x64 development). So, at a
minimum, we're talking two .sln files (or nmake, if you prefer) generated
from a single CMake, with a generic variable tracking target platform (which
CMake already sets for you, mind you). 

However, once there, it becomes a bit tricker. This is because some
of the (third-party) libraries use MSVC extensions (namely, #pragma
comment(lib, libname)) to specify what the library name will be, which is
based on arguments you pass to their (non-CMake) build scripts. I recall it
being Boost and STLplus that did this, but it may be more. So you'll still
need  to be specifying separate build arguments to these tools, and hoping
to get them to dump their compiled output into separate directories with a
sane naming scheme, which ends up with multiple copies of the include files
as well (since they deploy the library once compiled).

At one point, right before enblend-enfuse-4.0 was released, I did
have a system and a set of batch and CMake files that could compile the
entire set of libraries through, but unfortunately I lost those with a drive
crash. It involved touching every Find*.cmake and changing the
paths/libnames it would check based on whether the target platform was Win32
or x64 - which further involved copying/modifying some of the .cmake files
that come with the standard CMake distribution, and copying them into the
local repository so they'd be picked up first. I say that to clarify that
it's definitely do-able, it just requires a lot of CMake hacking, and even
what I had, was so messy that I didn't feel confident committing upstream.

I haven't followed up with CMake development, but they may now
support multi-platform targeting within a single solution, they just didn't
when I last worked on it. Hope that helps.

 I was interested to read that the idea worked on in the past for the
 Win
 SDK is based around a script that downloads 3rd party source/binaries
 as
 needed. I'll see what I can find in the Wiki, but notably I'd be
 interested to know which scripting system was being suggested - perhaps
 NSIS is a good choice?

NSIS is more of an installer system than a build system. The build
system needs to be scriptable, capable of applying patches, and executing
the various custom build scripts (bjam, for example, for Boost compilation).
I've got a lot of experience with NSIS, and feel confident saying This is
not the tool you're looking for. My original solution was simply a batch
script, but depending on what the lowest common denominator is, you may feel
more comfortable with either a Windows Script Host script (VBScript,
JScript), a PowerShell script, or even a third-party language like
Perl/Python via ActivePerl/ActivePython (though introducing that dependency
just for a build-helper script seems overkill)

Just let me know if you have any further questions and I'll do what
I can to help.


-- 
You received this message because you are subscribed to the Google Groups 
hugin and other free panoramic software group.
A list of frequently asked questions is available at: 
http://wiki.panotools.org/Hugin_FAQ
To post to this group, send email to hugin-ptx@googlegroups.com
To unsubscribe from this group, send email to 
hugin-ptx+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/hugin-ptx


RE: [hugin-ptx] Re: hugin image cache larger than 2047MB?

2010-01-12 Thread Ryan Sleevi
Lukas,

Check PreferencesDialog.cpp. On my (slightly out of date) branch, its 
around lines 907, which has 

cfg-Write(wxT(/ImageCache/UpperBound), 
MY_G_SPIN_VAL(prefs_cache_UpperBound)  20);

MY_G_SPIN_VAL is a macro to read back the wxSpinCtrls value via 
GetValue(). As a result, it will be returned as an int, and thus preserved as 
an int during the shift. My guess is a little static cast/C-cast (similar to 
how RotationStartAngle/RotationStopAngle are done just above) should solve the 
problem.

Original
cfg-Write(wxT(/ImageCache/UpperBound), 
MY_G_SPIN_VAL(prefs_cache_UpperBound)  20);

Suggested patch
cfg-Write(wxT(/ImageCache/UpperBound), 
(long)MY_G_SPIN_VAL(prefs_cache_UpperBound)  20);

This is just off-the-cuff - I can't exactly test being on Windows here.

Note that for Windows 64-bit users, if needing to support them, they'll get 
tripped up by long being 4 bytes, whereas long long is the 64-bit variant 
(http://stackoverflow.com/questions/384502/what-is-the-bit-size-of-long-on-64-bit-windows
 ). 

 -Original Message-
 From: hugin-ptx@googlegroups.com [mailto:hugin-...@googlegroups.com] On
 Behalf Of Lukáš Jirkovský
 Sent: Tuesday, January 12, 2010 10:45 AM
 To: hugin-ptx@googlegroups.com
 Subject: Re: [hugin-ptx] Re: hugin image cache larger than 2047MB?
 
 2010/1/12 kevin ke...@bluelavalamp.net:
  Hi Lukas,
 
  I'm running Slackware64, so 64-bit Linux with 12G of memory.  With
  some of my larger stitches (current one working on is 228 images)
  there are times when it will go through and be loading images for the
  preview - this is after having previewed before, so I'm guessing it's
  having to reload because the cache size won't hold all of them.
 Would
  like to try a larger cache to see if it would speed that process up
  but can't go above 2047.
 
  Kevin
 
 Oh, I have misunderstood first time. I thought you were talking about
 enblend/enfuse image cache.
 
 Is the limit correctly set in preferences after restart?
 
 Anyway I took a look at the code and I don't see any limits here (OK,
 it seems there is limit to 2048TB). I can't find any limit which could
 cause this. Currently I can think only about one cause and it's some
 setting in /etc/security/limits.conf (If it's here, I remember
 Slackware 10(or 9?) didn't use it). I've never tried any of the memory
 related setting though  Of course it may be some strange kernel option
 so I'd browse through /proc if the former doesn't help.
 
 Lukas

-- 
You received this message because you are subscribed to the Google Groups 
hugin and other free panoramic software group.
A list of frequently asked questions is available at: 
http://wiki.panotools.org/Hugin_FAQ
To post to this group, send email to hugin-ptx@googlegroups.com
To unsubscribe from this group, send email to 
hugin-ptx+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/hugin-ptx

RE: [hugin-ptx] Windows Build error - svn4843

2009-12-30 Thread Ryan Sleevi
Unfortunately, the error you pasted is about as meaningful as 'an error has
occurred'. The error message indicates that the expected project/library
'huginbase' wasn't built. This is generally caused by one or more
compilation errors earlier on. 

Scan 'up' in your log (eg: earlier), and you should find a more meaningful
error message - either a compilation issue or a linking issue. In particular
- look for the first occurrence of the error if it happens multiple times.

A starting point would (going from memory) be to look for a line like
XXhuginbase - Y error(s), Z warning(s). Once you've found what XX is for
huginbase, look for all the lines (earlier) prefixed with XX (which will be
individual file compilations) and look for any errors.

Hope that helps

 -Original Message-
 From: hugin-ptx@googlegroups.com [mailto:hugin-...@googlegroups.com] On
 Behalf Of brian_ims
 Sent: Thursday, December 31, 2009 12:47 AM
 To: hugin-ptx@googlegroups.com
 Subject: [hugin-ptx] Windows Build error - svn4843
 
 
 Hi,
 
 I've been trying to build svn4843 using the steps I used when building
 before the recent layout merge and get the following error multiple
 (19)
 times in Visual Studio:
 
 
 30Microsoft (R) Windows (R) Resource Compiler Version 6.1.6723.1
 30Copyright (C) Microsoft Corporation.  All rights reserved.
 30Linking...
 30LINK : fatal error LNK1104: cannot open file
 '..\..\hugin_base\Debug\huginbase.lib'
 30Build log was saved at
 file://f:\sdk\hugin_build\src\hugin1\ptbatcher\PTBatcherGUI.dir\Debug\
 BuildLog.htm
 30PTBatcherGUI - 1 error(s), 0 warning(s)
 
 Can anybody give guidance on what to do?
 
 Cheers
 --
 View this message in context: http://old.nabble.com/Windows-Build-
 error---svn4843-tp26975683p26975683.html
 Sent from the hugin ptx mailing list archive at Nabble.com.
 
 --
 You received this message because you are subscribed to the Google
 Groups hugin and other free panoramic software group.
 A list of frequently asked questions is available at:
 http://wiki.panotools.org/Hugin_FAQ
 To post to this group, send email to hugin-ptx@googlegroups.com
 To unsubscribe from this group, send email to hugin-
 ptx+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/hugin-ptx

-- 
You received this message because you are subscribed to the Google Groups 
hugin and other free panoramic software group.
A list of frequently asked questions is available at: 
http://wiki.panotools.org/Hugin_FAQ
To post to this group, send email to hugin-ptx@googlegroups.com
To unsubscribe from this group, send email to 
hugin-ptx+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/hugin-ptx


RE: [hugin-ptx] Re: binary distribution policy

2009-11-17 Thread Ryan Sleevi
 well I'd be thrilled to contribute and I do use windows. actually I've
 been going off it lately but I imagine it's cyclical.
 What I would require is a crude explanation what is and how works  C
 and what is C ++ how is the same name for program language different
 in windows and unix. I would need to know what these differences are
 before I dived in and tried to figure stuff out
 mick

Not to discourage anyone from contributing, because it's always welcome, but
it's important to understand that the lack of Windows binaries is not solely
related to 'the lack of someone to compile them,' which I think is what Yuv
was getting at originally before the flame war erupted.

What is needed is someone to do for the Windows side what Yuval (previously)
did for the general releases: Someone who can shepherd the platform,
maintain it, and support it. For example, what happens if someone has a
crash that is only on Windows? Who will be responsible for tracking it down,
getting diagnostic information, etc? Who will maintain the installer,
ensuring everything gets put in its proper place? And let's not forget
dependencies - and all their myriad configurations. When development
progresses, will the person building binaries have the necessary knowledge
and skill to keep their environment up to date - and to ensure that when
it's prepared for end-users, it's kept as simple and clean as possible?

There has definitely been a lot of interest in getting Windows compiled -
which is great, as it's a good beginners step into this. However, judging by
the questions on the list so far, it doesn't seem like (and I hope I'm not
offending anyone when I say this) that no one who has stepped up really
understands what the challenges were and are, and that the same quality
concerns may persist once your first 'hugin.exe' is sitting in your output
directory.

I've seen suggestions about possible installer scripts and the like - except
there is already an installer script that, while valid for 0.7.0, definitely
needs polish and attention. I've seen a lot of questions about dependencies
and compilation bugs (on all platforms, for that matter), when many of the
questions are already answered on the Wiki. While yes, I'm aware that sounds
dangerously close to the anti-user RTFM, it really cannot be understated
how important that step is.

In terms of what has (historically) prevented a 0.8.0 release, consider the
following:
- No one has stepped up to own the installer. A huge amount of work is
already done, but there is still significant work to be done to put together
an end-user-friendly, international-law-abiding installer. 
- No one has stepped up for the 'cat herding' task of building a plan for
how a Windows release might go. Once the binaries are built (which, not to
insult anyone, really is the easiest part), how will they get tested on the
various platforms? How will feedback be collected? How will issues be
addressed - Windows specific issues, installer issues, platform issues? 
- What about 32-bit and 64-bit binaries? They *are* different, they *do*
have different build steps and, while their dependencies are the same,
actually resolving those dependencies requires quite a few different steps.
For Linux and Mac this is much easier, but on a platform like Windows, with
a build system like CMake, a compiler like MSVC, and a (justifiable) policy
of static linking, this is a whole new set of challenges.
- How will the exes be 'audited'? Consider that in the case of Linux, you're
often building from source or seeing it distributed by your distro vendor -
which is a nice clean audit trail of no back doors. For Mac and Windows,
when shipping binary versions, there is a matter of trust - trust which
takes time to establish (as Harry has). Certainly that needs to be a
consideration, even as a community with no specific liability.

For those who are realizing that this task is a lot larger than perhaps
they'd realized, or that it involves a set of skills that they may not
necessarily have, don't be disheartened - there are still ways to
contribute. Testing and feedback will always be a necessary part, just as
interface design and behaviour will be important as well. 

While I can understand how Yuval's message seems to have got lost or
misinterpreted, I would absolutely agree with the concerns he expressed on
his personal page regarding the significance of this task, and why it is
frustrating when people are frequently asking on list. It's not that there
is anything wrong for asking, it's just that it's not nearly as simple as
people may think it is, and it's misguided and potentially insulting to
insist that it is, as some have in the past.


-- 
You received this message because you are subscribed to the Google Groups 
hugin and other free panoramic software group.
A list of frequently asked questions is available at: 
http://wiki.panotools.org/Hugin_FAQ
To post to this group, send email to hugin-ptx@googlegroups.com
To unsubscribe 

RE: [hugin-ptx] Re: (Probably very basic) help needed for build process on WinXP: missing files?

2009-11-15 Thread Ryan Sleevi
See
http://sourceforge.net/tracker/?func=detailaid=2789320group_id=77506atid=
550443

Look at the diff files for libxmi-1.2 and lcms-1.18

tiff.h can be found in wxWidgets, unless you're specifically linking against
a newer version for the larger file support (note: if doing so, make sure
you're not duplicating symbols in wxWidgets)

More details are at http://wiki.panotools.org/Hugin_SDK_%28MSVC_2008%29 

 -Original Message-
 From: J. Schneider [mailto:j-schn...@gmx.de]
 Sent: Sunday, November 15, 2009 4:49 PM
 To: hugin-ptx@googlegroups.com
 Subject: Re: [hugin-ptx] Re: (Probably very basic) help needed for
 build process on WinXP: missing files?
 
 Hallo Yuv,
 
 I took my moving_target.html and my huginbase directory to reconsider
 where I was standing.
 
 - trying to build enblend
- lcms built successfully
- wxWidgets found again after it looked like missing
- libtiff built sucessfully
- STLport: Got the source and did that configure thing - but
 actually
  I don't exactly know (or remember) what this produced. Anyway
 there
  is an STLport folder now.
- libxmi: Got the source and unzipped it. Is this it?
 
 This is where I stopped and the last question was, whether I should do
 anything more than unzipping it:
   2. libxmi-1.2
   In the INSTALL file it says
   1. Do './configure', 'make', and 'make install', as usual.  This
   will install both libxmi and its header file, xmi.h.
   but I'm not sure if installing is what I want to do in this
 case.
  
   these are standard instruction for Linux/Unix. They don't work for
   MSVC. Also IIRC you just want to unpack it there, not necessarily
   build/install it. But I may be wrong. I'm currently on Linux and
 it's
   late. I shall look at my Windows box soon.
   OK, let's keep this one for later.
 
 Just to verify that MSVC doesn't complain any more about missing things
 that I believe I solved I reran a build. The logs are below.
 First thing I wondered about is that two projects are built: first
 vigra_impex and then enblend. But I found out that I have to chose from
 a submenu to build only a certain part.
 Next thing is that it complains about missing tiff.h when building
 vigra. There was still tiff-3.8.2 listed in it's properties and with
 changing it to 3.9.1 this was solved.
 (Updated moving_target.html accordingly.)
 
 Building enblend didn't fail any more because of some dependency
 missing
 but because of too many other errors occurring. I put the complete log
 at http://www.joachimschneider.info/BuildLog.htm, but beginning and end
 are cited here:
 
 2-- Erstellen gestartet: Projekt: enblend, Konfiguration: Release
 Win32 --
 2Kompilieren...
 2cl : Befehlszeile warning D9035 : Die Option Wp64 ist veraltet und
 wird in einer der nächsten Versionen entfernt.
 2getopt_long.c
 snip
 2d:\huginbase\lcms-1.18\include\icc34.h(781) : error C2146:
 Syntaxfehler: Fehlendes ';' vor Bezeichner 'count'
 2d:\huginbase\lcms-1.18\include\icc34.h(781) : fatal error C1003: Mehr
 als 100 Fehler gefunden; Kompilierung wird abgebrochen.
 Ergebnisse Das Buildprotokoll wurde unter
 file://d:\huginbase\enblend\src\Release\BuildLog.htm gespeichert.
 enblend - 264 Fehler, 1 Warnung(en)
 
 I'm not sure if this is some progress. But at least it is a new kind of
 failing. I don't know if MSVC had found anything else missing if it
 hadn't stopped at some point. (Probably this is configurable, but I
 didn't find where.)
 
 Can you give me the next hints?
 regards
 Joachim
 
 --
 You received this message because you are subscribed to the Google
 Groups hugin and other free panoramic software group.
 A list of frequently asked questions is available at:
 http://wiki.panotools.org/Hugin_FAQ
 To post to this group, send email to hugin-ptx@googlegroups.com
 To unsubscribe from this group, send email to hugin-
 ptx+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/hugin-ptx

-- 
You received this message because you are subscribed to the Google Groups 
hugin and other free panoramic software group.
A list of frequently asked questions is available at: 
http://wiki.panotools.org/Hugin_FAQ
To post to this group, send email to hugin-ptx@googlegroups.com
To unsubscribe from this group, send email to 
hugin-ptx+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/hugin-ptx


RE: [hugin-ptx] Can't build Enblend under Windows

2009-11-15 Thread Ryan Sleevi
This is caused when PACKAGE_NAME_B is defined, as it expects automake to
have replaced the symbolic @UINT8_T@ with the actual type. However, on
Windows, you don't have Automake, so this doesn't work.

If you visit the Wiki page, you can see the instructions for how to do this
- http://wiki.panotools.org/Hugin_SDK_%28MSVC_2008%29 - including the
necessary patch files -
http://wiki.panotools.org/Hugin_SDK_%28MSVC_2008%29#Diff_Files - which I
linked to previously, directly, at
http://sourceforge.net/tracker/?func=detailaid=2789320group_id=77506atid=
550443 

You specifically want the lcms patch. This undefines the symbolic
PACKAGE_NAME_B, which then forces it to go down the codepath appropriate for
Windows, which is contained on lines 220-223.

 -Original Message-
 From: Rotareneg [mailto:rotare...@gmail.com]
 Sent: Sunday, November 15, 2009 6:22 PM
 To: hugin and other free panoramic software
 Subject: [hugin-ptx] Can't build Enblend under Windows
 
 I cannot figure out how to get Enblend to compile using VC2008
 Express. This is the show-stopping error that's killing me right now:
 
 -- Build started: Project: enfuse, Configuration: Release Win32
 --
 Compiling...
 enfuse.cc
 d:\huginbuild\lcms-1.18\include\icc34.h(154) : error C2018: unknown
 character '0x40'
 d:\huginbuild\lcms-1.18\include\icc34.h(154) : error C2018: unknown
 character '0x40'
 d:\huginbuild\lcms-1.18\include\icc34.h(154) : error C2146: syntax
 error : missing ';' before identifier 'icUInt8Number'
 d:\huginbuild\lcms-1.18\include\icc34.h(154) : error C4430: missing
 type specifier - int assumed. Note: C++ does not support default-int
 d:\huginbuild\lcms-1.18\include\icc34.h(154) : error C4430: missing
 type specifier - int assumed. Note: C++ does not support default-int
 d:\huginbuild\lcms-1.18\include\icc34.h(155) : error C2018: unknown
 character '0x40'
 d:\huginbuild\lcms-1.18\include\icc34.h(155) : error C2018: unknown
 character '0x40'
 d:\huginbuild\lcms-1.18\include\icc34.h(155) : error C2146: syntax
 error : missing ';' before identifier 'icUInt16Number'
 d:\huginbuild\lcms-1.18\include\icc34.h(155) : error C4430: missing
 type specifier - int assumed. Note: C++ does not support default-int
 d:\huginbuild\lcms-1.18\include\icc34.h(155) : error C4430: missing
 type specifier - int assumed. Note: C++ does not support default-int
 d:\huginbuild\lcms-1.18\include\icc34.h(156) : error C2018: unknown
 character '0x40'
 d:\huginbuild\lcms-1.18\include\icc34.h(156) : error C2018: unknown
 character '0x40'
 
 This continues on and on with the same pattern. Any ideas?
 
 --
 You received this message because you are subscribed to the Google
 Groups hugin and other free panoramic software group.
 A list of frequently asked questions is available at:
 http://wiki.panotools.org/Hugin_FAQ
 To post to this group, send email to hugin-ptx@googlegroups.com
 To unsubscribe from this group, send email to hugin-
 ptx+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/hugin-ptx

-- 
You received this message because you are subscribed to the Google Groups 
hugin and other free panoramic software group.
A list of frequently asked questions is available at: 
http://wiki.panotools.org/Hugin_FAQ
To post to this group, send email to hugin-ptx@googlegroups.com
To unsubscribe from this group, send email to 
hugin-ptx+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/hugin-ptx


RE: [hugin-ptx] Re: Can't build Enblend under Windows

2009-11-15 Thread Ryan Sleevi
Looks like this was code added in the past few days (I see it as rev 610
being when it was introduced). It appears rint() is only implemented in GCC
- MSVC math.h headers do not include it.

Some quick Googling shows:

http://coding.derkeiler.com/Archive/C_CPP/comp.lang.c/2007-08/msg03695.html

and the followup

http://coding.derkeiler.com/Archive/C_CPP/comp.lang.c/2007-08/msg03917.html

For those concerned about licensing/where the source comes from, an
alternative (non-x64 friendly) version is available at
http://websvn.kde.org/trunk/kdesupport/kdewin/include/msvc/math.h?view=marku
p 

Or another, which appears to be correct (although non-ASM), and would be
fine for both x32 and x64 compiles
http://www.eecg.utoronto.ca/~aamodt/sourceware/MSVC.html

I haven't built Enblend in the past month or so, so sorry that I can't be
more specific help.


 -Original Message-
 From: Rotareneg [mailto:rotare...@gmail.com]
 Sent: Sunday, November 15, 2009 10:20 PM
 To: hugin and other free panoramic software
 Subject: [hugin-ptx] Re: Can't build Enblend under Windows
 
 Thanks, that fixed that problem. Unfortunately there are more
 problems. First there was an error about slist which I fixed by
 building STLport. Now I'm stuck at:
 
 1c:\huginbase\enblend\src\mask.h(190) : error C3861: 'rint':
 identifier not found
 
 On Nov 15, 6:24 pm, Ryan Sleevi ryan+hu...@sleevi.com wrote:
  This is caused when PACKAGE_NAME_B is defined, as it expects automake
 to
  have replaced the symbolic @UINT8_T@ with the actual type. However,
 on
  Windows, you don't have Automake, so this doesn't work.
 
  If you visit the Wiki page, you can see the instructions for how to
 do this
  -http://wiki.panotools.org/Hugin_SDK_%28MSVC_2008%29- including the
  necessary patch files -
 http://wiki.panotools.org/Hugin_SDK_%28MSVC_2008%29#Diff_Files- which I
  linked to previously, directly,
 athttp://sourceforge.net/tracker/?func=detailaid=2789320group_id=7750
 ...
  550443
 
  You specifically want the lcms patch. This undefines the symbolic
  PACKAGE_NAME_B, which then forces it to go down the codepath
 appropriate for
  Windows, which is contained on lines 220-223.
 
 --
 You received this message because you are subscribed to the Google
 Groups hugin and other free panoramic software group.
 A list of frequently asked questions is available at:
 http://wiki.panotools.org/Hugin_FAQ
 To post to this group, send email to hugin-ptx@googlegroups.com
 To unsubscribe from this group, send email to hugin-
 ptx+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/hugin-ptx

-- 
You received this message because you are subscribed to the Google Groups 
hugin and other free panoramic software group.
A list of frequently asked questions is available at: 
http://wiki.panotools.org/Hugin_FAQ
To post to this group, send email to hugin-ptx@googlegroups.com
To unsubscribe from this group, send email to 
hugin-ptx+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/hugin-ptx


RE: [hugin-ptx] Re: Can't build Enblend under Windows

2009-11-15 Thread Ryan Sleevi
You forgot to include libxmi with the linker.

My guess is you added libxmi folder to the include directory (like the
default MSVC proj has). You actually have to compile libxmi and make sure to
include it with the linker.

The patch files previously mentioned several times do address this.

I would strongly encourage you to review the Wiki pages mentioned and
examined the patches, as you will likely find that many possible questions
have already been answered and challenges already addressed.

 -Original Message-
 From: Rotareneg [mailto:rotare...@gmail.com]
 Sent: Sunday, November 15, 2009 10:31 PM
 To: hugin and other free panoramic software
 Subject: [hugin-ptx] Re: Can't build Enblend under Windows
 
 Ok, found out that rint() is missing under MSVC so I just pasted in
 a replacement from:
 http://www.eecg.utoronto.ca/~aamodt/sourceware/MSVC.html
 
 Now I'm getting linking errors in enblend:
 
 2Linking...
 2   Creating library Release/enblend.lib and object Release/
 enblend.exp
 2enblend.obj : error LNK2001: unresolved external symbol
 _miNewPaintedSet
 2enblend.obj : error LNK2001: unresolved external symbol _miDeleteGC
 2enblend.obj : error LNK2001: unresolved external symbol
 _miDeletePaintedSet
 2enblend.obj : error LNK2001: unresolved external symbol _miNewGC
 2enblend.obj : error LNK2001: unresolved external symbol
 _miFillPolygon
 2Release/enblend.exe : fatal error LNK1120: 5 unresolved externals
 
 --
 You received this message because you are subscribed to the Google
 Groups hugin and other free panoramic software group.
 A list of frequently asked questions is available at:
 http://wiki.panotools.org/Hugin_FAQ
 To post to this group, send email to hugin-ptx@googlegroups.com
 To unsubscribe from this group, send email to hugin-
 ptx+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/hugin-ptx

-- 
You received this message because you are subscribed to the Google Groups 
hugin and other free panoramic software group.
A list of frequently asked questions is available at: 
http://wiki.panotools.org/Hugin_FAQ
To post to this group, send email to hugin-ptx@googlegroups.com
To unsubscribe from this group, send email to 
hugin-ptx+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/hugin-ptx


[hugin-ptx] Re: Enblend: CMake (Windows) broken

2009-09-22 Thread Ryan Sleevi



 -Original Message-
 From: hugin-ptx@googlegroups.com [mailto:hugin-...@googlegroups.com] On
 Behalf Of Yuval Levy
 Sent: Tuesday, September 22, 2009 8:20 AM
 To: hugin-ptx@googlegroups.com
 Subject: [hugin-ptx] Re: Enblend: CMake (Windows) broken
 
 
SNIP
 makes sense - I'm on MSVC EE and it looks like Microsoft wants to cap
 the wings of developers for its plattform / extract a tax from them -
 OpenMP is not supported in MSVC EE, just in the higher up, paying
 editions.

Not entirely accurate. You probably want to view
http://blog.codekills.net/archives/25-OpenMP-and-Visual-C++-the-free-way-sor
ta.html 

It turns out OpenMP is like x64 compilation - It's possible, just requires a
little... finesse.


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
hugin and other free panoramic software group.
A list of frequently asked questions is available at: 
http://wiki.panotools.org/Hugin_FAQ
To post to this group, send email to hugin-ptx@googlegroups.com
To unsubscribe from this group, send email to 
hugin-ptx-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/hugin-ptx
-~--~~~~--~~--~--~---



[hugin-ptx] Re: Enblend + cmake + FindBoost

2009-09-15 Thread Ryan Sleevi

Or just update the versions (in Enblend and ideally in Hugin) to match 
something from the more recent CMake distributions. I'd like to see that for a 
number of the .cmake files derived/modified from CMake sources - figuring out 
what sort of changes were made, and keeping them up to date as appropriate. 

I don't know what sort of changes have been made for other platforms, but on 
the Windows side of things, FindLibraryForCPU / FindLibraryWithDebug are two 
important macros that, unfortunately, require altering the 'stock' CMake files 
to use (there isn't a way to overload FIND_LIBRARY AFAIK). In addition to that, 
several other packages that have their own complex naming rules (Boost, 
STLPort, wxWidgets) require a little bit of tweaking to properly handle the 
libraries' ability for 64-bit builds via their native build tools.

I've got no objections to combining that plus a scheme for renaming local 
.cmake files, with a preference for local copies over CMake distributed 
versions when they exist (for the obvious reason that local copies have, 
presumably, necessary modifications). eg: FindEnblend_Boost.cmake +

FindPackage(Enblend_Boost)
IF(NOT Boost_FOUND)
  FindPackage(Boost)
ENDIF(NOT Boost_FOUND)


 -Original Message-
 From: hugin-ptx@googlegroups.com [mailto:hugin-...@googlegroups.com] On
 Behalf Of Kornel Benko
 Sent: Tuesday, September 15, 2009 1:49 AM
 To: hugin-ptx@googlegroups.com
 Subject: [hugin-ptx] Enblend + cmake + FindBoost
 
 Hi all,
 currently we are using our own FindBoost.cmake. I was unable to make it
 work on OpenSuSE. That is, though I have Boost installed (the standard
 way, add needed packages with yast), this version of FindBoost does not
 find it.
 (Yes Ryan, I tried to set the environment BOOST_ROOT, I tried to make a
 directory containing symbolic links to lib and include and so on)
 
 On the other side, using the FindBoost  from installed cmake, I had no
 problems.
 So I propose to remove our version. I am prepared to make any needed
 changes in CMakeLists.txt
 
 If that is not OK, then there is another possibility. Rename our
 version, so that in case nothing is found we could use the official
 version too. (This is currently not possible)
 
   Kornel
 --
 Kornel Benko
 kornel.be...@berlin.de


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
hugin and other free panoramic software group.
A list of frequently asked questions is available at: 
http://wiki.panotools.org/Hugin_FAQ
To post to this group, send email to hugin-ptx@googlegroups.com
To unsubscribe from this group, send email to 
hugin-ptx-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/hugin-ptx
-~--~~~~--~~--~--~---



[hugin-ptx] Re: Enblend + cmake + FindBoost

2009-09-15 Thread Ryan Sleevi

 -Original Message-
 From: hugin-ptx@googlegroups.com [mailto:hugin-...@googlegroups.com] On
 Behalf Of Kornel Benko
 Sent: Tuesday, September 15, 2009 6:21 AM
 To: hugin-ptx@googlegroups.com
 Subject: [hugin-ptx] Re: Enblend + cmake + FindBoost
SNIP
 And we could make it configurable.
   1.) no boost search
   2.) only our FindBoost
   3.) only cmake's FindBoost
   4.) Both, like proposed
 I mean: cmake ... -DSearchBoost=[NO|Enblend|System|Both]
 
 Default may be Both.
   Kornel

I'd much rather we no. Every option directly increases the complexity of the 
user experience and maintenance, and more options do not necessarily make for a 
'better' configuration. 

An alternative solution would be to try to resolve the inconsistencies amongst 
the various stock Find*.cmake files. Some allow you to override paths (through 
Advanced View, which is much easier IMHO than using -D all the time, or through 
setting the various lib/include/search paths that are documented in CMake), 
some let you set variables so that searching only happens if the variable isn't 
set, and some ignore any user-specified options entirely. If it becomes a 
problem (and I don't think it really is at this point), we could modify those 
of the last case to be 'smarter' about it by looking at the first two. I think 
we should approach it carefully though, and try to understand under what 
specific conditions something like that would need to be overridden by the 
user, and accommodate that, rather than adding a whole bunch of unnecessary 
configuration + logic.

Plus, a user today can ALWAYS override what is found by using advanced view 
and, after auto detection is completed, altering the paths. That is, after all, 
the whole purpose of the CMake cache being generated.



--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
hugin and other free panoramic software group.
A list of frequently asked questions is available at: 
http://wiki.panotools.org/Hugin_FAQ
To post to this group, send email to hugin-ptx@googlegroups.com
To unsubscribe from this group, send email to 
hugin-ptx-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/hugin-ptx
-~--~~~~--~~--~--~---



[hugin-ptx] Re: Windows Hugin SDK and documentation

2009-09-10 Thread Ryan Sleevi

Or we can go the easier route (for end users) that I've been pursuing:

An automatable that handles it all for you ;-)

With the basic pre-requisite of
1) Sources for packages
2) The patches from me (already applied, but nothing to say we can't
automate that in the future)
3) MSVC Express Edition
4) Windows SDK (6.1 or 7)

It digs in and builds each part of the SDK - Debug  Release, 32-bit and
64-bit.

I'm currently using batch files as the means, but after working with the
CMake-ification of Enblend/Enfuse, I think there is enough capability (by
means of the external commands) that for the non-CMake'd portions (eg:
Everything *BUT* enblend/enfuse), we can call the appropriate tools (eg:
configure.bat for STLport, bjam for boost, vcbuild for the various .sln
based projects, etc). With my batch file setup, I've got it automatically
building everything through enblend-enfuse hands-free. Using the four basic
requirements above, I can kick it off, and step back and I've got all the
enblend-enfuse binaries. 

At that point, the distribution of the SDK needs merely concern itself
with the maintenance of
1) The patches 
  - Which tend to fix path resolution issues relative to the SDK for .sln
projects and add 64-bit configurations
2) The CMake configuration script
  - Which is used really just to find the various packages, determine if
they're built yet or not, and if not, build them using the packages
appropriate build mechanism.

This seems a much more realistic and reasonable scenario for getting people
started, and also resolves potential issues where, for example, a user might
want to alternative between statically and dynamically linking the MSVC
runtime (Legal concerns, performance concerns, functionality, who knows) and
issues w/ versions (eg: 2008 v 2008 SP1 v 2010 at some point)

Thoughts?

 -Original Message-
 From: hugin-ptx@googlegroups.com [mailto:hugin-...@googlegroups.com] On
 Behalf Of Yuval Levy
 Sent: Thursday, September 10, 2009 12:16 PM
 To: hugin-ptx@googlegroups.com
 Subject: [hugin-ptx] Windows Hugin SDK and documentation
 
 
 Hi Ryan and other Windows developers
 
 I'm moving this piece of information to the main mailing list.
 
 
 Ryan Sleevi wrote:
   -Original Message-
   From: Yuval Levy
   Sent: Tuesday, September 08, 2009 8:34 AM
   To: kornel.be...@berlin.de
   Cc: Harry van der Wolf; Christoph Spiel; ryan+hugin;
   bst; Thomas.Modes; Andrew Mihal; Lukáš Jirkovský; Bruno
   Postle; Pablo d'Angelo; Pascal Spörri
   Subject: Re: cmake compilation of enblend [was: Enblend bug tracker
 and
   developer mailing list]
   SNIP
   OK, so we may create something working on more then one platform.
   reminds me that I did not yet even try on Windows. I'm stuck with
 not
   being able to build lcms-1.18a inside the Hugin SDK (which has
 1.17).
  
   Yuv, check the .diff file uploaded to the Wiki for building the
   Windows SDK. It's just a one line change for lcms (1.18). The trick
   for lcms-1.18 is that you *only* need to build the lcms project, not
   the entire solution. lcms (the project) doesn't depend on the TIFF
 or
   JPEG libraries, so it should have no trouble building.
 
 Thanks, Ryan - this did the trick.
 
 I was going to add this bit of information, as well as document the
 lack
 of OpenMP support in the Express Editions of MSVC, to the page
 documenting the [Hugin SDK].
 
 Then I realized that I was going to raise a conflict again: There is a
 major inconsistency in the document which stems from the definition of
 Hugin SDK.
 
 When writing up the document, Guido defined Hugin SDK as the minimal
 stable binaries and headers needed to build and run Hugin.
 
 To me it must be more than that. And to Ryan obviously too: lcms is not
 needed to build the Hugin binary. Hence it is documented as 64-bit
 Only. But as I found out, it concerns 32-bit as well.
 
 The logical consequence would be to first define what the Hugin SDK
 really is; then to update the documentation and distributed binaries
 accordingly.
 
 Ad's releases are to me the proof that the current SDK does not work.
 It
 becomes stale quickly as upstream tools and libraries evolve.
 
 Worse: it leaves people like Ad dependent on the next binary SDK
 instead
 of giving them the tools and knowledge to update their SDK.
 
 The [Hugin SDK] Wiki page should make people like Ad independent.
 
 Hence my suggestion:
 
 1. The [Hugin SDK] will document how to build each and every package
 upstream, including further upstream dependencies (e.g. Hugin depends
 on
 enblend; and enblend depends on lcms; hence both should be documented),
 for both 32 and 64 bit.
 
 2. Distribute the SDK in two forms: one large archive containing
 everything (almost like the current one). It will become outdated, but
 here comes the second distribution: archives of individual packages.
 This way the faster evolving packages can be updated/distributed more
 often.
 
 To achieve this, I suggest to expand on the current structure

[hugin-ptx] Re: cmake compilation of enblend prelease version 4.0

2009-09-09 Thread Ryan Sleevi
miNewGC is from libxmi. I'm guessing that cmake isn't quite finding it. 
Presumably, libxmi (and lcms) need to be set to REQUIRED in the find_library 
calls, as they are necessary. That should allow CMake to bubble the error up if 
it's having trouble resolving where you put it.

 

 

 

From: hugin-ptx@googlegroups.com [mailto:hugin-...@googlegroups.com] On Behalf 
Of Harry van der Wolf
Sent: Wednesday, September 09, 2009 7:50 AM
To: hugin-ptx@googlegroups.com
Subject: [hugin-ptx] cmake compilation of enblend prelease version 4.0

 

All,

 

I have lifted this discussion to the hugin-ptx list to make it available for 
everyone. I also skipped the rest of the conversation to remove all the email 
addresses from the private conversation.

 

@Christoph: Please implement the attached gpu_patch.diff patch to the 
repository. It is necessary for OSX, both for autoconf and cmake.

 

@Kornel: You write that we don't need Boost. As such you are right as you can 
compile without Boost. However, when boost-filesystem is available 
enblend/enfuse will use it. That's why I had Boost detection in my cmake stuff 
(but it didn't work correctly in compilation)

 

I can now compile against GLUT and GLEW, so I have a gpu enabled 
enblend/enfuse. I had to modify config.h.cmake, configurechecks.cmake and 
src/CMakelists.txt for correct detection of openGL.framework on apple and for 
linking against the correct libraries. These three files are attached in the 
mod-KB-cmakefiles.tgz. I did not have to change anything else.

 

Note: The compilation via cmake is really very, very fast compared with the 
current autoconf method.

When running either enblend --gpu -o pipo.tif image files or  enblend -o 
pipo.tif images files, I do get the following error.

 

/usr/local/bin/enblend --gpu -v -o pipo.tif 1222-021*.tif
: info: using graphics card: NVIDIA Corporation
: info:renderer: NVIDIA GeForce 9600M GT OpenGL Engine
enblend: info: loading next image: 1222-021-1222-025.tif 1/1
enblend: info: loading next image: 1222-021-1222-0250001.tif 1/1
enblend: info: creating blend mask: 1/3 2/3 3/3
enblend: info: optimizing 1 distinct seam
enblend: info: strategy 1, s0: 1/4 2/4 3/4 4/4
enblend: info: strategy 2: s0
dyld: lazy symbol binding failed: Symbol not found: _miNewGC
  Referenced from: /usr/local/bin/enblend
  Expected in: flat namespace

dyld: Symbol not found: _miNewGC
  Referenced from: /usr/local/bin/enblend
  Expected in: flat namespace

Trace/BPT trap
Antares-4:enblend harryvanderwolf$ /usr/local/bin/enblend  -v -o pipo.tif 
1222-021*.tif
enblend: info: loading next image: 1222-021-1222-025.tif 1/1
enblend: info: loading next image: 1222-021-1222-0250001.tif 1/1
enblend: info: creating blend mask: 1/3 2/3 3/3
enblend: info: optimizing 1 distinct seam
enblend: info: strategy 1, s0: 1/4 2/4 3/4 4/4
enblend: info: strategy 2: s0
dyld: lazy symbol binding failed: Symbol not found: _miNewGC
  Referenced from: /usr/local/bin/enblend
  Expected in: flat namespace

dyld: Symbol not found: _miNewGC
  Referenced from: /usr/local/bin/enblend
  Expected in: flat namespace

Trace/BPT trap

 

It's referenced from mask.h where it's used but that's as far as I come.


Harry




2009/9/8 Kornel Benko

Am Dienstag 08 September 2009 schrieb Yuval Levy:
... 


 *I* am a code-monkey :-) Kornel did most of the hard job on the CMake
 build and deserves all the credits.

 

I feel GOOD 

 

 

  OK, so we may create something working on more then one platform.

 reminds me that I did not yet even try on Windows. I'm stuck with not
 being able to build lcms-1.18a inside the Hugin SDK (which has 1.17). It
 does find the TIFF and JPEG headers; and when I manually edit the source
 code to find the TIFFs .h (I have not yet tried with the JPEG) it does
 not link.

  Sorry for the extra work to bring the files together.

 no need to apologize. thank you everybody for your contribution and
 patience. maybe we should continue talking on hugin-ptx? whoever
 transfers the thread, make sure email addresses are *not* transferred,
 and do not CC (at least not me) the email addresses currently on this
 thread.

 

I lookud at the cmake-files from Harry. I may have overseen something, but most 
of things we not had were not needed.

 

(e.g. definition of BINDIR, DATADIR or LOCALEDIR)
src/win32helpers/CMakeLists.txt were included, but the is essentially empty. 
There may come something later,
so I integrated it.

 

Also I added the definitions for APPLE.

 

We do not need boost, nor do we need KDE.

 

 Yuv

 

The CMakeModules is now part of enblend. But I would like to use the hugin 
directory.
Chritoph, is it possible in mercurial to add a directory which references 
another project?
I saw something in this direction in mplayer project, but this was with svn.

 

 

Attaching my version of cmakefiles ...
which again compiles on ubuntu, after someone added DEFAULT_VERBOSITY 

 

 

Kornel

 





[hugin-ptx] Re: cmake compilation of enblend [was: Enblend bug tracker and developer mailing list]

2009-09-09 Thread Ryan Sleevi

 -Original Message-
 From: hugin-ptx@googlegroups.com [mailto:hugin-...@googlegroups.com] On
 Behalf Of Kornel Benko
 Sent: Wednesday, September 09, 2009 9:02 AM
 To: hugin-ptx@googlegroups.com
 Subject: [hugin-ptx] Re: cmake compilation of enblend [was: Enblend bug
 tracker and developer mailing list]
 
 It compiles now.
 We have to set OpenMP_FOUND  somewhere. Maybe in FindOpenMP.cmake?
 
 But why do you prefer image_cache and no openmp be default?
 

As we're already seeing on the list, without the image cache, a number of 
perfectly valid tests in the past (if not perfectly common), no longer run. The 
OpenMP version really is a specialized version for those concerned with speed 
or 'bleeding edge', but does not represent a feature necessarily ready for 
mainstream use without understanding the trade-offs/caveats. Hence, an ideal 
non-feature

 
 Am Wednesday 09 September 2009 schrieb Kornel Benko:
  Am Wednesday 09 September 2009 schrieb Kornel Benko:
   I try to compile now on OpenSuSE.
  
  CMake Error at CMakeLists.txt:131 (FIND_PACKAGE):
Could not find module Findlibxmi.cmake or a configuration file for
 package
libxmi.
 
  This is because on linux you have to search for LibXMI  ==
  FIND_PACKAGE(LibXMI REQUIRED)

Sorry, this was an unfinished non-Win32 stub that I was hoping to be filled in 
by someone more knowledgeable in the nescessary CMake incantations.

  CMake Error at CMakeLists.txt:130 (FIND_PACKAGE):
Could not find module Findlcms.cmake or a configuration file for
 package
lcms.
 
  there is only FindLCMS.cmake in CMakeModules == FIND_PACKAGE(LCMS
  REQUIRED)

I'm guessing CMake on other platforms opts for a different capitalization 
scheme. This one would be impossible to test except on other systems. Win32 is 
less-concerned with it.

  Apart from that, it compiled, but the linking stage was erroneous.
 
  cd /usr/BUILD/BuildEnblend/src  /usr/bin/cmake -E cmake_link_script
 CMakeFiles/enblend.dir/link.txt --verbose=1
  /usr/local/bin/c++ -fPIC CMakeFiles/enblend.dir/gpu.o
 CMakeFiles/enblend.dir/filenameparse.o CMakeFiles/enblend.dir/enblend.o
 -o
  ../bin/enblend -rdynamic vigra_impex/libvigra_impex.a -lboost_thread
  -lboost_date_time -ljpeg -ltiff -lpng -lz -llcms -lxmi -lImath -l
  IlmImf -lIex -lHalf -lIlmThread -ltiff -lpng -lz
  CMakeFiles/enblend.dir/gpu.o: In function `checkFramebufferStatus()':
  gpu.cc:(.text+0xb): undefined reference to
 `__glewCheckFramebufferStatusEXT'
  CMakeFiles/enblend.dir/gpu.o: In function `clearGPUTextures()':
  gpu.cc:(.text+0x21a): undefined reference to
 `__glewDeleteFramebuffersEXT'
  gpu.cc:(.text+0x235): undefined reference to `glDeleteTextures'
  
 
  Missing -lglew, even when _not_ enabling ENABLE_GPU
 

Could this be an issue of a stale cache? All of the GPU code depends on 
HAVE_LIBGLEW being set, which is added as a pre-processor definition if you 
select ENABLE_GPU and the checks for GLEW and GLUT succeed. 

 
 
  But even then I got
  cd /usr/BUILD/BuildEnblend/src  /usr/bin/cmake -E cmake_link_script
 CMakeFiles/enblend.dir/link.txt --verbose=1
  /usr/local/bin/c++ -fPIC CMakeFiles/enblend.dir/gpu.o
 CMakeFiles/enblend.dir/filenameparse.o CMakeFiles/enblend.dir/enblend.o
 -o ../bin/enblend -rdynamic vigra_impex/libvigra_impex.a -lglut -lXmu -
 lXi -lGLEW -lboost_thread -lboost_date_time -ljpeg -ltiff -lpng -lz -
 llcms -lxmi -lImath -lIlmImf -lIex -lHalf -lIlmThread -ltiff -lpng -lz
  CMakeFiles/enblend.dir/enblend.o: In function
 `printVersionAndExit()':
  enblend.cc:(.text+0x2652): undefined reference to `omp_get_nested'
  ...
  which means, the OpenMP Flags (-fopenmp on my system) were not set on
  linking stage, which impiles, that OpenMP_FOUND were not set.
 
  .
  I try to correct
  Kornel

The flag OpenMP_FOUND doesn't really matter as much, at least not in the code. 
All that matters is whether or not _OPENMP is defined, and that should only be 
defined if your compiler has run with -fopenmp (in the case of GCC). There is 
no need for OpenMP_FOUND - if you select OpenMP, then OpenMP is marked as 
required, and if it's not found, compilation will stop right there. I suspect 
this could be a cache issue as well, of older object files.



--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
hugin and other free panoramic software group.
A list of frequently asked questions is available at: 
http://wiki.panotools.org/Hugin_FAQ
To post to this group, send email to hugin-ptx@googlegroups.com
To unsubscribe from this group, send email to 
hugin-ptx-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/hugin-ptx
-~--~~~~--~~--~--~---



[hugin-ptx] Re: cmake compilation of enblend [was: Enblend bug tracker and developer mailing list]

2009-09-09 Thread Ryan Sleevi
Hrm... The flow is supposed to go:

 

CMakeLists.txt

IF(ENABLE_OPENMP)

  find_package(OpenMP REQUIRED)

  add_definitions(${OpenMP_CXX_FLAGS})

ENDIF(ENABLE_OPENMP)

 

This calls CMakeModules/FindOpenMP.cmake, which as the second-to-last 
execution, runs

find_package_handle_standard_args(OpenMP DEFAULT_MSG 

  OpenMP_C_FLAGS OpenMP_CXX_FLAGS )

 

This calls CMakeModules/FindPackageHandleStandardArgs.cmake, which will set 
OpenMP_FOUND if both OpenMP_C_FLAGS and OpenMP_CXX_FLAGS are defined.

 

When dealing with the MSVC compiler, the flag candidate (/openmp) works 
successfully for both the C and the C++ source code. Perhaps GCC is only 
setting OpenMP_CXX_FLAGS and not detecting anything for OpenMP_C_FLAGS? If so, 
that would explain why OpenMP_FOUND was not being set to true, but how the 
define could end up getting set. If both _C_FLAGS and _CXX_FLAGS are set, then 
that really is odd, because FindPackageHandleStandardArgs is used pretty 
extensively and seems to be well-tested.

 

I suppose the 'better' resolution to handle that case is to check the check in 
src/CMakeLists from IF(${OpenMP_FOUND}) to IF(${OpenMP_CXX_FLAGS}), since it 
really is that variable (and not the _C_FLAGS or the _FOUND) that is 
controlling whether or not it compiles with OpenMP.

 

 

From: hugin-ptx@googlegroups.com [mailto:hugin-...@googlegroups.com] On Behalf 
Of Kornel Benko
Sent: Wednesday, September 09, 2009 11:34 AM
To: hugin-ptx@googlegroups.com
Subject: [hugin-ptx] Re: cmake compilation of enblend [was: Enblend bug tracker 
and developer mailing list]

 

Am Mittwoch 09 September 2009 schrieb Ryan Sleevi:
   I try to correct
   Kornel

 The flag OpenMP_FOUND doesn't really matter as much, at least not in the
 code.



 

Not in the code, but you introduced it in src/CMakeLists.txt. And there it 
matters.



 

 All that matters is whether or not _OPENMP is defined, and that
 should only be defined if your compiler has run with -fopenmp (in the case
 of GCC). There is no need for OpenMP_FOUND - if you select OpenMP, then
 OpenMP is marked as required, and if it's not found, compilation will stop
 right there. I suspect this could be a cache issue as well, of older object
 files.



 

I selected OPENMP, therefore the source was compiled with the corresponding 
flag.
But on the linker stage it was missing, beacuse OpenMP_FOUND was not set.



 

Kornel



-- 
Kornel Benko
kornel.be...@berlin.de


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
hugin and other free panoramic software group.
A list of frequently asked questions is available at: 
http://wiki.panotools.org/Hugin_FAQ
To post to this group, send email to hugin-ptx@googlegroups.com
To unsubscribe from this group, send email to 
hugin-ptx-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/hugin-ptx
-~--~~~~--~~--~--~---



[hugin-ptx] Re: cmake compilation of enblend [was: Enblend bug tracker and developer mailing list]

2009-09-09 Thread Ryan Sleevi
FindLibraryWithDebug is safe for Release calls. It's just a special handler 
for Windows platforms that tend to have libraries with debug file suffices (and 
with my modifications, also handles situations where x86 and x64 libs are 
side-by-side, sharing 1 include dir, but having their own unique lib dirs, 
and potentially their path suffixes - eg Release/x86/libfoo.lib vs 
Debug/x86/libfoo.lib or x64/libbard.lib vs x64/libbar.lib). On other platforms, 
it just passes through to FIND_LIBRARY, which on the non-Win platforms is more 
an issue with the CMAKE_BUILD_TYPE.

 

As you indicated in your follow-up, the CMAKE_BUILD_TYPE is what controls 
whether or not the compiler is set to be optimized for release mode. For the 
Windows platforms, all the build types are exported into a single .sln and can 
be chosen within the MSVC ide / vcbuild command-line (CMake tries to preserve 
the native build semantics, and that's how it is done on Windows). 
FindLibraryWithDebug further eases this process for the Windows world.

 

 

 

From: hugin-ptx@googlegroups.com [mailto:hugin-...@googlegroups.com] On Behalf 
Of Kornel Benko
Sent: Wednesday, September 09, 2009 12:28 PM
To: hugin-ptx@googlegroups.com
Subject: [hugin-ptx] Re: cmake compilation of enblend [was: Enblend bug tracker 
and developer mailing list]

 

Am Mittwoch 09 September 2009 schrieb Harry van der Wolf:
 Hi all,

 Here are the results from the OSX jury.
 OpenMP is not an issue as it is not available on OSX (apart from some
 extremely bleeding edge source packages)


 enblend via cmake compiles and works now too on OSX.
 however, on doing some tests I had some shocking results.

 enblend pre 4.0 via cmake. with openGL, GLEW and GLUT
 /usr/local/bin/enblend --version
 enblend 4.0-11ca5b567bc9

 /usr/bin/time /usr/local/bin/enblend --gpu -o pipo.tif 1222-02*.tif

 : info: using graphics card: NVIDIA Corporation
 : info: renderer: NVIDIA GeForce 9600M GT OpenGL Engine

 snip
 enblend: info: writing final output
 103.61 real 100.38 user 1.39 sys
 
 /usr/bin/time /usr/local/bin/enblend --gpu -o pipo.tif 1222-02*.tif
 enblend: info: writing final output
 106.16 real 104.16 user 0.91 sys
 
 enblend pre 4.0 via autoconf. No openGL, no GLEW, no GLUT
 enblend --version
 enblend 4.0-8d38f4ffc03c
 /usr/bin/time
 /Applications/Hugin.app/Contents/Resources/HuginStitchProject.app/Contents/
MacOS/enblend -o pipo.tif 1222-02*.tif
 12.88 real 11.80 user 0.45 sys

 The autoconf version is almost 10X faster!

 Harry



 

I see.
1.) In this version we are not optimizing
2.) We are using FindLibraryWithDebug.cmake



 

Kornel



 

-- 
Kornel Benko
kornel.be...@berlin.de


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
hugin and other free panoramic software group.
A list of frequently asked questions is available at: 
http://wiki.panotools.org/Hugin_FAQ
To post to this group, send email to hugin-ptx@googlegroups.com
To unsubscribe from this group, send email to 
hugin-ptx-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/hugin-ptx
-~--~~~~--~~--~--~---



[hugin-ptx] Re: cmake compilation of enblend [was: Enblend bug tracker and developer mailing list]

2009-09-09 Thread Ryan Sleevi
Seconded - any further modifications should happen in the repo. I'm holding off 
on my 'cleanup' of my additions/macros until the code can at least be based 
there

 

From: hugin-ptx@googlegroups.com [mailto:hugin-...@googlegroups.com] On Behalf 
Of Harry van der Wolf
Sent: Wednesday, September 09, 2009 1:50 PM
To: hugin-ptx@googlegroups.com
Subject: [hugin-ptx] Re: cmake compilation of enblend [was: Enblend bug tracker 
and developer mailing list]

 

What is missing now, is the control from command line for this.

 

Since we don't have the same cmake-base we should search for some way to 
exchage changes only.

 

The version here is mostly your modified version with corrections from me. 
Should we really be forced to send
each time all the data? What do you think Ryan?


I'm not Ryan, but Harry ;-)

We (at least one of us) need access to the repository.  It is completely 
harmless for the autoconf build to add the cmake stuff. From that moment on we 
can uses diff's to patch the repository

Harry




--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
hugin and other free panoramic software group.
A list of frequently asked questions is available at: 
http://wiki.panotools.org/Hugin_FAQ
To post to this group, send email to hugin-ptx@googlegroups.com
To unsubscribe from this group, send email to 
hugin-ptx-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/hugin-ptx
-~--~~~~--~~--~--~---



[hugin-ptx] Re: cmake compilation of enblend [was: Enblend bug tracker and developer mailing list]

2009-09-09 Thread Ryan Sleevi
Kornel,

 

At the lowest level, you can always MESSAGE(STATUS Message)

 

so 

IF(${SOME_FLAG})

MESSAGE(STATUS Project will be built with 
some_flag disabled. If you prefer to build without some_flag support, you may 
use -DSOME_FLAG=0)

ELSE(${SOME_FLAG})

MESSAGE(STATUS Project will be built with 
some_flag enabled. If you prefer to build with some_flag support, you may use 
-DSOME_FLAG=1)

ENDIF(${SOME_FLAG})

 

Of course, that get's wildly inefficient for more than a few 
options. Not to mention there are two presumptions - that the description 
messages will containing meaningful context for non-native speakers of that 
language - and that people are building through a command-line or means that 
expects flags like -DSOME_FLAG. I know the CMake-gui actually exposes OPTIONs 
as boolean checkboxes in the interface, and while I suspect it probably would 
support args on the command-line, they don't exactly make it obvious 
(especially for those in the Windows world)

 

The better/preferred/consistent alternative would be to use 
ccmake / cmake-gui to provide users with options

 

More details are available via cmake --help-command SET and 
cmake --help-command OPTION

eg:

SET(SOME_VAR def value PATH path to put awesome stuff)

OPTION(BOOL_VAR enable me to turn on the awesome stuff ON)

 

In the default view for ccmake/cmake-gui, only those options 
NOT flagged MARK_AS_ADVANCED will be shown. Since all of our FindXXX* code uses 
MARK_AS_ADVANCED, the default view shows only basic/core CMake arguments and 
the options we have defined explicitly (such as the ENABLE_SSE2 stuff). No 
consulting of the CMakeLists.txt necessary!

 

ccmake/cmake-gui is to cmake what ./configure --help is to 
./configure :)

 

 

 

From: hugin-ptx@googlegroups.com [mailto:hugin-...@googlegroups.com] On Behalf 
Of Kornel Benko
Sent: Wednesday, September 09, 2009 3:39 PM
To: hugin-ptx@googlegroups.com
Subject: [hugin-ptx] Re: cmake compilation of enblend [was: Enblend bug tracker 
and developer mailing list]

 

Am Mittwoch 09 September 2009 schrieb Pablo d'Angelo:
  What is missing now, is the control from command line for this.

 Do you mean:
 cmake -DCMAKE_BUILD_TYPE=Release



 

Yes, I know. But I prefer something which will be more recognised. And which 
will print some suggestions.



 

Like this one (in another project)
cmake projectdir
Project will be built with nls support enabled. If you prefer build without nls 
select -Dnls=0 on commad line



 

...
cmake -Dnls=1 projectdir
Project will be built with nls support disabled. If you prefer build with nls 
support select -Dnls=1 on commad line
...
This way I am not supposed to remember the settings. (Or to look into 
CMakeLists.txt to find out)



 

 If I remember correctly, the enblend autoconf script does use more
 aggressive optimisation options than most other packages.



 

We are pretty good now.



 

Kornel
-- 
Kornel Benko
kornel.be...@berlin.de


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
hugin and other free panoramic software group.
A list of frequently asked questions is available at: 
http://wiki.panotools.org/Hugin_FAQ
To post to this group, send email to hugin-ptx@googlegroups.com
To unsubscribe from this group, send email to 
hugin-ptx-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/hugin-ptx
-~--~~~~--~~--~--~---



[hugin-ptx] Re: Enblend/Enfuse 4.0 and Hugin

2009-09-07 Thread Ryan Sleevi

 -Original Message-
 From: hugin-ptx@googlegroups.com [mailto:hugin-...@googlegroups.com] On
 Behalf Of Zoran Zorkic
 Sent: Monday, September 07, 2009 4:25 PM
 To: hugin and other free panoramic software
 Subject: [hugin-ptx] Re: Enblend/Enfuse 4.0 and Hugin
SNIP
 
 Is there a reason it wasn't compiled with image cache and OpenMP?
 

If I recall correctly, the cached file representation used by enblend has
not been made re-entrant/multi-threaded aware yet, so it causes some issues.

I'm not sure if any work has been done towards supporting it, but I suspect
it's not exactly an 'easy' task either, tracking 'hot' and 'cold' image
segments across multiple threads efficiently.



--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
hugin and other free panoramic software group.
A list of frequently asked questions is available at: 
http://wiki.panotools.org/Hugin_FAQ
To post to this group, send email to hugin-ptx@googlegroups.com
To unsubscribe from this group, send email to 
hugin-ptx-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/hugin-ptx
-~--~~~~--~~--~--~---



[hugin-ptx] Enblend/Enfuse 4.0 dev snapshots

2009-09-06 Thread Ryan Sleevi

I'm not sure if many people are aware, but there has been a lot of ongoing
development lately over in the repository for enblend/enfuse. Perhaps most
importantly, Christoph Spiel's staging branch has been fully merged in,
which introduces support for OpenMP on platforms that support it, as well as
resolving several long standing leaks and bugs.

I've gone and packaged up some snapshots for Windows users of the various
configuration options that are possible - OpenMP support, GPU support,
64-bit support, and posted them at
http://ryan.sleevi.com/files/enblend-enfuse-4.0/

In a change-up of things, I've gone ahead and linked them against the
DLL-based versions of the MS C/C++ Runtime (for various reasons), and I want
to make sure that process is working smooth for people. Most importantly, if
you're planning to mess with OpenMP, you'll need to make sure you have the
redistributable. Many already have the necessary files, as they have been
shipping for some time, but for those who have issue, the two links are:

x86 -
http://www.microsoft.com/downloads/details.aspx?familyid=9B2DA534-3E03-4391-
8A4D-074B9F2BC1BF Microsoft Visual C++ 2008 Redistributable Package (x86)
x64 -
http://www.microsoft.com/downloads/details.aspx?familyid=BD2A6171-E2D6-4230-
B809-9A8D7548C1B6 Microsoft Visual C++ 2008 Redistributable Package (x64)

This isn't an official release of 4.0 by any means, but this is an attempt
to get dev binaries out there, as well as a chance to try out a more
automated build system that should make it easier to package enblend/enfuse
and Hugin in the future, so feedback would be appreciated.

Cheers!


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
hugin and other free panoramic software group.
A list of frequently asked questions is available at: 
http://wiki.panotools.org/Hugin_FAQ
To post to this group, send email to hugin-ptx@googlegroups.com
To unsubscribe from this group, send email to 
hugin-ptx-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/hugin-ptx
-~--~~~~--~~--~--~---



[hugin-ptx] Re: Can hugin stitch together Then and Now photos?

2009-09-03 Thread Ryan Sleevi

You could use Hugin to create the control points to align the images 'as
best as possible'. Presumably, the images won't be taken with the exact
focal length, angles, etc, so this will cause distortion between the images,
but you can control the level by choosing your control points.

You then use nona to remap the images, which will result in two images with
the similar geometry, as specified by the control points.

Depending on how complex your masks are, you can either use Enblend with a
mask file, or you can load these two images into your layered image editor
of choice and do the blending by hand.

For how to use it with Enblend, see
http://enblend.sourceforge.net/enblend.htm . If using TIFF files, Enblend
will use the alpha channels of the images. 

A great tutorial on this process was written by Bruno and can be found at
http://hugin.sourceforge.net/tutorials/enblend-svg/en.shtml

In short, Hugin doesn't really care one way or the other. However, Nona +
Enblend/Favorite image editor will provide you a tool chain for doing this,
and both Nona + Enblend are available in the Hugin binary builds.


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
hugin and other free panoramic software group.
A list of frequently asked questions is available at: 
http://wiki.panotools.org/Hugin_FAQ
To post to this group, send email to hugin-ptx@googlegroups.com
To unsubscribe from this group, send email to 
hugin-ptx-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/hugin-ptx
-~--~~~~--~~--~--~---



[hugin-ptx] Re: nona-gpu - has anybody got it working?

2009-08-06 Thread Ryan Sleevi

 Ryan is so far the only one who has reported success, with his
 self-built version. I wonder if one of the pre-compiled (from Guido or
 from me) yield the same result. This would exclude building errors.
 
 His video card is a GeForce 8800 GTS (256 mb) - anybody else with that
 same video card who can run nona -g successfully? and other video
 cards?
 
 Yuv


Yuv,

So I did some testing with your exe
(http://www.photopla.net/hugin/nona_4169.7z ). Several projects I was able
to run without error with mine generated the following error:

nona: GL error in
..\..\..\hugin\src\hugin_base\vigra_ext\ImageTransformsGPU.cpp:743: out of
memory

However, when I re-created the simple project I'd used when testing
my version (just a simple transform), that I previously posted, I was able
to run without errors.

Since there appears to be some degree of variance depending on the
project and the settings, is there any desire to create a sample setup (or
preferably few) that test different levels of complexity? 

For what it's worth, here's the results using your exe:

nona: using graphics card: NVIDIA Corporation GeForce 8800 GTS/PCI/SSE2
destStart=[0, 0]
destEnd=[3000, 2800]
destSize=[(3000, 2800)]
srcSize=[(4296, 2856)]
srcBuffer=062D0020
srcAlphaBuffer=0A610020
destBuffer=085F0020
destAlphaBuffer=09E00020
destGLInternalFormat=GL_RGBA8
destGLFormat=GL_RGB
destGLType=GL_UNSIGNED_BYTE
srcGLInternalFormat=GL_RGBA8
srcGLFormat=GL_RGB
srcGLType=GL_UNSIGNED_BYTE
srcAlphaGLType=GL_UNSIGNED_BYTE
destAlphaGLType=GL_UNSIGNED_BYTE
warparound=0
needsAtanWorkaround=0
maxTextureSize=8192
Source chunks:
[(0, 0) to (4296, 2856) = (4296x2856)]
Dest chunks:
[(0, 0) to (1500, 1400) = (1500x1400)]
[(1500, 0) to (3000, 1400) = (1500x1400)]
[(0, 1400) to (1500, 2800) = (1500x1400)]
[(1500, 1400) to (3000, 2800) = (1500x1400)]
Total GPU memory used: 190555008
Interpolator chunks:
[(0, 0) to (4, 4) = (4x4)]
#version 110
#extension GL_ARB_texture_rectangle : enable
uniform sampler2DRect SrcTexture;
float sinh(const in float x) { return (exp(x) - exp(-x)) / 2.0; }
float cosh(const in float x) { return (exp(x) + exp(-x)) / 2.0; }
float atan2_xge0(const in float y, const in float x) {
return atan(y, x);
}
float atan2_safe(const in float y, const in float x) {
return atan(y, x);
}
float atan_safe(const in float yx) {
return atan(yx);
}
void main(void)
{
float discardA = 1.0;
float discardB = 0.0;
vec2 src = gl_TexCoord[0].st;
src -= vec2(1500., 1400.);

// rotate_erect(18000.000, -0.)
{
//src.s += -0.;
float w = (abs(src.s)  18000.000) ? 1.0 : 0.0;
float n = (src.s  0.0) ? 0.5 : -0.5;
src.s += w * -36000.000 * ceil(src.s /
36000.000 + n);
}

// sphere_tp_erect(5729.5779513082325000)
{
float phi = src.s / 5729.5779513082325000;
float theta = -src.t / 5729.5779513082325000 +
1.5707963267948966000;
if (theta  0.0) {
theta = -theta;
phi += 3.1415926535897931000;
}
if (theta  3.1415926535897931000) {
theta = 3.1415926535897931000 - (theta - 3.1415926535897931000);
phi += 3.1415926535897931000;
}
float s = sin(theta);
vec2 v = vec2(s * sin(phi), cos(theta));
float r = length(v);
theta = 5729.5779513082325000 * atan2_safe(r, s * cos(phi));
src = v * (theta / r);
}

// persp_sphere(5729.5779513082325000)
{
mat3 m = mat3(0.8074283680792127, -0.58996561799899783000,
0.,
  0.58996561799899783000, 0.8074283680792127,
0.,
  0., 0.,
1.000);
float r = length(src);
float theta = r / 5729.5779513082325000;
float s = 0.0;
if (r != 0.0) s = sin(theta) / r;
vec3 v = vec3(s * src.s, s * src.t, cos(theta));
vec3 u = v * m;
r = length(u.st);
theta = 0.0;
if (r != 0.0) theta = 5729.5779513082325000 * atan2_safe(r, u.p) /
r;
src = theta * u.st;
}

// rect_sphere_tp(5729.5779513082325000)
{
float r = length(src);
float theta = r / 5729.5779513082325000;
float rho = 0.0;
if (theta = 1.5707963267948966000) rho = 1.6e16;
else if (theta == 0.0) rho = 1.0;
else rho = tan(theta) / theta;
src *= rho;
}

// resize(1.6728386297652815000, 1.6728386297652815000)
src *= vec2(1.6728386297652815000, 1.6728386297652815000);

src += vec2(2144.5000, 1427.5000);

src = src * discardA + vec2(-1000.0, -1000.0) * discardB;
gl_FragColor = vec4(src.s, 0.0, 0.0, src.t);
}
#version 110
#extension GL_ARB_texture_rectangle : enable
uniform sampler2DRect CoordTexture;

[hugin-ptx] Re: coding style

2009-08-06 Thread Ryan Sleevi

Granted, I'm not committing (yet?), but that doesn't keep me from voicing an
opinion, right? :)

 1.2. VARIABLE NAMES
 
 some variables are named with the CamelCase convention - capitalizing
 the beginning of the word. Other use the word_separated_by_underscore
 convention. Are there other conventions? Which one do you favor?
 
 variable names should be clear and descriptive. no contractions, maybe
 with a few listed exception, e.g. Pano instead of Panorama. Any more
 exceptions?

Support James' comments re: LeadingCaps for classes/structures/typedefs, and
favoring mixedCase for variables. For functions, I always like the visual
distinction between public and private methods, if only to save a
consultation to intellisense or the header file. Using LeadingCaps for
public functions, mixedCase for private/protected/internal seems to offer
some visual distinction, but that's more a personal preference thing :)

I'm a fan of mixedCase over underscore_insertions_for_words myself, if only
to save the keyboard extension to the underscore. Readability wise I think
they're fairly equal. The only question comes when using acronyms (eg:
sqlVar vs SQLVar vs sQLVar), but I don't know how much of a problem that is.
I haven't seen many variables that have that problem in the codebase, and it
doesn't seem like it'd need to be hammered out now...

 
 1.3. FUNCTION NAMES
 
 should functions follow the same conventions as variables? or a
 different one?
 
 function names should be descriptive. no contractions, maybe with a few
 listed exception, e.g. Pano instead of Panorama. Any more exceptions?

Agree with James' comment that whatever contractions are acceptable, they be
used exclusively. 

 3. SPACING AND INDENTATION
 
 3.1. BRACES
 
 there are many different indent styles [3]. I am personally used to
 1TBS
 [4] (like the Linux Kernel), but I recently heard good arguments to
 adopt Allman style [5], which puts the brace associated with a control
 statement or a function on the next line, indented to the same level as
 the control statement. I am ready to go Allman. Or maybe you want to
 suggest other alternatives? Which one do you prefer?

I always find 1TBS to be readable. The most helpful thing is the requirement
that single-line conditionals always include braces. Had too many bugs
working in teams where one dev would use a short construct, and either
between merging or sloppy devs, a second statement would be added that
screws up the code.

eg:

if (condition)
doSomething();

becoming

if (condition)
doSomething();
doSomeOtherThing();

instead of

if (condition) {
doSomething();
doSomeOtherThing();
}

The problem I have with Allman is that I've seen too many bugs where the
code ends up like

if (condition);
{
doSomething();
}

See the error? The extra ; accepted by all the compilers I've ever used,
ends up causing the { } to always be executed. It can be a real pain to
trace through those in complex systems to find out who added the extra ;
when typing

 3.2. TABULATORS
 
 use spaces instead of tabulators (to maintain consistency across
 editors). use four spaces for one indentation. or are there other
 preferences?

Spaces, tabs, it's all the same to me. Visual Studio can be a pain when
adjusting between the two, but it's doable. My own preference is Tabs are
used for logical columns, spaces are used for alignment, but that's not
exactly easy to enforce :) (Of course, a diff usually reveals right away if
things are off). It's only really an issue if column width is also being
fixed - since artificial wrapping is often necessary in those cases.

void foo() 
{
tabif (someLongCondition
tab otherLongCondition
tab|| someOptionalCondition) {
tabtabdoSomething();
tabtabif (didSomething) {
tabtabtabdoSomethingElse();
tabtab}
tab}
}

 
 3.3. SPACES
 
 I would not go into that much detail. or maybe we should adopt/adapt a
 strict coding guide like [2]?

Personally find it readable to use spaces before the parenthesis after
control statements, but not to use spaces before the parenthesis after
functions.

eg:

fn(foo, bar) / x(y) / y(z)
if (condition) / while (condition) / else (something else)

and use spaces after commas

fn(foo, bar, baz)

I find it less readable when the extreme is taken

fn( foo, bar, baz ) or worse fn( foo , bar , baz ), which I've seen both in
projects.

 
 3.4. LINE ENDS
 
 Unix/Linux line ending (Windows and OSX users have to adapt)

Um, is there any reason we're not just using 

svn propset svn:eol-style native?

Seems like it solves the problem right there and everybody wins :) I've used
it on all my projects in the past, multiple platforms, and it always works
out. Also handles cygwin in Windows fine (uses LF, like you'd expect from a
posix layer, not CRLF, like Windows)

http://svnbook.red-bean.com/en/1.1/ch07s02.html

 4. COMMITTS
 
 It is tempting to clean up old code while fixing bugs or adding new
 code. Please don't - it makes the 

RE: Test Cases (was Re: [hugin-ptx] Re: nona-gpu - has anybody got it working?)

2009-08-06 Thread Ryan Sleevi

 
 mhh... is yours 64bit? or 32bit?
 

64-bit through and through. Using a DLL version of Glut, rather than a
static library, simply because it was convenient at the time. However, the
error seemed to suggest to me it was a GPU allocation error and not a system
allocation error. The memory usage of nona only peaked at ~100 megs when
generating that error.




--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
hugin and other free panoramic software group.
A list of frequently asked questions is available at: 
http://wiki.panotools.org/Hugin_FAQ
To post to this group, send email to hugin-ptx@googlegroups.com
To unsubscribe from this group, send email to 
hugin-ptx-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/hugin-ptx
-~--~~~~--~~--~--~---



[hugin-ptx] Re: Boost not found

2009-07-30 Thread Ryan Sleevi

 completely unrelated, but what is vc90.pdb? I suddenly see enormous
 numbers of this same warning:
 

The Program Database Filename. If you look at a solution configuration,
you'll see it is configured under Configuration Properties - C/C++ -
Output Files. I'm guessing you probably cleaned your intermediate
directories, since the default is $(IntDir)\vc90.pdb. The PDB files contents
are controlled by the /Z switches (/Z7/Zi/ZI). The PDB contains the
information necessary for debugging - symbolic names, types of variables,
line numbers, etc. *Extremely* handy to have for production releases. 

I'm guessing that the linker errors are all related to SDK components built
outside of the CMake process (eg: libpano, OpenEXR, etc). Many of the
libraries in the SDK don't have explicit pathnames specified, hence the
default vc90.pdb. For Hugin itself, and the other CMake projects, if you
build RelWithDebInfo, you'll end up generating PDB files matching the names
of the exes (Under Linker - Debugging - Generate Program Database File). 

It's by no means a critical error - it just means that symbolic debug
information for that static library won't end up in the pdb for the
executable. However, since the PDBs aren't being tracked for releases
anyways, I wouldn't worry about it. Even if they were, they're not indexed
(eg: with srcsrv from the Windows Debugging Tools), so debugging would still
be a PITA. Nothing to worry about :)


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
hugin and other free panoramic software group.
A list of frequently asked questions is available at: 
http://wiki.panotools.org/Hugin_FAQ
To post to this group, send email to hugin-ptx@googlegroups.com
To unsubscribe from this group, send email to 
hugin-ptx-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/hugin-ptx
-~--~~~~--~~--~--~---



[hugin-ptx] Re: branching and tagging releases

2009-07-20 Thread Ryan Sleevi

  Anyway I shouldn't have brought up the subject, this is way off
  topic.
 
 I don't think so - how we organize ourselves is very much on topic.

For what it's worth, I'd weigh in that what Yuval's proposing for the layout
seems to make sense to me. The layout I'm accustomed to is akin to:

root/
tags/
0.7.0/
0.7.1/
0.8.0/
0.8.1/
0.8.2/
branches/
0.7/
0.8/
dev/
feature-a/
feature-b/
feature-c/
trunk/

The process I'm most accustomed to with SVN is:

1) Main development happens in trunk
a) ... except when it involves significant rewrites or experimental
features, which begin in dev branches first

2) Trunk is ideally kept compliable for nightlies - This is more about
quality control than anything. Trunk being in an unstable state for more
than a day or two often creates more headache, and suggests the feature may
have been better beginning in a branch.

3) When certain objectives are met (either certain functionality goals being
in place, or general timing), trunk is branched into a candidate branch

4) The branch is stabilized (which should already be so, more or less), with
RCs coming from it.

5) A release is made from that branch when it is agreed to be stabilized.
Optionally, it is tagged as well (which is more for convenience than
anything - Again, it's cheap, and allows you to instantly find/browse the
code for that release)
a) Changes from that branch may either be periodically merged back
into trunk during stabilization, or it may wait until the end.

6) Where do you put ongoing maintenance? There are several philosophies to
this approach:
a) The fixes start in the oldest maintained branch, and are
successively merged forward through the branches. This is generally easy
because each successive version is based on the code that preceded it, so
there may not be as many conflicts. I've seen this on several commercial
projects - You generally only have conflicts when merging old-new and new
was rewritten.
b) The fixes start in trunk, and are then (back-)ported to the
various branches. This ensures that the fix for each branch is correct for
each branch, but runs the risk of conflicts because newer code may have been
substantially altered/refactored, and working backwards may not always be
easy. Depending on the nature of the bug/fix, this may ensure better quality
(by ensuring every fix is  appropriate for each branch, rather than just
straight merging), but may introduce more complexity (every merge conflicts
from new-old if new was rewritten)
c) Fixes only go into trunk. The maint branches are treated more
like tags/stabilizers than statements of product versions. Major
development happens out in dev branches.

I've seen b) used frequently in cases where there are issues of
API/compatibility. You want to keep the API stable for consumers of it,
while at the same time, you want to fix bugs/security holes. PHP is an
example of this.

However, given that Hugin isn't really exposing APIs, and versioning of the
project files themselves is largely a non-issue because they rarely change
and is fairly standard, it sounds like c) is the better approach.

The challenge in deciding how to do step 6 is, in my mind, largely
dependent on what you define a minor version to be. The question is: What
is the difference between Hugin 0.8.0, 0.8.1, and 0.9.0? Does 0.8.1 *only*
address bugs and will never introduce new features? Then maybe a or b are
the best approaches. Is Hugin 0.7.0 still supported when 0.8.0 is
released, meaning bug fixes still need to make it in and a Hugin 0.7.1 is
eventually released? Then again, maybe a or b are the best approaches. Or is
the difference between 0.8.0, 0.8.1, and 0.9.0 that some new features are
introduced between 0.8.0 and 0.8.1 (in addition to bug fixes), but that a
longer-term rewrite of some core piece along with major new features is
0.9.0. If that's the case, then I'd say c probably sounds the most
manageable, and it sounds the most akin to how the current dev lifecycle is.

The question about versioning doesn't disappear by using a date-based
alternative. In fact, I'd wager the date-based approach loses some of
utility in communicating to people what the differences between A and B
are. After all, Major.Minor.Rev is a well understood paradigm, even if
there is significant debate over what is major and what is minor.
Date-based just communicates that X is newer than Y, but that doesn't
necessarily mean better or more stable. It also depends heavily on
having a well-defined roadmap so you have an understanding of what can/will
and cannot/will not make a particular release. Look at Ubuntu, the numerous
meetings held for steering to maintain the 6-month active release and 2-year
LTS release schedule, and you start to think Hugin is not quite there 

[hugin-ptx] Re: 64-bit Windows Installers

2009-07-19 Thread Ryan Sleevi

 So does there actually exist an
 installer for 64-bit, or am I going to have to compile this myself?
 The former would be more convenient, but the latter I don't mind doing
 excessively.

The latter. 64-bit compilation is available only through a set of patches. 

You'll find instructions for building an x64 SDK here:
http://wiki.panotools.org/Hugin_SDK_(MSVC_2008)

SDK patches are here:
http://sourceforge.net/tracker/?func=detailaid=2789320group_id=77506atid=
550443

Hugin patches are here:
http://sourceforge.net/tracker/?func=detailaid=2787607group_id=77506atid=
550443

Enblend/Enfuse patches are here:
http://sourceforge.net/tracker/?func=detailaid=2787615group_id=123407atid
=696411

Once you have a 64-bit SDK, it's just a simple task of using CMake for Hugin
as the same process as 32-bit. If you followed the wiki page, the 64-bit
libs will have the same filenames as the 32-bit libs, so you won't just be
able to switch configurations to compile 32-bit and 64-bit Hugin (instead,
you'll need separate SDKs).


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
hugin and other free panoramic software group.
A list of frequently asked questions is available at: 
http://wiki.panotools.org/Hugin_FAQ
To post to this group, send email to hugin-ptx@googlegroups.com
To unsubscribe from this group, send email to 
hugin-ptx-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/hugin-ptx
-~--~~~~--~~--~--~---



[hugin-ptx] Re: hugin-0.8.0 released

2009-07-18 Thread Ryan Sleevi

Hard to tell exactly what it might be, but the error is stemming from the
fact that you have at least two instances of the JPEG/zlib libraries loaded
(wxjpeg.lib and jpeg.lib via jpeg64.dll, wxzlib.lib z.lib via zlib1.dll).
The latter for each of those is probably coming from one of the other
libraries you built/linked (other than wxWidgets, since it contains its
own). http://wiki.panotools.org/Hugin_SDK_%28MSVC_2008%29_Patches details
some of the changes necessary to the various libraries, which include
updating them to point to wxWdigets for TIFF/JPEG/ZLIB where appropriate. If
I were to wager though, you may want to check exiv2 to make sure it's
linking right, but that's just a guess. Other than that, it's simply a
matter of tracking down which library isn't linking against wxWidgets'
implentation. You can always start with building a fresh SDK
(http://wiki.panotools.org/Hugin_SDK_%28MSVC_2008%29 ) if you're still not
able to trace it down.

As to building the installer, I would suspect that Ad might be planning on
doing it, given as how he's been building installers for XP/Vista x32 during
development
(http://adhuikeshoven.pbworks.com/hugin%C2%A0installer%C2%A0for%C2%A0Windows
%C2%A0Vista ). He's got 4007 built, and IIRC, the only difference between
4007 and 4008 was a translation change. 

I don't know if anyone has stepped up for the Win x64 'release' build. Being
in the US, I'm only really able to push a patent-free installer out, and if
people drop in a CP gen that is 32-bit, it's possible there will be WoW64
issues with filenaming / reg keys / the like between Hugin (native x64) and
the CP gen (32-bit). That's why I hope someone else can step up, so they can
build/ship all the bins (including the CP generators) x64 and potentially
dodge that problem.




--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
hugin and other free panoramic software group.
A list of frequently asked questions is available at: 
http://wiki.panotools.org/Hugin_FAQ
To post to this group, send email to hugin-ptx@googlegroups.com
To unsubscribe from this group, send email to 
hugin-ptx-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/hugin-ptx
-~--~~~~--~~--~--~---



[hugin-ptx] Re: 64 bits versions

2009-07-15 Thread Ryan Sleevi

Nick,

   No one's stepped up to the role of being the binary builder. I haven't
volunteered myself just because I wouldn't be able to compile
everything - needing to leave off those tools affected by
SIFT/SURF/other patents and the like (which should just be the CP
generators, but still, an important part and part of the current
distributions)

   I did, however, update the wiki at
http://wiki.panotools.org/Hugin_SDK_%28MSVC_2008%29 with the steps to
building Hugin on x64, which should fully work with Visual Studio 2008,
including Express Edition. If you are using Express Edition, you'll
also need the Windows SDK 6.1/6.1a (or whatever is shipping), as that
contains the x64 native compilers / x86-64 cross compilers. If using
EE, you'll also need to enable the x64 compilers in EE, which requires
a little trickery with the registry, but is documented in numerous
places

   You'll also need to run several patches on the various parts of the SDK
and Hugin. They are linked in that wiki page, but also found on the
SourceForge Patches tracker (there are two patches - one for Hugin, one
for the SDK).

   If you have any trouble, feel free to ask, as I've been running it fine
on Vista x64 for over a month now. If there is anything in the wiki you
find confusing or need clarification, feel free to ask and/or edit away
to resolve that.

 I'm running on vista.
 Binaries would be nice, but if it works, but no binaries, then I'll build
 it
 myself.

 nick



--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
hugin and other free panoramic software group.
A list of frequently asked questions is available at: 
http://wiki.panotools.org/Hugin_FAQ
To post to this group, send email to hugin-ptx@googlegroups.com
To unsubscribe from this group, send email to 
hugin-ptx-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/hugin-ptx
-~--~~~~--~~--~--~---



[hugin-ptx] Re: 64 bits versions

2009-07-15 Thread Ryan Sleevi

 So hugin works in 64.
 What about APSC, enblend and enfuse?

 Thanks,

 nick


With the patches, they all work. Getting enblend/enfuse on 64-bit was the
most onerous part, because a number of GNU dependencies are only
distributed in 32-bit form. However, the wiki page details the steps
necessary to compile them in 64-bit (and the appropriate patches as
necessary), so they'll compile fine.

I don't think APSCpp required any


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
hugin and other free panoramic software group.
A list of frequently asked questions is available at: 
http://wiki.panotools.org/Hugin_FAQ
To post to this group, send email to hugin-ptx@googlegroups.com
To unsubscribe from this group, send email to 
hugin-ptx-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/hugin-ptx
-~--~~~~--~~--~--~---



[hugin-ptx] Re: 64 bits versions

2009-07-15 Thread Ryan Sleevi

 Thanks for the info.
 Out of curiosity, is there a reason why it is not a single branch with 2
 build targets, but one branch 32, and patches for 64?

 Thanks,

 nick

That's definitely my goal and on my todo in the coming weeks. The big
reason for it not being yet resolved is that the initial goal was to get
it working, and get it out there, so that other people can reproduce it.

There are a lot of hardcoded interdependencies in the project files on
various libraries, and the projects come from several different
distributions - some source, some binary, some from svn repos, etc.

Being familiar with the process as I am now, it isn't a hard thing, in
terms of technical difficulty, it's just a matter of going through
everything and checking. My priority at present has been more in the
experimenting with the low-hanging fruit of optimizations, as that seems
to be able to benefit a larger crowd than the build process smoothing.

The patches aren't just for 64-bit though, I should mention. The patches
at present are meant to simplify a much longer process that even 32-bit
users had to go through in resolving the various conflicts/issues (eg:
updating solution files to VS2008, changing paths/dependencies, etc). It's
just that the patches at present, in addition to resolving everything for
32-bit, introduce the new 64-bit configurations as options. You end up
with 4 projects - Debug, RelMinSize, Release, RelWithDebInfo - and two
configurations - 32-bit and 64-bit. You just can't change the
configuration of Hugin without also going back through and updating a
number of things (from enblend/enfuse to recompiling wxWidgets + OpenEXR
etc)

Does that help any?


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
hugin and other free panoramic software group.
A list of frequently asked questions is available at: 
http://wiki.panotools.org/Hugin_FAQ
To post to this group, send email to hugin-ptx@googlegroups.com
To unsubscribe from this group, send email to 
hugin-ptx-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/hugin-ptx
-~--~~~~--~~--~--~---



[hugin-ptx] Re: Autopano-sift-c memory leaks

2009-07-12 Thread Ryan Sleevi

 I know of no case in which such a failure has been replicated by a
 second observer.  I have not yet been able to get APSCpp to exhaust
 memory on either Windows or Linux.   And when I run it under a leak-
 checking debugger (MSVC on Windows, valgrind on Linux) I see no sign
 of memory leaks during the image processing phase.  Both tools report
 a fairly large leak in the control point phase, which I will fix.
 That is a one-time thing and could not cause a crash during image
 processing.  But under some conditions (that I have not found) it
 might conceivably build up to the point of exhausting all memory.

Tom, what in your mind represents an 'ideal' memory size for APSCpp? My
investigations into 64-bit compilation began first because APSCpp would
regularly hork if I fed in all of my images, capping out at 2GB and
eventually faulting. It would work fine if I broke my image sets into
smaller chunks, but of course, that's a real pain to babysit. I didn't
even realize the possibility of combining generatekeys + autopano as a
means of optimizing the process, as it seems like it'd be a much more
efficient means (esp. when combined with the future layout tool)

Once 64-bit, running the same project through it (as inefficient as it may
be), APSCpp got up to 6 gigs, but it found points without crashing. Like I
said, from what I've learned, it's not the ideal way of generating control
points, but it worked.

The project itself was 90 TIFFs, comprised of 30 images with three
exposures, with an overlap between 10 - 30%, arranged in 5ishx4ish (if I
recall correctly), with some more detailed overlapping images. I didn't
bother debugging anything, because I didn't have the dev environment
setup, but I'll see about reproducing it next week.




--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
hugin and other free panoramic software group.
A list of frequently asked questions is available at: 
http://wiki.panotools.org/Hugin_FAQ
To post to this group, send email to hugin-ptx@googlegroups.com
To unsubscribe from this group, send email to 
hugin-ptx-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/hugin-ptx
-~--~~~~--~~--~--~---



[hugin-ptx] Re: Profile Guided Optimization

2009-07-11 Thread Ryan Sleevi

 My experiences with profile-optimized code have been far less
 positive.  For me the speed-up varied from several percent (Enblend,
 Enfuse, UFRaw) to actually slowing down the code (gcc).
 
 One explanation for my findings could be that I ran all of my tests on
 very fast machines, where it almost does not matter if their cores run
 at 2 GHz or at full speed.  A closer look at the ratio of total stalls
 to executed instructions in time-critical tight loops showed values of
 40% to 60%.  In other words, on average the CPU is waiting for data
 a significant amount of time.
 
 What actually helps a lot here is compiling specifically for a CPU
 type as this not only enables all SSE1-999, but, e.g., also makes
 the compiler prefer conditional moves to jumps on architectures that
 support these instructions.

Indeed, optimizations specific to the architecture definitely help. However,
I'm wondering what sort of system you created the profile on. For myself and
Rick, who are using the x64 version on Windows, we're sitting each with 8GB
of ram. For many of my stitch jobs, Enblend and Enfuse never have to hit the
internal image cache for LDR merges. For HDR merges, or for the extremely
heavy stitch, yes, I can understand that those two in particular spend much
more time in the image cache code than they do actually processing the work,
but that's rare. Of course, for people constrained on x32 systems, this is
less of a win for the them - 2GB isn't really a lot to be doing a big stitch
on, and the moment they hit that, they're back to being IO bound, easily
seeing the CPU usage drop from 50% on a dual core to 2/3%.

However, if the compiler knows common sizes of data being requested - eg:
this algorithm loops through every pixel, every pixel is an 8 bit uchar for
RGBA, and the average size of this loop is on the order of hundreds of
pixels, which I think are all realistic scenarios - it can both unroll the
loop AND see about optimizing the loads with SSE (for Intel, via the -Q
option). With the modern architectures supporting multiple execution
pipelines, even on single cores (Intel's been doing it since, what, MMX?),
combining PGO + architecture specific optimizations really can yield
significantly better fetches.

This may explain for some of the gains seen in the Windows, especially going
from an x32 version that is both memory-bound and lacks a processor specific
optimization, to the x64 binary, which is both no longer memory bound,
allowing enblend/enfuse to focus on solely the computation tasks, and
optimized for SSE, by virtue of it being available on both of the x86_64
architectures. Combine that with PGO requiring whole program optimization /
link time code generation, and the compiler has more opportunity to leverage
optimizations across various code blocks.

  Platform wise, GCC has supported PGO for some time, which means both
 Linux
  and Mac clients could potentially benefit from the process.
 
 BTW, profiling does _not_ produce reliable results with
 g++-4.3.2 and OpenMP.  So we have to switch to other profiling
 techniques here.

As far as I know, it's only your branch of enblend+enfuse using OpenMP
currently, correct? And until the image cache is re-entrant, it's probably
not going to be usable by anybody but those with large amounts of memory or
smaller projects. Am I misunderstanding the limitation? I think this is an
important consideration, definitely, but it sounds like it might not be a
deal breaker, nor for some of the other tools in the chain (eg: Hugin's
internal optimizations)


  So far, I've only messed with optimizing enblend/enfuse, which was
  promising, but PGO doesn't always benefit things for the amount of
 effort it
  can take. My experience is that certain things, especially
 template/functor
  heavy projects (which Hugin, with vigra, is), often benefit from PGO
 -
 
 Could you please explain that to me?  Templated code in known
 to (sometimes) cause heavier execution-cache thrashing, because there
 is just more code around and more functions can get inline expanded.
 Does that indicate an advantage for profile optimizability?

In my experience, template-heavy code will result in many different unique
code paths being created: eg, a template for an image that is RGB with
unsigned char, a template for an image with an RGB for float, etc. These
then have further code paths when you throw in the functors, etc. In essence
though, they're the same code (after all, it's the same template generating
everything), but all with slightly different variants. I've yet to see a
compiler get it right the first time, because the templates buy you a
flexibility that the compiler doesn't know what your preference or ideal
is. Because PGO often reveals a paths and relationships through the code,
rather than structuring the code as

TemplateA
TemplateB
FunctorTemplateA
FunctorTemplateB 

it often optimizes to

TemplateA
FunctorTemplateA
TemplateB
FunctorTemplateB

(poor 

[hugin-ptx] Re: More on hugin vs DEP

2009-07-10 Thread Ryan Sleevi

Finally got a dump and had a chance to inspect.

The DEP crash itself is being caused by atioglxx.dll, which is ATI's OpenGL
driver. I don't have symbol files for it, so I can't trace, but the path
that Hugin takes that causes this crash:

   hugin.exe!GLRenderer::Redraw()  Line 110C++
hugin.exe!GLViewer::Redraw()  Line 198  C++
hugin.exe!GLViewer::RedrawE(wxPaintEvent  e={...})  Line 154   C++
hugin.exe!wxAppConsole::HandleEvent()  + 0xd bytes  C++
hugin.exe!wxEvtHandler::ProcessEventIfMatches()  + 0x53 bytes   C++
hugin.exe!wxEventHashTable::HandleEvent()  + 0x5a bytes C++
hugin.exe!wxEvtHandler::ProcessEvent()  + 0x6c bytesC++
hugin.exe!wxWindow::HandlePaint()  + 0xb4 bytes C++
hugin.exe!wxWindow::MSWWindowProc()  + 0x18d bytes  C++
hugin.exe!wxWndProc()  + 0x8d bytes C++

The exact line that caused the crashed was:

glClear(GL_COLOR_BUFFER_BIT);

Anybody with more wizardry care to offer advice?

My first advice for Howard is to check for updated ATI drivers, since the
crash is within the drivers themselves, and as far as I know, there isn't
any attempt to execute any code in the GL fast preview window. Unless
someone knows better, I would say this problem is solely in the ATI drivers,
and Howard's workaround (if updating fails) is to disable DEP.

It's been situations like this that have left me disabling DEP - A good
technology, in general, but too many vendors are still way too sloppy.


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
hugin and other free panoramic software group.
A list of frequently asked questions is available at: 
http://wiki.panotools.org/Hugin_FAQ
To post to this group, send email to hugin-ptx@googlegroups.com
To unsubscribe from this group, send email to 
hugin-ptx-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/hugin-ptx
-~--~~~~--~~--~--~---



[hugin-ptx] Re: Hugin Windows SDK -- wxWidgets not found

2009-07-09 Thread Ryan Sleevi

Hugin requires wxWidgets 2.8.10 as of SVN 3842, according to the CMakeLists.
Is it possible you've got an older version?

The build steps on the SDK reference using wxWidgets 2.8.10, and there is a
more recent SDK package posted from May also up on the wiki. Might be time
to update :)

 -Original Message-
 From: hugin-ptx@googlegroups.com [mailto:hugin-...@googlegroups.com] On
 Behalf Of Tom Sharpless
 Sent: Thursday, July 09, 2009 4:25 PM
 To: hugin and other free panoramic software
 Subject: [hugin-ptx] Hugin Windows SDK -- wxWidgets not found
 
 
 Hi
 
 Have been building Hugin on Windows now and then, using the SDK that
 was put together by Guido K. about 6 months ago.
 
 Just updated my Hugin source to SVN 4017, and get CMake error cant'f
 find REQUIRED package wxWidgets..  This is coming from the standard
 findwxwidgets.cmake script that is distributed with CMake, not from a
 hugin custom script -- as I think it should be if the Windows SDK were
 being properly supported  and wxWidgets really was missing (actually
 on my system there would be no error message, because wxWidgets is
 indeed in the SDK).
 
 I'm sure I can find  fix the problem, but I'm posting to ask all
 Hugin developers to be aware that there are special problems with
 finding packages in the Windows Hugin build environment, and special
 CMake code to handle them.  So please  be careful about rearranging
 FIND_PACKAGE calls and related code in the CMake scripts -- preferably
 test with a Windows builder before committing.
 
 -- Tom
 
 

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
hugin and other free panoramic software group.
A list of frequently asked questions is available at: 
http://wiki.panotools.org/Hugin_FAQ
To post to this group, send email to hugin-ptx@googlegroups.com
To unsubscribe from this group, send email to 
hugin-ptx-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/hugin-ptx
-~--~~~~--~~--~--~---



[hugin-ptx] Re: More on hugin vs DEP

2009-07-09 Thread Ryan Sleevi

Where were the absolute module references to? Hugin.exe, rsaench, or other
modules?

RSAENH is just the Microsoft RSA Enhanced Cryptographic Service Provider,
which is the crypto core of Windows. I'm surprised DEP is flowing through
there, as nothing in Hugin or the tools is going to pull in that DLL
directly.

Since you're working on debugging yourself, have you added the Microsoft
Symbol Store to your symbol search path? Information is at
http://stackoverflow.com/questions/556383/how-to-use-windows-symbol-packages
-with-visual-studio-2008

If it's in hugin.exe that you're having trouble resolving, if you're using
an exe you built, make sure you built the package RelWithDebInfo. If you're
using the one I posted for x32, it was built with this as the config, so I
have all of the (rather large) PDBs for the entire SDK and for Hugin. That's
why I was asking for a crashdump file, as it's easier to send the crashdump
than all the PDBs. I didn't generate the MAP files, so that's really the
best way to get to the bottom of this. The crashdump will give the full
stack trace/line references/etc, so with that it'd be something that could
be immediately pinpointed.

 -Original Message-
 From: hugin-ptx@googlegroups.com [mailto:hugin-...@googlegroups.com] On
 Behalf Of hbl
 Sent: Thursday, July 09, 2009 4:15 PM
 To: hugin and other free panoramic software
 Subject: [hugin-ptx] More on hugin vs DEP
 
 
 DEP (actually rsaenh.dll) is raising an exception at some point after
 wxDropTarget:Register() is entered. After that point, there were no
 more module references; just calls to absolute memory locations.
 
 So, I am not sure the trail leads to atioglxx.dll as the source of the
 issue.  Comments?
 

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
hugin and other free panoramic software group.
A list of frequently asked questions is available at: 
http://wiki.panotools.org/Hugin_FAQ
To post to this group, send email to hugin-ptx@googlegroups.com
To unsubscribe from this group, send email to 
hugin-ptx-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/hugin-ptx
-~--~~~~--~~--~--~---



[hugin-ptx] Re: More on hugin vs DEP

2009-07-09 Thread Ryan Sleevi

Since you're building your own, I'm presuming you've got Visual Studio 2008
Express installed (Unless you're going the nmake route, which I haven't
bothered with).

If so, you should be able to compile the exe as RelWithDebInfo, but launch
the exe any way you want. You don't need to start it through the debugger.
With the hugin .sln still open, choose Debug - Attach to Process. From
there, you should be able to attach to hugin.exe. 

When DEP triggers, it should (IIRC) invoke the debugger to handle the
exception as a first resort. I can't remember for sure if that's the case
though - If it doesn't, you can configure the Debug - Exceptions (Control
Alt E). Under Win32 Exceptions, make sure that c005 Access Violation is
checked. That's what will end up getting thrown when DEP triggers. Click OK.

From there, VS should be able to tell a bit more about the stack trace of
what triggered the DEP error. 

When VS catches the error, it will then try to pull in the .pdbs for Hugin,
as well as download any PDBs available on the MSFT Symbol Store URL. This
should give you maximal stack information.


 -Original Message-
 From: hugin-ptx@googlegroups.com [mailto:hugin-...@googlegroups.com] On
 Behalf Of hbl
 Sent: Thursday, July 09, 2009 5:09 PM
 To: hugin and other free panoramic software
 Subject: [hugin-ptx] Re: More on hugin vs DEP
 
 
 Ryan,
 
 Thanks for the input.  My software debug skills have laid dormant for
 a decade or so.  I will download the additional symbols and start the
 tracing process again.  I built using the 'debug' option.  I will
 rebuild using 'release w/ debug info'.
 
 The absolute addressing had no notation as to source code names.
 Probably because the symbols were missing.
 
 I assume rsaenh was the messenger because it was the last module
 loaded right after atioglxx.
 
 I also have someone in the Toshiba help group looking at the issue.
 
 I tried to attach to the Fast Panorama Preview process but the system
 would not allow it.  I shall review the procedure and try again.
 
 --
 Howard
 
 On Jul 9, 3:35 pm, Ryan Sleevi ryan+hu...@sleevi.com wrote:
  Where were the absolute module references to? Hugin.exe, rsaench, or
 other
  modules?
 
  RSAENH is just the Microsoft RSA Enhanced Cryptographic Service
 Provider,
  which is the crypto core of Windows. I'm surprised DEP is flowing
 through
  there, as nothing in Hugin or the tools is going to pull in that DLL
  directly.
 
  Since you're working on debugging yourself, have you added the
 Microsoft
  Symbol Store to your symbol search path? Information is
 athttp://stackoverflow.com/questions/556383/how-to-use-windows-symbol-
 p...
  -with-visual-studio-2008
 
  If it's in hugin.exe that you're having trouble resolving, if you're
 using
  an exe you built, make sure you built the package RelWithDebInfo. If
 you're
  using the one I posted for x32, it was built with this as the config,
 so I
  have all of the (rather large) PDBs for the entire SDK and for Hugin.
 That's
  why I was asking for a crashdump file, as it's easier to send the
 crashdump
  than all the PDBs. I didn't generate the MAP files, so that's really
 the
  best way to get to the bottom of this. The crashdump will give the
 full
  stack trace/line references/etc, so with that it'd be something that
 could
  be immediately pinpointed.
 
   -Original Message-
   From: hugin-ptx@googlegroups.com [mailto:hugin-
 p...@googlegroups.com] On
   Behalf Of hbl
   Sent: Thursday, July 09, 2009 4:15 PM
   To: hugin and other free panoramic software
   Subject: [hugin-ptx] More on hugin vs DEP
 
   DEP (actually rsaenh.dll) is raising an exception at some point
 after
   wxDropTarget:Register() is entered. After that point, there were no
   more module references; just calls to absolute memory locations.
 
   So, I am not sure the trail leads to atioglxx.dll as the source of
 the
   issue.  Comments?
 

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
hugin and other free panoramic software group.
A list of frequently asked questions is available at: 
http://wiki.panotools.org/Hugin_FAQ
To post to this group, send email to hugin-ptx@googlegroups.com
To unsubscribe from this group, send email to 
hugin-ptx-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/hugin-ptx
-~--~~~~--~~--~--~---



[hugin-ptx] Re: Profile Guided Optimization

2009-07-08 Thread Ryan Sleevi

 Hi Ryan,
 
 interesting stuff. do you do this kind of things for a living?

To a degree. I work on a commercial project where three of the main demands
are small, fast, and portable, so these sorts of things come up often -
OpenMP, Intel VTune/IPP/C++ Compiler, and x64 all end up being part of that
scope. The multiplatform diagnostics/support angle comes from it being a
commercial product, so there is always financial incentive to identify bugs
quickly, so I get to learn first-hand how screwed up the ALL the different
platforms are and their little nuances, for better or worse ;)


 The time I want to optimize is the time I am interacting with the
 computer. the faster the computer the less of my time it wastes. The
 time I don't care about is warping / blending /etc . CPU time on an
 overnight batch is cheap, so if the stitch takes from 21:00 PM to 07:00
 AM next morning; or to 03:00 AM next morning; I won't notice.

The great thing is that because Hugin is so nicely split into the various
utilities, you can both have your cake and eat it too! The hugin executable
can be optimized for the more intensive tasks, which I agree with you in
that it's probably:
- Optimization
- CP editing/fine tuning
- Preview (Fast and regular, although regular is less of a concern
now that fast preview is in)
- Celeste (I haven't dug too far into this, but I understand it's
both linked as a lib and standalone. Sound correct?)
- To a lesser degree, some of the basic imaging code for
caching/scaling the images.

At the same time, enblend, enfuse, nona, and all the other separate
executables, can be optimized independently, unrolling the tight loops and
expanding their optimizations, without having to sacrifice any of the
improvements in the hugin GUI.

In asking the question, I'm wanting to find out what the knife is in the
Hugin swiss army toolset, which most everybody uses (and as the primary
reason), and not worry about the fish scaler or scissors that nobody ever
wastes time with because there are usually better alternatives for those
sorts of tasks :) Sharp knife is a win, while a nail filer with extra smooth
filing action, not so much.

My plan is to first get a bit more testing done with the timing of things,
using two of my larger projects for testing (one for profiling, the other
for testing), to see what kind of improvements, if any, we're talking about.
So far, I've only messed with optimizing enblend/enfuse, which was
promising, but PGO doesn't always benefit things for the amount of effort it
can take. My experience is that certain things, especially template/functor
heavy projects (which Hugin, with vigra, is), often benefit from PGO -
Primarily around loop unrolling, inlining, and code locality reorganizing. 

If it continues to look promising (and this is where the input from the list
is going to inform), the next step would be setting up some various project
files to represent 'real world' scenarios (eg: a large stitch of 8-bit
TIFFs, a 360 stitch of 16-bits, and maybe a small project stitch of a few
JPEGs), which would be the tool profilers and can be automated as an
optional step in the build, and a test script, to be manually stepped
through by the person compiling, for the actual Hugin GUI. These would be
platform-independent, as anyone wanting to make a PGO binary could, but
standardizing ensures the optimizations aren't too heavily focusing on one
thing, the computing equivalent of doing all sit-ups, never any cardio or
strength training.

Of course, for those interested in speed and handy with a compiler, you can
start working on PGO binaries for Linux/Mac, and see how GCC's optimizer
works for the project and if it shows similar improvements. For GCC, the
flags are -fprofile-generate and -fprofile-use. It's also encouraging to see
that work is being done in Christoph's branch to add OpenMP support to
enblend/enfuse, as that may likely offer substantial speed improvements for
those running on more modern, multi-core systems, well beyond what PGO could
offer. It may not directly speed the UI experience, sure, but everybody
loves a quicker work flow.


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
hugin and other free panoramic software group.
A list of frequently asked questions is available at: 
http://wiki.panotools.org/Hugin_FAQ
To post to this group, send email to hugin-ptx@googlegroups.com
To unsubscribe from this group, send email to 
hugin-ptx-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/hugin-ptx
-~--~~~~--~~--~--~---



[hugin-ptx] Re: hugin installer for Windows Vista SVN 3975

2009-07-07 Thread Ryan Sleevi

 and with you and your expertise around I allowed myself to note that
 64bit Windows is now supported.

Well, it's only supported if those two patch sets get merged upstream prior
to 0.8 (your prior e-mail asking for thoughts). My belief is they should be
very minor (the patches to Hugin itself, really Vigra, were straight from
upstream just backported). 

The patches to the supplementary products are (more or less) just patching
the solution files, although other projects that use Vigra had a few changes
applied to them as well. I'll try to update the libpano .sln patch (part of
the second set), since I found I missed something with x64 on it.

 Will you contribute a 64bit installer of 0.8.0 final after Bruno
 released it?

With regards to the installer itself, my process has not been clean. I get
several errors with the .iss that I haven't bothered to look deeper into.
Mostly issues with matchnsift/matchpoint/perl files being missing. I haven't
bothered to look into this, because it hasn't affected my personal usage,
but it would be a hindrance towards a 'proper' release. The other part is
still my own personal concern regarding the patented code and compiling it -
being an American and all. The whole distinction of direct and indirect
infringement is a point of concern. 

As to the steps/compilation themselves, the process can be fully
accomplished with Microsoft's free-as-in-beer toolchain. The x64 compilers,
while not native to the Visual Studio 2008 Express Edition, can be obtained
from the Windows Platform SDK 6.1 and native x64 binaries compiled (or
cross-compiled, for those on x32). Using the Express Edition requires one
extra step (as documented at
http://jenshuebel.wordpress.com/2009/02/12/visual-c-2008-express-edition-and
-64-bit-targets/ ), but otherwise, compilation should prove quite smooth.


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
hugin and other free panoramic software group.
A list of frequently asked questions is available at: 
http://wiki.panotools.org/Hugin_FAQ
To post to this group, send email to hugin-ptx@googlegroups.com
To unsubscribe from this group, send email to 
hugin-ptx-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/hugin-ptx
-~--~~~~--~~--~--~---



[hugin-ptx] Re: Results for Ryan Sleevi SVN 0,8,0,3980

2009-07-06 Thread Ryan Sleevi

Howard,

Can you e-mail me off-list with a dump created by following the
steps in http://support.microsoft.com/kb/931673 ?

The output you pasted looks to be the result of the standard
Vista/Microsoft mini-dump submission. When that dialog is up, you should
still have hugin.exe running, so you should be able to follow the directions
per that KB article to create a user-mode process dump (prior to responding
to that dialog). That will include the full stack-trace, threads, etc. It
should output the dump file in C:\Users\(Username)\AppData\Local\Temp 

Alternatively, you can look at the directions here,
http://support.microsoft.com/kb/828222 , which are a bit more convoluted and
requires a bit more installation. You follow the directions up to (but not
including) the step Configure the Orphan Worker Process settings. When
Hugin crashes, run the batch file with the argument of the path to your
hugin executable (eg, if using Action.cmd as they did, you'd run
'C:\action.cmd C:\Program Files\Hugin\bin\hugin.exe ' assuming that is the
path to the executable). If I recall correctly, this should result in a file
being placed in C:\Program Files\Hugin\bin named either hugin.exe.dump or
hugin.dump. Or it might be in C:\ as hugin.dump.

Compress using your favored compression algorithm (preferably
something that 7-zip supports and not something obscure and esoteric) and
mail to me direct, and I'll see about looking in to it further as well as
posting the stack trace back to the list for those more in the know.
Either of the methods described in the KB are the preferred method, rather
than sending the diagnostics created by the 'stock' Windows dump tool (more
information is included)

Cheers,
Ryan

 -Original Message-
 From: hugin-ptx@googlegroups.com [mailto:hugin-...@googlegroups.com]
 On Behalf Of hbl
 Sent: Monday, July 06, 2009 2:10 PM
 To: hugin and other free panoramic software
 Subject: [hugin-ptx] Results for Ryan Sleevi SVN 0,8,0,3980
 
 
 Test results for http://ryan.sleevi.com/files/hugin-0.8.0-3980.exe
 
 The application is halted by DEP the moment the Fast Panorama Preview 
 window opens (thread 0x1574).  Diagnostic data follows:
 
 
 
 Product
 hugin.exe
 
 Problem
 Stopped working
 
 Date
 7/6/2009 12:50 PM
 
 Status
 Report Sent
 
 Problem signature
 Problem Event Name:   BEX
 Application Name: hugin.exe
 Application Version:  0.0.0.0
 Application Timestamp:4a4c2d02
 Fault Module Name:StackHash_d34b
 Fault Module Version: 0.0.0.0
 Fault Module Timestamp:   
 Exception Offset: 06c50840
 Exception Code:   c005
 Exception Data:   0008
 OS Version:   6.0.6002.2.2.0.768.3
 Locale ID:1033
 Additional Information 1: d34b
 Additional Information 2: 20752c25712bf3f7bc825928e900516d
 Additional Information 3: cec3
 Additional Information 4: 8f23bb82232ba5bb3e019c420185df34
 
 Extra information about the problem
 Bucket ID:635354591
 
 =
 'hugin.exe': Loaded 'C:\Program Files\Hugin\bin\hugin.exe'
 'hugin.exe': Loaded 'C:\Windows\System32\ntdll.dll'
 'hugin.exe': Loaded 'C:\Windows\System32\kernel32.dll'
 'hugin.exe': Loaded 'C:\Windows\System32\user32.dll'
 'hugin.exe': Loaded 'C:\Windows\System32\gdi32.dll'
 'hugin.exe': Loaded 'C:\Windows\System32\advapi32.dll'
 'hugin.exe': Loaded 'C:\Windows\System32\rpcrt4.dll'
 'hugin.exe': Loaded 'C:\Windows\System32\opengl32.dll'
 'hugin.exe': Loaded 'C:\Windows\System32\msvcrt.dll'
 'hugin.exe': Loaded 'C:\Windows\System32\glu32.dll'
 'hugin.exe': Loaded 'C:\Windows\System32\ddraw.dll'
 'hugin.exe': Loaded 'C:\Windows\System32\dciman32.dll'
 'hugin.exe': Loaded 'C:\Windows\System32\setupapi.dll'
 'hugin.exe': Loaded 'C:\Windows\System32\oleaut32.dll'
 'hugin.exe': Loaded 'C:\Windows\System32\ole32.dll'
 'hugin.exe': Loaded 'C:\Windows\System32\dwmapi.dll'
 'hugin.exe': Loaded 'C:\Windows\winsxs\x86_microsoft.windows.common-
 controls_6595b64144ccf1df_6.0.6002.18005_none_5cb72f96088b0de0\comctl3
 2
 .dll'
 'hugin.exe': Loaded 'C:\Windows\System32\shlwapi.dll'
 'hugin.exe': Loaded 'C:\Windows\System32\shell32.dll'
 'hugin.exe': Loaded 'C:\Windows\System32\comdlg32.dll'
 'hugin.exe': Loaded 'C:\Windows\System32\imm32.dll'
 'hugin.exe': Loaded 'C:\Windows\System32\msctf.dll'
 'hugin.exe': Loaded 'C:\Windows\System32\lpk.dll'
 'hugin.exe': Loaded 'C:\Windows\System32\usp10.dll'
 'hugin.exe': Loaded 'C:\Windows\System32\ws2_32.dll'
 'hugin.exe': Loaded 'C:\Windows\System32\nsi.dll'
 'hugin.exe': Loaded 'C:\Windows\System32\ntmarta.dll'
 'hugin.exe': Loaded 'C:\Windows\System32\Wldap32.dll'
 'hugin.exe': Loaded 'C:\Windows\System32\psapi.dll'
 'hugin.exe': Loaded 'C:\Windows\System32\samlib.dll'
 'hugin.exe': Loaded 'C:\Windows\System32\uxtheme.dll'
 'hugin.exe': Loaded 'C:\Windows\System32\BtMmHook.dll'
 'hugin.exe': Loaded 'C:\Windows

[hugin-ptx] Re: Results for Ryan Sleevi SVN 0,8,0,3980

2009-07-06 Thread Ryan Sleevi

The use of the /clr flag should be unnecessary. /clr is intended for
compiling C++/CLI code (as Managed C++ has gone the way of the dodo...). The
documentation is at http://msdn.microsoft.com/en-us/library/k8d11d4s.aspx ,
so I'm curious what lead you to the /clr option. I do know ATI makes
semi-heavy use of the .NET assemblies in their driver utilities (or at least
did when I had a Radeon in here), but I don't believe the actual driver
itself would be using any .NET-ness.

Either way, it sounds like the DEP error is (like I originally mused)
unrelated to Hugin itself, and more the result of a faulty something else
that is getting blamed against Hugin. Which is encouraging for the release
to make it out.

 -Original Message-
 From: hugin-ptx@googlegroups.com [mailto:hugin-...@googlegroups.com] On
 Behalf Of hbl
 Sent: Monday, July 06, 2009 7:08 PM
 To: hugin and other free panoramic software
 Subject: [hugin-ptx] Re: Results for Ryan Sleevi SVN 0,8,0,3980
 
 
 Ryan,
 
 It appears the exception is occurring in atioglxx.dll.  It's
 associated with the ATi Radeon video driver.  The purported solution
 is to build with /clr property.  Currently trying to validate...
 
 On Jul 6, 1:54 pm, Ryan Sleevi ryan+hu...@sleevi.com wrote:
  Howard,
 
          Can you e-mail me off-list with a dump created by following
 the
  steps inhttp://support.microsoft.com/kb/931673?
 
          The output you pasted looks to be the result of the standard
  Vista/Microsoft mini-dump submission. When that dialog is up, you
 should
  still have hugin.exe running, so you should be able to follow the
 directions
  per that KB article to create a user-mode process dump (prior to
 responding
  to that dialog). That will include the full stack-trace, threads,
 etc. It
  should output the dump file in C:\Users\(Username)\AppData\Local\Temp
 
          Alternatively, you can look at the directions
 here,http://support.microsoft.com/kb/828222, which are a bit more
 convoluted and
  requires a bit more installation. You follow the directions up to
 (but not
  including) the step Configure the Orphan Worker Process settings.
 When
  Hugin crashes, run the batch file with the argument of the path to
 your
  hugin executable (eg, if using Action.cmd as they did, you'd run
  'C:\action.cmd C:\Program Files\Hugin\bin\hugin.exe ' assuming that
 is the
  path to the executable). If I recall correctly, this should result in
 a file
  being placed in C:\Program Files\Hugin\bin named either
 hugin.exe.dump or
  hugin.dump. Or it might be in C:\ as hugin.dump.
 
          Compress using your favored compression algorithm (preferably
  something that 7-zip supports and not something obscure and esoteric)
 and
  mail to me direct, and I'll see about looking in to it further as
 well as
  posting the stack trace back to the list for those more in the
 know.
  Either of the methods described in the KB are the preferred method,
 rather
  than sending the diagnostics created by the 'stock' Windows dump tool
 (more
  information is included)
 
  Cheers,
          Ryan
 
   -Original Message-
   From: hugin-ptx@googlegroups.com [mailto:hugin-
 p...@googlegroups.com]
   On Behalf Of hbl
   Sent: Monday, July 06, 2009 2:10 PM
   To: hugin and other free panoramic software
   Subject: [hugin-ptx] Results for Ryan Sleevi SVN 0,8,0,3980
 
   Test results forhttp://ryan.sleevi.com/files/hugin-0.8.0-3980.exe
 
   The application is halted by DEP the moment the Fast Panorama
 Preview
   window opens (thread 0x1574).  Diagnostic data follows:
 
   
 
   Product
   hugin.exe
 
   Problem
   Stopped working
 
   Date
   7/6/2009 12:50 PM
 
   Status
   Report Sent
 
   Problem signature
   Problem Event Name:        BEX
   Application Name:  hugin.exe
   Application Version:       0.0.0.0
   Application Timestamp:     4a4c2d02
   Fault Module Name: StackHash_d34b
   Fault Module Version:      0.0.0.0
   Fault Module Timestamp:    
   Exception Offset:  06c50840
   Exception Code:    c005
   Exception Data:    0008
   OS Version:        6.0.6002.2.2.0.768.3
   Locale ID: 1033
   Additional Information 1:  d34b
   Additional Information 2:  20752c25712bf3f7bc825928e900516d
   Additional Information 3:  cec3
   Additional Information 4:  8f23bb82232ba5bb3e019c420185df34
 
   Extra information about the problem
   Bucket ID: 635354591
 
   =
   'hugin.exe': Loaded 'C:\Program Files\Hugin\bin\hugin.exe'
   'hugin.exe': Loaded 'C:\Windows\System32\ntdll.dll'
   'hugin.exe': Loaded 'C:\Windows\System32\kernel32.dll'
   'hugin.exe': Loaded 'C:\Windows\System32\user32.dll'
   'hugin.exe': Loaded 'C:\Windows\System32\gdi32.dll'
   'hugin.exe': Loaded 'C:\Windows\System32\advapi32.dll'
   'hugin.exe': Loaded 'C:\Windows\System32\rpcrt4.dll'
   'hugin.exe': Loaded 'C:\Windows\System32\opengl32.dll'
   'hugin.exe': Loaded 'C:\Windows

[hugin-ptx] Re: can not find the file(enblend/INSTALLDIR )

2009-07-05 Thread Ryan Sleevi

Enblend/Enfuse don't use the CMAKE-based system that Autopano-sift-c and
Hugin use.

As a result, binaries are not deployed into an INSTALLDIR location. Instead,
once compiled, they are typically located in
enblend-enfuse-3.2-dir\src\Debug and enblend-enfuse-3.2-dir\src\Release ,
where enblend-enfuse-3.2-dir is the directory where you deployed the
enblend-enfuse-3.2 sources.

Are you having trouble with the CMAKE file for Hugin locating these files,
or were they just not where you expected them to be?

 -Original Message-
 From: hugin-ptx@googlegroups.com [mailto:hugin-...@googlegroups.com] On
 Behalf Of Dex
 Sent: Sunday, July 05, 2009 3:18 PM
 To: hugin and other free panoramic software
 Subject: [hugin-ptx] can not find the file(enblend/INSTALLDIR )
 
 
 Hi all!
 
 I have tried to build enblend on Windows according to
 http://wiki.panotools.org/Build_Hugin_for_Windows_with_SDK
 but I am experiencing problems.
 
 
 2Linking...
 2Generating code
 2d:\panorama\huginbase\enblend\src\mask.h(117) : warning C4756:
 overflow in constant arithmetic
 2d:\panorama\huginbase\enblend\src\mask.h(117) : warning C4756:
 overflow in constant arithmetic
 2d:\panorama\huginbase\enblend\src\mask.h(694) : warning C4756:
 overflow in constant arithmetic
 2d:\panorama\huginbase\enblend\src\mask.h(694) : warning C4756:
 overflow in constant arithmetic
 2Finished generating code
 2Embedding manifest...
 2Build log was saved at file://d:\panorama\huginbase\enblend\src
 \Release\BuildLog.htm
 2enblend - 0 error(s), 15 warning(s)
 == Rebuild All: 2 succeeded, 0 failed, 0 skipped ==
 
 
 but i can not find the file enblend/INSTALLDIR
 
 
 
 

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
hugin and other free panoramic software group.
A list of frequently asked questions is available at: 
http://wiki.panotools.org/Hugin_FAQ
To post to this group, send email to hugin-ptx@googlegroups.com
To unsubscribe from this group, send email to 
hugin-ptx-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/hugin-ptx
-~--~~~~--~~--~--~---



[hugin-ptx] Re: hugin installer for Windows Vista SVN 3975

2009-07-02 Thread Ryan Sleevi

Only if you like debugging Windows ;)

What I meant by DEP being more headache is that there are any number of
reasons that DEP can be triggered independent of Hugin, so it may not be a
legitimate bug.

An example to illustrate this (with all of its frustration) is some recent
heartache I had with a certain laptop manufacturer that sounds like Bell
and the drivers they supplied for the built-in biometric device. The
security functions of the drivers ended up hooking into several Windows
API calls for filesystem access (yes, you can do this, and there are a
number of legitimate reasons - most popular being anti-virus/security
products). Unfortunately, these drivers had a bug (if we count suck as a
bug) and it had a huge negative impact on my system performance.

Compiling one of the projects I work on, which has thousands of files and
hundreds of thousands LOC took almost 100x longer than normal, and
eventually failed, because there was a leak in the drivers. A quick
uninstall, and my system was back to screaming performance.

Consider then, the situation if these drivers had a buffer underrun/overrun.
In Windows, the DEP exception would be triggered, and it would work its way
up to the stack, finally into the application that made the OS call (which
it didn't know was being hooked by the buggy app). That app would then
terminate, with the user being told it was that app that was buggy.

I wish I could say situations like this are uncommon, but I see regularly
applications that instill themselves into critical locations (shell
handlers, API hooks, control panel drivers) that are buggy, and because of
how the exception works its way up the chain, it ends up crashing a
perfectly benign application (as it cannot control for those crashes).

That's just the frame of mind I'm in with regards to researching this, is
that past experience, especially with DEP, by no means signifies a bug in
Hugin necessarily. While still worth investigating, I would not think this
bug (especially with the difficulty reproducing) should be considered a
'block' in any means.

Cheers,
Ryan

 -Original Message-
 From: hugin-ptx@googlegroups.com [mailto:hugin-...@googlegroups.com] On
 Behalf Of Yuval Levy
 Sent: Thursday, July 02, 2009 4:01 PM
 To: hugin-ptx@googlegroups.com
 Subject: [hugin-ptx] Re: hugin installer for Windows Vista SVN 3975
 
 
 Hi Ryan,
 
 ryan+hu...@sleevi.com wrote:
  To be fair, DEP has caused me more headache than it's worth,
 simply
  because the sheer number of buggy programs out there.
 
 in this case DEP may prove to be a debugging tool :)
 
 honestly I don't think that researching DEP is of any help in his
 context. If DEP had not caught the buffer overflow, it may have gone
 unnoticed for a longer while. We have an issue to take care of in the
 Hugin codebase or in an SDK component. Once it will be fixed it won't
 be
 relevant to DEP anymore.
 
 Yuv
 
 

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
hugin and other free panoramic software group.
A list of frequently asked questions is available at: 
http://wiki.panotools.org/Hugin_FAQ
To post to this group, send email to hugin-ptx@googlegroups.com
To unsubscribe from this group, send email to 
hugin-ptx-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/hugin-ptx
-~--~~~~--~~--~--~---



[hugin-ptx] Re: hugin installer for Windows Vista SVN 3975

2009-07-01 Thread Ryan Sleevi

Howard,

I've enabled DEP on my system, and the programs I know to have
trouble do properly report BEX errors, so I know DEP is getting raised
appropriately. I've also confirmed with wmic that all the settings reflect
its enabled, with a value of True, 3, as you did.

I went ahead and built a binary based on the latest SVN (for native
x64), through the full build process, including the installer. I opted for
x64 since, as noted in the Microsoft KB article and the prior e-mail, always
good to match platform and application.

I've tried several scenarios, loading old projects, TIFFs and JPGs,
etc, and had no problem. Certainly, there are a lot of variables at play
here, so it may take some time to isolate. In the mean time, I'd suggest
following Yuval's directions of trying the last 'certified' version, in
attempt to find the basement on when this issue might have first been
introduced. This should be fairly easy and non-invasive.

What I'd like to try as a next step, as a means of hopefully getting
more information, is getting a crashdump from you when a DEP error has been
raised.

It's been a while since I've had to do it by hand (tend to use
API-based hooks to catch when an application crashes), so I hope you'll bear
with me if I direct you down the wrong path once or twice. Since you
mentioned Vista, the following KB article may help:
http://support.microsoft.com/kb/931673

Since I don't have the symbols Ad used for his installer, I'll be
mailing you off-list a 32-bit based version on the latest SVN that I'll
compile locally. This will ensure I have the necessary debug symbol files to
wind through the stack. If this is a concern for you, we can work off-list
on directing the necessary compilation steps, just be aware that it's not
uncommon for symbols to reach hundreds of megs for large projects.

Once you've gotten the new setup binary and everything is installed,
when you get an application crash (eg: due to DEP), see if you can follow
the directions of Method 1 as a means to intercept the crash. Once you have
that crash (located in the path specified), can you attach it and e-mail it
to me off-list? I'm not sure the default settings of Vista for creating
crashes, but a simple Crashdump of Notepad is around 50 megs. If it's too
large to e-mail, we can work off-list on a transfer mechanism. By all means,
compress compress compress! If you're unable to generate a crashdump once
it's raised a DEP error, let me know, and I'll see further if I can
investigate.

For those following on-list, especially Bruno, if a final 'formal'
Win32 build is released, it might help to keep the symbol files around.
Certainly users can build their own binaries, preserve the symbol files, and
debug themselves, but given how most Windows users aren't necessarily handy
with compiling and debugging their software, it may be helpful for some of
the weird bugs that remain post-release (as I recall, there are a few
mystery ones out there affecting Windows users)

Ryan

 -Original Message-
 From: hugin-ptx@googlegroups.com [mailto:hugin-...@googlegroups.com] On
 Behalf Of hbl
 Sent: Wednesday, July 01, 2009 9:02 PM
 To: hugin and other free panoramic software
 Subject: [hugin-ptx] Re: hugin installer for Windows Vista SVN 3975
 
 
 Thanks for checking in, Ryan.  My notebook has the 32-bit version of
 Vista Home Premium.  I suspect hardware detection is on as I have
 turned off sw detection using bcdedit.
 
 On hardware enforcement, I get True, 3.
 
 On Jul 1, 7:38 pm, ryan+hu...@sleevi.com wrote:
  Howard,
 
          Would you mind
 checkinghttp://support.microsoft.com/kb/912923and
  reporting back a bit more about the values from WMIC?
 
          I'm hoping to identify:
                  1) Are you using hardware-enforced DEP?
                  2) What the current value is for the Windows
 enforcement of
  it
                  3) Any possible hardware switches (Note the last line
 of
  Method 1)
 
          In addition to the information wmic will provide, can you
 also tell
  me:
                  1) Which mobel Toshiba laptop (Trying to understand
  processor architecture)
                  2) What version of Windows you're running (Full
 version
  string of major/minor/build + 32 bit or 64-bit)
 
          If I followed the thread correctly, I understand you can and
 have
  compiled your own versions. If you are running on a 64-bit platform
 with a
  64-bit OS, are you compiling 64-bit Windows binaries or the default
 32-bit
  ones? I'm suspecting based on your description that you're on 32-bit
 and
  running 32-bit, I just wanted to make sure, since DEP can get weird
 when
  there are mismatches.
 
          To be fair, DEP has caused me more headache than it's worth,
 simply
  because the sheer number of buggy programs out there. It's a trade-
 off
  between hard crashes (because of the NX bit being triggered) or soft
 crahses
  + potential security 

RE: hugin-mac-0.8 RC1: enblend compiled against dmalloc (was: [hugin-ptx] Alpha Channel Masking)

2009-05-11 Thread Ryan Sleevi

Just an update. I was the one who contacted George about getting the sample
files. I've done the merge several times to make sure it wasn't tester
error, with both x64 and win32 versions. The x64 I made by hand, while the
win32 versions I used from Ad's most recent weekly installer build. Both
successfully executed a number of test cases without any errors. I've tried
without specifying -m, by specifying -m 1024, -m 2048, and (for the x64
build) -m 4096.

Having looked at the strace, it looks like the place where things start to
get all crazy is right near/after
vigra::CachedFileImagePIXELTYPE::swapOutBlock() /
vigra::CachedFileImagePIXELTYPE::getLinePointerCacheMiss() /
vigra::CachedFileImagePIXELTYPE::initTmpFile()

It should be noted that these methods have different code paths depending on
if they're running on Win32 or not (per the ifdef), so that may be related
to why I'm unable to reproduce it.

If someone who is building binaries wants to strip out some of the comments
in those functions, which should increase the debug chatter, it might help.
Then again, I could be totally off here as to where the real error is. 

If I were a betting man/a man prone to donning tinfoil hats (which I am...),
I'd be curious to check out getLinePointerCacheMiss(), and the variables
blockNumber, firstLineInBlock, numLinesInBlock, and pixelsToRead. If there
somehow ended up some over/underflow errors there, and if
(blockInFile_[blockNumber]) returned false, then std::uninitialized_fill_n
ends up getting called. n, in this case, is pixelsToRead. The result *could*
be what is described here, in that it then goes buck-wild on allocation.

Judging by the number of calls to brk (12679, give or take a few), I'd set a
watchpoint around that code, and see if anything gets crazy. That's just my
guess :) It wouldn't hurt for somebody to cout some debug spam for those
variables and rebuild enblend/enfuse, if attaching gdb is too much of a
pain.

For those following, the calls to brk/mmap come from dmalloc, specifically
heap.c, under heap_extend. I'm guessing this is being called by the
uninitialized_fill_n (STLPort - _unitialized.h - __uninitialized_fill_n -
__ufill_n), which is calling the constructor of PIXELTYPE to initialize the
pixels (_construct.h - _Param_Construct - _Param_Construct_aux)

 -Original Message-
 From: hugin-ptx@googlegroups.com [mailto:hugin-...@googlegroups.com] On
 Behalf Of grow
 Sent: Monday, May 11, 2009 4:15 PM
 To: hugin and other free panoramic software
 Subject: Re: hugin-mac-0.8 RC1: enblend compiled against dmalloc (was:
 [hugin-ptx] Alpha Channel Masking)
 
 
 Harry,
 
 My Mac is an old twin processor G5 with 5.5Gb of RAM. So it has the
 potential for 64 bit operation.  But it is still running MacOSX
 10.4.11
 
 I have the disc here for 10.5 and have been meaning to install it for
 some time ... but have not yet got around to it.
 
 This might just be the incentive I have needed to get 10.5 installed
 - but the weather here is good and  I am  on an outdoor  photo shoot
 tomorrow and Wednesday so ... it will probably be the weekend before
 any software installation happens.
 
 all the best
 
 George
 
 On May 11, 7:28 pm, Harry van der Wolf hvdw...@gmail.com wrote:
  George and others,
 
  There are two options to try 64bit on OSX
  *Option 1*: (Download again and) use the official 0.7.0 version from
  sourceforge. That one is a 32bit/64bit version. A G5 is a 64bit
 machine (the
  only ppc 64bit machine). However, it will only work as 64bit* if you
 have
  Leopard!* Tiger is only 32bit, no matter which platform you run it
 on.
  Every Intel core2 or newer is 64bit. With Leopard that will enable
 64bit
  applications.
 
  *Option 2:*
  On my website you can still find the 64bit stand-alone enblend
 version from
  svn 3176 http://panorama.dyndns.org/download.php?id=241.
  If you download that one and copy it in the latest build, you could
 try that
  one too.
  (Actually the only binary that really benefits from 64bit is enblend,
 so you
  might give that a try)
 
  To get it in one of the latest hugin.app's do the following:
  - right-click (ctrl-click) the Hugin.app. Select Show package
 content from
  the popup.
  - Move down into Contents - Resources
  There you will find HuginStichProject.app.
  - Right-click (ctrl-click) the HuginStichProject.app and select again
 Show
  package content.
  - Move down into Contents - MacOS.
  Copy the downloaded 64bit enblend over that existing enblend.
  *Note: Again, only within Leopard and only on G5 or Intel Core2 (or
 newer)
  64bit applications will run as 64bit*
 
  Note 2: The malloc libs on Leopard are 32bit/64bit libraries. In
 combination
  with a 64bit enblend (on Leopard) it will run in 64bit mode.
 
  Harry
 
  2009/5/11 grow george...@gmail.com
 
 
 
   Hi Folks,
 
   Another person  - Ryan  - downloaded the problematic project and
 ran
   it on a 64 bit Windows system and it worked!.
   He had also added options:
            -v - v