Opened 17 years ago

Closed 17 years ago

Last modified 15 years ago

#12131 closed defect (fixed)

monotone does not compile since new boost

Reported by: piotr@… Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version: 1.4.42
Keywords: boost monotone Cc: piotr@…, ryandesign (Ryan Carsten Schmidt), sanchom (Sancho McCann)
Port:

Description

Hi,

Since boost is updated to 1.34.0 monotone does not work anymore:

$ mtn
dyld: Library not loaded: /opt/local/lib/libboost_regex-1_33_1.dylib
  Referenced from: /opt/local/bin/mtn
  Reason: image not found
Trace/BPT trap

I tried to recompile monotone but it failed on configure:

<skip>
checking boost version 1.32.0 or newer... no
configure: error: boost 1.32.0 or newer required

Error: Status 1 encountered during processing.

The config.log contains:

conftest.cpp:1:29: error: boost/version.hpp: No such file or directory
conftest.cpp:5:4: error: #error boost version is too old

My system doesn't have a <boost/version.hpp> but does has /opt/local/include/boost-1_34/boost/version.hpp

I needed to make a symlink to get monotone compiled:

sudo ln -s /opt/local/include/boost-1_34/boost/ /opt/local/include/boost

Attachments (4)

Portfile (1.4 KB) - added by michal.roszka@… 17 years ago.
Portfile for Monotone 0.35 which fixes the issue.
Portfile.2 (1.4 KB) - added by michal.roszka@… 17 years ago.
Portfile: monotone 0.35, revision 1.
monotone-portfile.diff (1.2 KB) - added by ryandesign (Ryan Carsten Schmidt) 17 years ago.
monotone-portfile.2.diff (1.4 KB) - added by ryandesign (Ryan Carsten Schmidt) 17 years ago.
adds a comment explaining why the patchfile is there

Download all attachments as: .zip

Change History (16)

comment:1 Changed 17 years ago by piotr@…

aj, monotone does not yet compile after the symlink, but it gets past the configure fase.

comment:2 Changed 17 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: piotr@… ryandesign@… michal.roszka@… sanchom@… added

Since boost 1.34_1, we now create the symlink again. See #12110. Please upgrade to boost 1.34_1 and let us know if you still have this problem.

comment:3 Changed 17 years ago by piotr@…

Monotone doesn't compile. But now it's not caused by boost but a missing declaration of CHAR_BIT

