#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)
Change History (16)
comment:1 Changed 17 years ago by piotr@…
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: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@…
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: | new → closed |
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: | High → Normal |
---|
aj, monotone does not yet compile after the symlink, but it gets past the configure fase.