text: Ticket #16378 (closed enhancement: fixed)
  boost-1.36
  Description
  Attached is an updated port file for boost 1.36 (came out earlier this month). I didn't have time to turn it into a diff. Note that files/patch-boost-serialization-utility.hpp and files/patch-boost-serialization-utility.hpp are no longer necessary.
  Attachments
  Change History
  comment:1 Changed 8 years ago by sanchom@…
  Thanks for doing this!
  I see you appended a patchfile 'patch-configure'. Since you also removed the line that adds the patch file 'patch-build-type-Jamroot', I assume 'patch-configure' is doing the job that 'patch-build-type-Jamroot' used to do?
  Could you please attach 'patch-configure'?
  comment:2 Changed 8 years ago by andrew@…
  I'm really, really starting to hate the boost build system.
  I use MPI a lot, and need gcc43. So... build openmpi with gcc43... and try to integrate with boost. BLECH.
  I believe the attached diff works... libs seem to build properly...
  (Notice that some of the patch files are no longer needed... I verified them in the boost distribution...)
  comment:3 Changed 8 years ago by andrew@…
  Okay - mpi + python breaks the install. DAMN. Also, linking seems to have gone wonky.
  Might be best to remove the gcc42 and gcc43 variants for now.
  Yep, I definitely HATE boost.build.
  (FYI - building MPI + python creates two "mpi.so" files - one multithreaded, the other not, both of which conflict in name during the install, that need to go in the correct python2.? site-packages directory, with install_name_tool mangling...)
  Yep - really, really hate boost.build. Sorry for the noise.
  comment:4 Changed 8 years ago by andrew@…
  Okay - I've tested my "Portfile.diff" set, and the compilation with gcc43 works just fine. However, there is yet-another bug in the jam install when using the macports gcc43 variant. The problems are two-fold:
  - Two variants of python's "mpi.so" are built, one "release", the other multi-threaded. I have no idea how different they really are, under Darwin. However, boost's installer gets confused because now we have two libraries with the same name.
  - If you delete one (or both) of these "mpi.so" files to allow the installer to complete, it dies on on internal error that, frankly, I can't diagnose.
  No, I'm not writing a custom toolset description for jam - too much time, and I'm not smart enough to do it.
  Would it be worthwhile adding a proper "install it" script that would handle staging to the destroot, fixing library install names, and all that stuff? Doing it in the portfile is crazy. Criminey!
  (Sorry to sound so frustrated, but building 4000+ files to use MPI and experiment with python is starting to wear me down...)
  comment:5 follow-up: ↓ 6 Changed 8 years ago by andrew@…
  Okay. After much recompiling, I've got openmpi + python compiling and installing. You can't use boost's internal "make install" because, well, it is broken, and sucks. (Can't handle the fact that there are two "mpi.so" objects, etc. Of course, on darwin there is no difference between "normal" and "mt" builds...
  After all that effort, it appears that mpi+python is broken, at least on OS X. See this comment.
  If you type
  python2.5 test.py
  where 'test.py' has
  import mpi print "I am process %d of %d." % (mpi.rank, mpi.size)
  you get
  Fatal Python error: Interpreter not initialized (version mismatch?) Abort trap
  So, I've googled around, and that python error appears when you're mixing python versions (or debug/release versions) or using python built with a different compiler...
  Take a look at the "python.log" file (attached)... it appears from the ktrace that all the right python bits are being loaded.
  I give up. I curse boost build tools. I curse boost libraries. The headers are wonderful... but ARGH!
  (The Portfile.diff I submitted has been updated.)
  Changed 8 years ago by andrew@…
  - Attachment Portfile.diff added
  version bump to 1.36.0, added gcc43 and gcc42 variants, uses internal install
  Changed 8 years ago by andrew@…
  - Attachment python.log added
  kdump NAMI log of python2.5 + openmpi
  comment:6 in reply to: ↑ 5 Changed 8 years ago by blb@…
  comment:7 Changed 8 years ago by blair@…
  I'll be needing 1.36.0 very soon.
  Can you also look at incorporating these hotfixes in the build:
  Thanks, Blair
  comment:10 Changed 8 years ago by andi@…
  - Cc andi@… added
  Cc Me!
  comment:11 Changed 8 years ago by andrea.bedini@…
  - Cc andrea.bedini@… added
  Cc Me!
  comment:12 Changed 8 years ago by arsptr@…
  - Cc arsptr@… added
  Cc Me!
  comment:13 Changed 8 years ago by mcalhoun@…
  Attached is my attempt at boost version 1.36.
  I put back the zlib and bzip2 dependencies, which were
  removed in r34913.
  The reason for the removal
  Error: Target org.macports.destroot returned: no files matched glob pattern "*-1_35.dylib"
  was fixed by setting the environment variables in destroot.env as well as build.env.
  I do not see two versions of mpi.so, which is good, and the correct answer is given by:
  /opt/local/bin/python -c 'import mpi; print "I am process %d of %d." % (mpi.rank, mpi.size)'
  comment:14 Changed 8 years ago by mcalhoun@…
  - Cc mcalhoun@… added
  Cc Me!
  Changed 8 years ago by mcalhoun@…
  - Attachment Portfile.2.diff added
  comment:15 Changed 7 years ago by mcalhoun@…
  comment:16 Changed 7 years ago by sanchom@…
  Agree. This should be closed. Also, I'm active again.
  comment:17 Changed 7 years ago by mcalhoun@…
  - Status changed from new to closed
  - Resolution set to fixed
  comment:18 Changed 7 years ago by anonymous
  - Milestone Port Enhancements deleted
  Milestone Port Enhancements deleted
  updated Portfile