$ sudo port -f install monotone
--->  Fetching monotone
--->  Verifying checksum(s) for monotone
--->  Extracting monotone
--->  Configuring monotone
--->  Building monotone with target all
Error: Target com.apple.build returned: shell command " cd "/opt/local/var/db/dports/build/_opt_local_var_db_dports_sources_rsync.rsync.darwinports.org_dpupdate_dports_devel_monotone/work/monotone-0.35" && make all " returned error 2
Command output: then mv -f ".deps/mtn-cmd_files.Tpo" ".deps/mtn-cmd_files.Po"; else rm -f ".deps/mtn-cmd_files.Tpo"; exit 1; fi
if g++ -DLOCALEDIR=\"/opt/local/share/locale\" -DHAVE_CONFIG_H -I. -I. -I.  -I./lua -I./sqlite -I/opt/local/include  -DNDEBUG -DBOOST_DISABLE_THREADS -DBOOST_SP_DISABLE_THREADS -DBOOST_MULTI_INDEX_DISABLE_SERIALIZATION   -O2 -Wall -W -Wno-unused -fno-strict-aliasing -MT mtn-diff_patch.o -MD -MP -MF ".deps/mtn-diff_patch.Tpo" -c -o mtn-diff_patch.o `test -f 'diff_patch.cc' || echo './'`diff_patch.cc; \
then mv -f ".deps/mtn-diff_patch.Tpo" ".deps/mtn-diff_patch.Po"; else rm -f ".deps/mtn-diff_patch.Tpo"; exit 1; fi
if g++ -DLOCALEDIR=\"/opt/local/share/locale\" -DHAVE_CONFIG_H -I. -I. -I.  -I./lua -I./sqlite -I/opt/local/include  -DNDEBUG -DBOOST_DISABLE_THREADS -DBOOST_SP_DISABLE_THREADS -DBOOST_MULTI_INDEX_DISABLE_SERIALIZATION   -O2 -Wall -W -Wno-unused -fno-strict-aliasing -MT mtn-lua_hooks.o -MD -MP -MF ".deps/mtn-lua_hooks.Tpo" -c -o mtn-lua_hooks.o `test -f 'lua_hooks.cc' || echo './'`lua_hooks.cc; \
then mv -f ".deps/mtn-lua_hooks.Tpo" ".deps/mtn-lua_hooks.Po"; else rm -f ".deps/mtn-lua_hooks.Tpo"; exit 1; fi
if g++ -DLOCALEDIR=\"/opt/local/share/locale\" -DHAVE_CONFIG_H -I. -I. -I.  -I./lua -I./sqlite -I/opt/local/include  -DNDEBUG -DBOOST_DISABLE_THREADS -DBOOST_SP_DISABLE_THREADS -DBOOST_MULTI_INDEX_DISABLE_SERIALIZATION   -O2 -Wall -W -Wno-unused -fno-strict-aliasing -MT mtn-transforms.o -MD -MP -MF ".deps/mtn-transforms.Tpo" -c -o mtn-transforms.o `test -f 'transforms.cc' || echo './'`transforms.cc; \
then mv -f ".deps/mtn-transforms.Tpo" ".deps/mtn-transforms.Po"; else rm -f ".deps/mtn-transforms.Tpo"; exit 1; fi
if g++ -DLOCALEDIR=\"/opt/local/share/locale\" -DHAVE_CONFIG_H -I. -I. -I.  -I./lua -I./sqlite -I/opt/local/include  -DNDEBUG -DBOOST_DISABLE_THREADS -DBOOST_SP_DISABLE_THREADS -DBOOST_MULTI_INDEX_DISABLE_SERIALIZATION   -O2 -Wall -W -Wno-unused -fno-strict-aliasing -MT mtn-update.o -MD -MP -MF ".deps/mtn-update.Tpo" -c -o mtn-update.o `test -f 'update.cc' || echo './'`update.cc; \
then mv -f ".deps/mtn-update.Tpo" ".deps/mtn-update.Po"; else rm -f ".deps/mtn-update.Tpo"; exit 1; fi
if g++ -DLOCALEDIR=\"/opt/local/share/locale\" -DHAVE_CONFIG_H -I. -I. -I.  -I./lua -I./sqlite -I/opt/local/include  -DNDEBUG -DBOOST_DISABLE_THREADS -DBOOST_SP_DISABLE_THREADS -DBOOST_MULTI_INDEX_DISABLE_SERIALIZATION   -O2 -Wall -W -Wno-unused -fno-strict-aliasing -MT mtn-work.o -MD -MP -MF ".deps/mtn-work.Tpo" -c -o mtn-work.o `test -f 'work.cc' || echo './'`work.cc; \
then mv -f ".deps/mtn-work.Tpo" ".deps/mtn-work.Po"; else rm -f ".deps/mtn-work.Tpo"; exit 1; fi
if g++ -DLOCALEDIR=\"/opt/local/share/locale\" -DHAVE_CONFIG_H -I. -I. -I.  -I./lua -I./sqlite -I/opt/local/include  -DNDEBUG -DBOOST_DISABLE_THREADS -DBOOST_SP_DISABLE_THREADS -DBOOST_MULTI_INDEX_DISABLE_SERIALIZATION   -O2 -Wall -W -Wno-unused -fno-strict-aliasing -MT mtn-work_migration.o -MD -MP -MF ".deps/mtn-work_migration.Tpo" -c -o mtn-work_migration.o `test -f 'work_migration.cc' || echo './'`work_migration.cc; \
then mv -f ".deps/mtn-work_migration.Tpo" ".deps/mtn-work_migration.Po"; else rm -f ".deps/mtn-work_migration.Tpo"; exit 1; fi
if g++ -DLOCALEDIR=\"/opt/local/share/locale\" -DHAVE_CONFIG_H -I. -I. -I.  -I./lua -I./sqlite -I/opt/local/include  -DNDEBUG -DBOOST_DISABLE_THREADS -DBOOST_SP_DISABLE_THREADS -DBOOST_MULTI_INDEX_DISABLE_SERIALIZATION   -O2 -Wall -W -Wno-unused -fno-strict-aliasing -MT mtn-cert.o -MD -MP -MF ".deps/mtn-cert.Tpo" -c -o mtn-cert.o `test -f 'cert.cc' || echo './'`cert.cc; \
then mv -f ".deps/mtn-cert.Tpo" ".deps/mtn-cert.Po"; else rm -f ".deps/mtn-cert.Tpo"; exit 1; fi
if g++ -DLOCALEDIR=\"/opt/local/share/locale\" -DHAVE_CONFIG_H -I. -I. -I.  -I./lua -I./sqlite -I/opt/local/include  -DNDEBUG -DBOOST_DISABLE_THREADS -DBOOST_SP_DISABLE_THREADS -DBOOST_MULTI_INDEX_DISABLE_SERIALIZATION   -O2 -Wall -W -Wno-unused -fno-strict-aliasing -MT mtn-project.o -MD -MP -MF ".deps/mtn-project.Tpo" -c -o mtn-project.o `test -f 'project.cc' || echo './'`project.cc; \
then mv -f ".deps/mtn-project.Tpo" ".deps/mtn-project.Po"; else rm -f ".deps/mtn-project.Tpo"; exit 1; fi
if g++ -DLOCALEDIR=\"/opt/local/share/locale\" -DHAVE_CONFIG_H -I. -I. -I.  -I./lua -I./sqlite -I/opt/local/include  -DNDEBUG -DBOOST_DISABLE_THREADS -DBOOST_SP_DISABLE_THREADS -DBOOST_MULTI_INDEX_DISABLE_SERIALIZATION   -O2 -Wall -W -Wno-unused -fno-strict-aliasing -MT mtn-outdated_indicator.o -MD -MP -MF ".deps/mtn-outdated_indicator.Tpo" -c -o mtn-outdated_indicator.o `test -f 'outdated_indicator.cc' || echo './'`outdated_indicator.cc; \
then mv -f ".deps/mtn-outdated_indicator.Tpo" ".deps/mtn-outdated_indicator.Po"; else rm -f ".deps/mtn-outdated_indicator.Tpo"; exit 1; fi
if g++ -DLOCALEDIR=\"/opt/local/share/locale\" -DHAVE_CONFIG_H -I. -I. -I.  -I./lua -I./sqlite -I/opt/local/include  -DNDEBUG -DBOOST_DISABLE_THREADS -DBOOST_SP_DISABLE_THREADS -DBOOST_MULTI_INDEX_DISABLE_SERIALIZATION   -O2 -Wall -W -Wno-unused -fno-strict-aliasing -MT mtn-database.o -MD -MP -MF ".deps/mtn-database.Tpo" -c -o mtn-database.o `test -f 'database.cc' || echo './'`database.cc; \
then mv -f ".deps/mtn-database.Tpo" ".deps/mtn-database.Po"; else rm -f ".deps/mtn-database.Tpo"; exit 1; fi
if g++ -DLOCALEDIR=\"/opt/local/share/locale\" -DHAVE_CONFIG_H -I. -I. -I.  -I./lua -I./sqlite -I/opt/local/include  -DNDEBUG -DBOOST_DISABLE_THREADS -DBOOST_SP_DISABLE_THREADS -DBOOST_MULTI_INDEX_DISABLE_SERIALIZATION   -O2 -Wall -W -Wno-unused -fno-strict-aliasing -MT mtn-key_store.o -MD -MP -MF ".deps/mtn-key_store.Tpo" -c -o mtn-key_store.o `test -f 'key_store.cc' || echo './'`key_store.cc; \
then mv -f ".deps/mtn-key_store.Tpo" ".deps/mtn-key_store.Po"; else rm -f ".deps/mtn-key_store.Tpo"; exit 1; fi
if g++ -DLOCALEDIR=\"/opt/local/share/locale\" -DHAVE_CONFIG_H -I. -I. -I.  -I./lua -I./sqlite -I/opt/local/include  -DNDEBUG -DBOOST_DISABLE_THREADS -DBOOST_SP_DISABLE_THREADS -DBOOST_MULTI_INDEX_DISABLE_SERIALIZATION   -O2 -Wall -W -Wno-unused -fno-strict-aliasing -MT mtn-ssh_agent.o -MD -MP -MF ".deps/mtn-ssh_agent.Tpo" -c -o mtn-ssh_agent.o `test -f 'ssh_agent.cc' || echo './'`ssh_agent.cc; \
then mv -f ".deps/mtn-ssh_agent.Tpo" ".deps/mtn-ssh_agent.Po"; else rm -f ".deps/mtn-ssh_agent.Tpo"; exit 1; fi
numeric_vocab.hh:25: error: 'CHAR_BIT' was not declared in this scope
numeric_vocab.hh:25: error: template argument 1 is invalid
make[2]: *** [mtn-ssh_agent.o] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

