Bitcoin Forum
March 27, 2017, 03:02:08 AM *
News: Latest stable version of Bitcoin Core: 0.14.0  [Torrent]. (New!)
 
   Home   Help Search Donate Login Register  
Pages: [1]
  Print  
Author Topic: BUG FIX: compiling bitcoin against libboost 1.46 fails.  (Read 1299 times)
drgr33n
Sr. Member
****
Offline Offline

Activity: 266



View Profile
July 28, 2011, 04:37:09 PM
 #1

Hey guys,

It seems as native_file_string() has been replaced in the latest version of boost with string(). could someone please check this out and let me know how to proceed ? With the following patch the latest git version compiles with boost 1.46.

Here's a patch Cheesy

Code:
diff -rupN bitcoin-orig//src/ui.cpp bitcoin//src/ui.cpp
--- bitcoin-orig//src/ui.cpp 2011-07-28 16:40:27.650383395 +0000
+++ bitcoin//src/ui.cpp 2011-07-28 16:45:07.596883583 +0000
@@ -1807,7 +1807,7 @@ void SetStartOnSystemStartup(bool fAutoS
 {
     if (!fAutoStart)
     {
-        unlink(GetAutostartFilePath().native_file_string().c_str());
+        unlink(GetAutostartFilePath().string().c_str());
     }
     else
     {

EDIT:

Just tested and everything seems to work fine Cheesy
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
vector76
Member
**
Offline Offline

Activity: 70


View Profile
July 28, 2011, 07:21:13 PM
 #2

Looks like the new name for native_file_string() is file_string(). 

Found more info here:
http://www.boost.org/doc/libs/1_47_0/libs/filesystem/v2/doc/index.htm

They say boost supports both V2 and V3 during this transition period, and V3 is the default starting in 1.46.
drgr33n
Sr. Member
****
Offline Offline

Activity: 266



View Profile
July 28, 2011, 07:50:03 PM
 #3

Looks like the new name for native_file_string() is file_string().  

Found more info here:
http://www.boost.org/doc/libs/1_47_0/libs/filesystem/v2/doc/index.htm

They say boost supports both V2 and V3 during this transition period, and V3 is the default starting in 1.46.
I did read that too but didn't compile. then I read that it has changed again apparently ? When I changed to just string it compiled fine and worked like a charm.

Code:
dagr33nster@drgr33n:/# dpkg -l | grep boost
ii  libboost-date-time1.46-dev        1.46.1-6                                 set of date-time libraries based on generic programming concepts
ii  libboost-date-time1.46.1          1.46.1-6                                 set of date-time libraries based on generic programming concepts
ii  libboost-dev                      1.46.1.1                                 Boost C++ Libraries development files (default version)
ii  libboost-filesystem-dev           1.46.1.1                                 filesystem operations in C++ (default version)
ii  libboost-filesystem1.42.0         1.42.0-4+b1                              filesystem operations (portable paths, iteration over directories, etc) in C++
ii  libboost-filesystem1.46-dev       1.46.1-6                                 filesystem operations (portable paths, iteration over directories, etc) in C++
ii  libboost-filesystem1.46.1         1.46.1-6                                 filesystem operations (portable paths, iteration over directories, etc) in C++
ii  libboost-graph-parallel1.46-dev   1.46.1-6                                 generic graph components and algorithms in C++
ii  libboost-graph-parallel1.46.1     1.46.1-6                                 generic graph components and algorithms in C++
ii  libboost-graph1.46-dev            1.46.1-6                                 generic graph components and algorithms in C++
ii  libboost-graph1.46.1              1.46.1-6                                 generic graph components and algorithms in C++
ii  libboost-iostreams1.42.0          1.42.0-4+b1                              Boost.Iostreams Library
ii  libboost-iostreams1.46-dev        1.46.1-6                                 Boost.Iostreams Library development files
ii  libboost-iostreams1.46.1          1.46.1-6                                 Boost.Iostreams Library
ii  libboost-math1.46-dev             1.46.1-6                                 Boost.Math Library development files
ii  libboost-math1.46.1               1.46.1-6                                 Boost.Math Library
ii  libboost-mpi-python1.46-dev       1.46.1-6                                 C++ interface to the Message Passing Interface (MPI), Python Bindings
ii  libboost-mpi-python1.46.1         1.46.1-6                                 C++ interface to the Message Passing Interface (MPI), Python Bindings
ii  libboost-mpi1.46-dev              1.46.1-6                                 C++ interface to the Message Passing Interface (MPI)
ii  libboost-mpi1.46.1                1.46.1-6                                 C++ interface to the Message Passing Interface (MPI)
ii  libboost-program-options1.46-dev  1.46.1-6                                 program options library for C++
ii  libboost-program-options1.46.1    1.46.1-6                                 program options library for C++
ii  libboost-python1.46-dev           1.46.1-6                                 Boost.Python Library development files
ii  libboost-python1.46.1             1.46.1-6                                 Boost.Python Library
ii  libboost-random1.46-dev           1.46.1-6                                 Boost Random Number Library
ii  libboost-random1.46.1             1.46.1-6                                 Boost Random Number Library
ii  libboost-regex1.46-dev            1.46.1-6                                 regular expression library for C++
ii  libboost-regex1.46.1              1.46.1-6                                 regular expression library for C++
ii  libboost-serialization1.46-dev    1.46.1-6                                 serialization library for C++
ii  libboost-serialization1.46.1      1.46.1-6                                 serialization library for C++
ii  libboost-signals1.46-dev          1.46.1-6                                 managed signals and slots library for C++
ii  libboost-signals1.46.1            1.46.1-6                                 managed signals and slots library for C++
ii  libboost-system1.42.0             1.42.0-4+b1                              Operating system (e.g. diagnostics support) library
ii  libboost-system1.46-dev           1.46.1-6                                 Operating system (e.g. diagnostics support) library
ii  libboost-system1.46.1             1.46.1-6                                 Operating system (e.g. diagnostics support) library
ii  libboost-test1.46-dev             1.46.1-6                                 components for writing and executing test suites
ii  libboost-test1.46.1               1.46.1-6                                 components for writing and executing test suites
ii  libboost-thread1.46-dev           1.46.1-6                                 portable C++ multi-threading
ii  libboost-thread1.46.1             1.46.1-6                                 portable C++ multi-threading
ii  libboost-wave1.46-dev             1.46.1-6                                 C99/C++ preprocessor library
ii  libboost-wave1.46.1               1.46.1-6                                 C99/C++ preprocessor library
ii  libboost1.46-all-dev              1.46.1-6                                 Boost C++ Libraries development files (ALL)
ii  libboost1.46-dev                  1.46.1-6                                 Boost C++ Libraries development files
vector76
Member
**
Offline Offline

Activity: 70


View Profile
July 28, 2011, 08:25:08 PM
 #4

Oh interesting.

A little more digging and I found this:
http://www.boost.org/doc/libs/1_47_0/libs/filesystem/v3/doc/reference.html#path-deprecated-functions

I guess you probably found it also but posting here since it takes some searching to find it.

Not sure what the difference is between native_string() and string().  I'm unfamiliar with the documentation structure and I got lost trying to find the specifics on those functions.  But it does seem like string() is the one they want you to use.
drgr33n
Sr. Member
****
Offline Offline

Activity: 266



View Profile
July 28, 2011, 11:18:25 PM
 #5

Oh interesting.

A little more digging and I found this:
http://www.boost.org/doc/libs/1_47_0/libs/filesystem/v3/doc/reference.html#path-deprecated-functions

I guess you probably found it also but posting here since it takes some searching to find it.

Not sure what the difference is between native_string() and string().  I'm unfamiliar with the documentation structure and I got lost trying to find the specifics on those functions.  But it does seem like string() is the one they want you to use.

I don;t know who I would speak to about getting this fixed in the git version ? or weather the have left it like that for backward compatibility ?
Pages: [1]
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!