Error: Status 1 encountered during processing.

comment:4 Changed 17 years ago by sanchom (Sancho McCann)

CHAR_BIT is defined in <climits>. If you #include <climits> in numeric_vocab.hh, it might solve the problem. There's a thread here: http://bugs.archlinux.org/task/7217 that talks about this too.

Sancho

comment:5 Changed 17 years ago by piotr@…

That fixes the problem Sancho. thnx

comment:6 Changed 17 years ago by luke-macports@…

Thanks, this helped for me as well. #12328 should be marked (and closed) duplicate of this.

comment:7 Changed 17 years ago by michal.roszka@…

I am very sorry for the delay in taking care of this issue. I have been either dead busy or just away from keyboard. As porting applications is not my ninja skill (at least at the moment :) ), it took a while for me to learn some new things and put them all together. Thank you so much for the clues.

So I have made a patch that can be downloaded by MacPorts (linked below) and updated the Portfile (which is attached). I believe I have done it in a correct way. However, I would appreciate if someone more experienced could take a look at this and give me any feedback.

http://roszka.pl/macports/monotone/0.35/patches/patch-numeric_vocab.hh

Changed 17 years ago by michal.roszka@…

Attachment: Portfile added

Portfile for Monotone 0.35 which fixes the issue.

comment:8 Changed 17 years ago by michal.roszka@…

I should have added the "revision" entry, should not I? Just in case, one more file.

Changed 17 years ago by michal.roszka@…

Attachment: Portfile.2 added

Portfile: monotone 0.35, revision 1.

comment:9 Changed 17 years ago by ryandesign (Ryan Carsten Schmidt)

Milestone: Port Bugs

I have some problems with your approach:

  • You have changed the whitespace of the entire portfile. This makes it difficult to see the functional changes you've made. Let's do whitespace changes separately.
  • You are hosting the patchfile on your own web site. Let's just make a files directory and include the patch in there.
  • You attached the complete portfile; it's easier to see what changes you're intending to make if you attach a diff.

Therefore I am attaching a diff which does these things:

  • Does not change the whitespace of the portfile. If you want whitespace changes, let's deal with them after we've dealt with the issue reported in this ticket.
  • Includes the patchfile in the files directory.
  • Changes "lib:XXX:boost" to "port:boost" for good measure.

Could someone please check whether this works correctly? If so, I'll be happy to commit it.

Changed 17 years ago by ryandesign (Ryan Carsten Schmidt)

Attachment: monotone-portfile.diff added

Changed 17 years ago by ryandesign (Ryan Carsten Schmidt)

Attachment: monotone-portfile.2.diff added

adds a comment explaining why the patchfile is there

comment:10 Changed 17 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: michal.roszka@… removed
Resolution: fixed
Status: newclosed

I'm sorry, this ticket seems to have gotten neglected, but the important points seem to have gotten taken care of:

  • In r27699 gwright added the patch to include climits in numeric_vocab.hh
  • In r27838 I added a comment to indicate why the patch was there
  • In r27839 I changed the boost dependency from lib:XXX:-style to port:-style
  • In r31008 saispo updated the port to 0.37 and commented out the reference to the patchfile
  • In r33357 I removed the unneeded patchfile and the commented-out references to it

comment:11 Changed 17 years ago by jmpp@…

Priority: HighNormal

comment:12 Changed 15 years ago by (none)

Milestone: Port Bugs

Milestone Port Bugs deleted

Note: See TracTickets for help on using tickets.