Pages:
Author

Topic: Building headless Bitcoin and Bitcoin-qt on Windows - page 31. (Read 419389 times)

sr. member
Activity: 336
Merit: 250
Edit 1/2/3

Code:
                              ^
In file included from headers.h:97:0,
                 from auxpow.cpp:4:
util.h:674:16: error: conflicting declaration 'typedef void* pthread_t'
 typedef HANDLE pthread_t;
                ^
In file included from c:/mingw32/i686-w64-mingw32/include/c++/i686-w64-mingw32/b
its/gthr-default.h:35:0,
                 from c:/mingw32/i686-w64-mingw32/include/c++/i686-w64-mingw32/b
its/gthr.h:148,
                 from c:/mingw32/i686-w64-mingw32/include/c++/ext/atomicity.h:35
,
                 from c:/mingw32/i686-w64-mingw32/include/c++/bits/ios_base.h:39
,
                 from c:/mingw32/i686-w64-mingw32/include/c++/ios:42,
                 from c:/mingw32/i686-w64-mingw32/include/c++/ostream:38,
                 from c:/mingw32/i686-w64-mingw32/include/c++/iostream:39,
                 from c:/deps/db-4.8.30.NC/build_unix/db_cxx.h:55,
                 from headers.h:47,
                 from auxpow.cpp:4:
c:/mingw32/i686-w64-mingw32/include/pthread.h:196:19: error: 'pthread_t' has a p
revious declaration as 'typedef uintptr_t pthread_t'
 typedef uintptr_t pthread_t;
                   ^
In file included from headers.h:97:0,
                 from auxpow.cpp:4:
util.h: In function 'pthread_t CreateThread(void (*)(void*), void*, bool)':
util.h:697:12: error: invalid conversion from 'HANDLE {aka void*}' to 'pthread_t
 {aka unsigned int}' [-fpermissive]
     return hthread;
            ^
make: *** [obj/nogui/auxpow.o] Error 1

Chris@acertje /c/namecoin-vQ.3.72/src
$
 

/pthread.h:196:19: util.h : 578:12 error // couple of google searches led me to -D__NO_SYSTEM_INCLUDES  But that was already in the DEF += of the makefile, so i still had nothing to try... And now Im at a loss.

Ok. So im pretty sure i've narrowed down the problem. Just the solution keeps eluding me. Ming32,  declares pthread_t and is loaded. However in the util.h files of 'older coins' they still make use of own pthreads declarations. And when util.h trys to declare pthread is causes a double data.  (did i get that correct?)

util.h 554 / 578
Code:
#ifdef WIN32
typedef HANDLE pthread_t;

inline pthread_t CreateThread(void(*pfn)(void*), void* parg, bool fWantHandle=false)
{
    DWORD nUnused = 0;
    HANDLE hthread =
        CreateThread(
            NULL,                        // default security
            0,                           // inherit stack size from parent
            (LPTHREAD_START_ROUTINE)pfn, // function pointer
            parg,                        // argument
            0,                           // creation option, start immediately
            &nUnused);                   // thread identifier
    if (hthread == NULL)
    {
        printf("Error: CreateThread() returned %d\n", GetLastError());
        return (pthread_t)0;
    }
    if (!fWantHandle)
    {
        CloseHandle(hthread);
        return (pthread_t)-1;
    }
    return hthread;
}

Above this piece of code it clearly states :

// Note: It turns out we might have been able to use boost::thread
// by using TerminateThread(boost::thread.native_handle(), 0);

So my new question : How do i use this termintethread ?
Or how do i alter the code so it will use ming32_pthread.h (and ofc not comprimise the rest of my files)  ?
sr. member
Activity: 364
Merit: 250
Edit:

Tried building Bitcoin-qt 0.8.5, get this error:

Quote
ld" -I"c:\Qt\4.8.4\mkspecs\win32-g++" -o build\main.o src\main.cpp
In file included from src\txdb.h:9:0,
                 from src\main.cpp:9:
src\leveldb.h:9:24: fatal error: leveldb/db.h: No such file or directory
 #include
                        ^
compilation terminated.
Makefile.Release:1145: recipe for target 'build/main.o' failed
mingw32-make: *** [build/main.o] Error 1
sr. member
Activity: 364
Merit: 250
Hello,

I am trying to compile a wallet for my coin KaChingCoin. It is a clone of smallchange. Source code is https://github.com/cryptocoindude/KaChingCoin

I have all the deps setup, use QT 4.8.4 to make it. I have tried boost 53,54,and 55. I get an error making it, here it is:

Quote
                 from src/bignum.h:13,
                 from src/main.h:9,
                 from src/wallet.h:9,
                 from src/init.h:9,
                 from src\qt\bitcoin.cpp:11:
c:\deps\boost_1_53_0/boost/tuple/detail/tuple_basic.hpp: In function 'typename b
oost::tuples::access_traitsns >::type>::const_type boost::tuples::get(const boost::tuples::cons TT>&)':
c:\deps\boost_1_53_0/boost/tuple/detail/tuple_basic.hpp:228:45: warning: typedef
 'cons_element' locally defined but not used [-Wunused-local-typedefs]
   typedef BOOST_DEDUCED_TYPENAME impl::type cons_element;
                                             ^
In file included from c:\deps\boost_1_53_0/boost/config.hpp:57:0,
                 from c:\deps\boost_1_53_0/boost/thread/detail/platform.hpp:14,
                 from c:\deps\boost_1_53_0/boost/thread/thread.hpp:12,
                 from c:\deps\boost_1_53_0/boost/thread.hpp:13,
                 from src/util.h:22,
                 from src/bignum.h:13,
                 from src/main.h:9,
                 from src/wallet.h:9,
                 from src/init.h:9,
                 from src\qt\bitcoin.cpp:11:
c:\deps\boost_1_53_0/boost/tuple/detail/tuple_basic.hpp: In member function 'boo
st::tuples::cons& boost::tuples::cons::operator=(const std::pair
<_U1, _U2>&)':
c:\deps\boost_1_53_0/boost/static_assert.hpp:125:21: warning: typedef 'boost_sta
tic_assert_typedef_325' locally defined but not used [-Wunused-local-typedefs]
          BOOST_JOIN(boost_static_assert_typedef_, __LINE__)
                     ^
c:\deps\boost_1_53_0/boost/tuple/detail/tuple_basic.hpp:325:5: note: in expansio
n of macro 'BOOST_STATIC_ASSERT'
     BOOST_STATIC_ASSERT(length::value == 2); // check length = 2
     ^
c:\deps\boost_1_53_0/boost/tuple/detail/tuple_basic.hpp: In member function 'boo
st::tuples::tuple& boost::tuples::tuple<
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9>::operator=(const std::pair<_U1, _U2>&)':

c:\deps\boost_1_53_0/boost/static_assert.hpp:125:21: warning: typedef 'boost_sta
tic_assert_typedef_582' locally defined but not used [-Wunused-local-typedefs]
          BOOST_JOIN(boost_static_assert_typedef_, __LINE__)
                     ^
c:\deps\boost_1_53_0/boost/tuple/detail/tuple_basic.hpp:582:5: note: in expansio
n of macro 'BOOST_STATIC_ASSERT'
     BOOST_STATIC_ASSERT(length::value == 2);// check_length = 2
     ^
c:\deps\boost_1_53_0/boost/tuple/tuple_comparison.hpp: In function 'bool boost::
tuples::operator==(const boost::tuples::cons&, const boost::tuples::cons
&)':
c:\deps\boost_1_53_0/boost/static_assert.hpp:125:21: warning: typedef 'boost_sta
tic_assert_typedef_114' locally defined but not used [-Wunused-local-typedefs]
          BOOST_JOIN(boost_static_assert_typedef_, __LINE__)
                     ^
c:\deps\boost_1_53_0/boost/tuple/tuple_comparison.hpp:114:3: note: in expansion
of macro 'BOOST_STATIC_ASSERT'
   BOOST_STATIC_ASSERT(length::value == length::value);
   ^
c:\deps\boost_1_53_0/boost/tuple/tuple_comparison.hpp: In function 'bool boost::
tuples::operator!=(const boost::tuples::cons&, const boost::tuples::cons
&)':
c:\deps\boost_1_53_0/boost/static_assert.hpp:125:21: warning: typedef 'boost_sta
tic_assert_typedef_126' locally defined but not used [-Wunused-local-typedefs]
          BOOST_JOIN(boost_static_assert_typedef_, __LINE__)
                     ^
c:\deps\boost_1_53_0/boost/tuple/tuple_comparison.hpp:126:3: note: in expansion
of macro 'BOOST_STATIC_ASSERT'
   BOOST_STATIC_ASSERT(length::value == length::value);
   ^
c:\deps\boost_1_53_0/boost/tuple/tuple_comparison.hpp: In function 'bool boost::
tuples::operator<(const boost::tuples::cons&, const boost::tuples::cons<
S1, S2>&)':
c:\deps\boost_1_53_0/boost/static_assert.hpp:125:21: warning: typedef 'boost_sta
tic_assert_typedef_136' locally defined but not used [-Wunused-local-typedefs]
          BOOST_JOIN(boost_static_assert_typedef_, __LINE__)
                     ^
c:\deps\boost_1_53_0/boost/tuple/tuple_comparison.hpp:136:3: note: in expansion
of macro 'BOOST_STATIC_ASSERT'
   BOOST_STATIC_ASSERT(length::value == length::value);
   ^
c:\deps\boost_1_53_0/boost/tuple/tuple_comparison.hpp: In function 'bool boost::
tuples::operator>(const boost::tuples::cons&, const boost::tuples::cons<
S1, S2>&)':
c:\deps\boost_1_53_0/boost/static_assert.hpp:125:21: warning: typedef 'boost_sta
tic_assert_typedef_146' locally defined but not used [-Wunused-local-typedefs]
          BOOST_JOIN(boost_static_assert_typedef_, __LINE__)
                     ^
c:\deps\boost_1_53_0/boost/tuple/tuple_comparison.hpp:146:3: note: in expansion
of macro 'BOOST_STATIC_ASSERT'
   BOOST_STATIC_ASSERT(length::value == length::value);
   ^
c:\deps\boost_1_53_0/boost/tuple/tuple_comparison.hpp: In function 'bool boost::
tuples::operator<=(const boost::tuples::cons&, const boost::tuples::cons
&)':
c:\deps\boost_1_53_0/boost/static_assert.hpp:125:21: warning: typedef 'boost_sta
tic_assert_typedef_156' locally defined but not used [-Wunused-local-typedefs]
          BOOST_JOIN(boost_static_assert_typedef_, __LINE__)
                     ^
c:\deps\boost_1_53_0/boost/tuple/tuple_comparison.hpp:156:3: note: in expansion
of macro 'BOOST_STATIC_ASSERT'
   BOOST_STATIC_ASSERT(length::value == length::value);
   ^
c:\deps\boost_1_53_0/boost/tuple/tuple_comparison.hpp: In function 'bool boost::
tuples::operator>=(const boost::tuples::cons&, const boost::tuples::cons
&)':
c:\deps\boost_1_53_0/boost/static_assert.hpp:125:21: warning: typedef 'boost_sta
tic_assert_typedef_166' locally defined but not used [-Wunused-local-typedefs]
          BOOST_JOIN(boost_static_assert_typedef_, __LINE__)
                     ^
c:\deps\boost_1_53_0/boost/tuple/tuple_comparison.hpp:166:3: note: in expansion
of macro 'BOOST_STATIC_ASSERT'
   BOOST_STATIC_ASSERT(length::value == length::value);
   ^
In file included from src/bignum.h:13:0,
                 from src/main.h:9,
                 from src/wallet.h:9,
                 from src/init.h:9,
                 from src\qt\bitcoin.cpp:11:
src/util.h: At global scope:
src/util.h:555:16: error: conflicting declaration 'typedef void* pthread_t'
 typedef HANDLE pthread_t;
                ^
In file included from C:/mingw32/i686-w64-mingw32/include/c++/i686-w64-mingw32/b
its/gthr-default.h:35:0,
                 from C:/mingw32/i686-w64-mingw32/include/c++/i686-w64-mingw32/b
its/gthr.h:148,
                 from C:/mingw32/i686-w64-mingw32/include/c++/ext/atomicity.h:35
,
                 from C:/mingw32/i686-w64-mingw32/include/c++/bits/basic_string.
h:39,
                 from C:/mingw32/i686-w64-mingw32/include/c++/string:52,
                 from c:\Qt\4.8.4\include/QtCore/../../src/corelib/tools/qstring
.h:54,
                 from c:\Qt\4.8.4\include/QtCore/qstring.h:1,
                 from c:\Qt\4.8.4\include/QtCore/../../src/corelib/kernel/qobjec
t.h:48,
                 from c:\Qt\4.8.4\include/QtCore/qobject.h:1,
                 from c:\Qt\4.8.4\include/QtGui/../../src/gui/kernel/qwidget.h:4
6,
                 from c:\Qt\4.8.4\include/QtGui/qwidget.h:1,
                 from c:\Qt\4.8.4\include\QtGui/../../src/gui/widgets/qmainwindo
w.h:45,
                 from c:\Qt\4.8.4\include\QtGui/qmainwindow.h:1,
                 from c:\Qt\4.8.4\include\QtGui/QMainWindow:1,
                 from src\qt\bitcoingui.h:4,
                 from src\qt\bitcoin.cpp:4:
C:/mingw32/i686-w64-mingw32/include/pthread.h:196:19: error: 'pthread_t' has a p
revious declaration as 'typedef uintptr_t pthread_t'
 typedef uintptr_t pthread_t;
                   ^
In file included from src/bignum.h:13:0,
                 from src/main.h:9,
                 from src/wallet.h:9,
                 from src/init.h:9,
                 from src\qt\bitcoin.cpp:11:
src/util.h: In function 'pthread_t CreateThread(void (*)(void*), void*, bool)':
src/util.h:578:12: error: invalid conversion from 'HANDLE {aka void*}' to 'pthre
ad_t {aka unsigned int}' [-fpermissive]
     return hthread;
            ^
In file included from c:\deps\boost_1_53_0/boost/interprocess/errors.hpp:37:0,
                 from c:\deps\boost_1_53_0/boost/interprocess/exceptions.hpp:20,

                 from c:\deps\boost_1_53_0/boost/interprocess/shared_memory_obje
ct.hpp:17,
                 from c:\deps\boost_1_53_0/boost/interprocess/ipc/message_queue.
hpp:17,
                 from src\qt\bitcoin.cpp:23:
c:\deps\boost_1_53_0/boost/interprocess/detail/win32_api.hpp: At global scope:
c:\deps\boost_1_53_0/boost/interprocess/detail/win32_api.hpp:861:116: warning: d
eclaration of 'void* boost::interprocess::winapi::CreateMutexA(boost::interproce
ss::winapi::interprocess_security_attributes*, int, const char*)' with C languag
e linkage [enabled by default]
 extern "C" __declspec(dllimport) void * __stdcall CreateMutexA(interprocess_sec
urity_attributes*, int, const char *);

                                    ^
In file included from c:\deps\boost_1_53_0/boost/thread/win32/thread_data.hpp:11
:0,
                 from c:\deps\boost_1_53_0/boost/thread/thread.hpp:15,
                 from c:\deps\boost_1_53_0/boost/thread.hpp:13,
                 from src/util.h:22,
                 from src/bignum.h:13,
                 from src/main.h:9,
                 from src/wallet.h:9,
                 from src/init.h:9,
                 from src\qt\bitcoin.cpp:11:
c:\deps\boost_1_53_0/boost/thread/win32/thread_primitives.hpp:119:55: warning: c
onflicts with previous declaration 'void* boost::detail::win32::CreateMutexA(boo
st::detail::win32::_SECURITY_ATTRIBUTES*, int, const char*)' [enabled by default
]
                 __declspec(dllimport) void* __stdcall CreateMutexA(_SECURITY_AT
TRIBUTES*,int,char const*);
                                                       ^
In file included from c:\deps\boost_1_53_0/boost/interprocess/errors.hpp:37:0,
                 from c:\deps\boost_1_53_0/boost/interprocess/exceptions.hpp:20,

                 from c:\deps\boost_1_53_0/boost/interprocess/shared_memory_obje
ct.hpp:17,
                 from c:\deps\boost_1_53_0/boost/interprocess/ipc/message_queue.
hpp:17,
                 from src\qt\bitcoin.cpp:23:
c:\deps\boost_1_53_0/boost/interprocess/detail/win32_api.hpp:866:127: warning: d
eclaration of 'void* boost::interprocess::winapi::CreateSemaphoreA(boost::interp
rocess::winapi::interprocess_security_attributes*, long int, long int, const cha
r*)' with C language linkage [enabled by default]
 extern "C" __declspec(dllimport) void * __stdcall CreateSemaphoreA(interprocess
_security_attributes*, long, long, const char *);

                                               ^
In file included from c:\deps\boost_1_53_0/boost/thread/win32/thread_data.hpp:11
:0,
                 from c:\deps\boost_1_53_0/boost/thread/thread.hpp:15,
                 from c:\deps\boost_1_53_0/boost/thread.hpp:13,
                 from src/util.h:22,
                 from src/bignum.h:13,
                 from src/main.h:9,
                 from src/wallet.h:9,
                 from src/init.h:9,
                 from src\qt\bitcoin.cpp:11:
c:\deps\boost_1_53_0/boost/thread/win32/thread_primitives.hpp:120:55: warning: c
onflicts with previous declaration 'void* boost::detail::win32::CreateSemaphoreA
(boost::detail::win32::_SECURITY_ATTRIBUTES*, long int, long int, const char*)'
[enabled by default]
                 __declspec(dllimport) void* __stdcall CreateSemaphoreA(_SECURIT
Y_ATTRIBUTES*,long,long,char const*);
                                                       ^
In file included from c:\deps\boost_1_53_0/boost/interprocess/detail/windows_int
ermodule_singleton.hpp:26:0,
                 from c:\deps\boost_1_53_0/boost/interprocess/detail/tmp_dir_hel
pers.hpp:22,
                 from c:\deps\boost_1_53_0/boost/interprocess/shared_memory_obje
ct.hpp:22,
                 from c:\deps\boost_1_53_0/boost/interprocess/ipc/message_queue.
hpp:17,
                 from src\qt\bitcoin.cpp:23:
c:\deps\boost_1_53_0/boost/interprocess/detail/intermodule_singleton_common.hpp:
 In instantiation of 'static ThreadSafeGlobalMap& boost::interprocess::ipcdetail
::intermodule_singleton_common::get_map() [with ThreadSafeG
lobalMap = boost::interprocess::ipcdetail::intermodule_singleton_helpers::window
s_semaphore_based_map]':
c:\deps\boost_1_53_0/boost/interprocess/detail/intermodule_singleton_common.hpp:
125:48:   required from 'static void boost::interprocess::ipcdetail::intermodule
_singleton_common::initialize_singleton_logic(void*&, volat
ile uint32_t&, void* (*)(ThreadSafeGlobalMap&), bool) [with ThreadSafeGlobalMap
= boost::interprocess::ipcdetail::intermodule_singleton_helpers::windows_semapho
re_based_map; uint32_t = unsigned int; boost::interprocess::ipcdetail::intermodu
le_singleton_common::singleton_constructor_t = void*(boost:
:interprocess::ipcdetail::intermodule_singleton_helpers::windows_semaphore_based
_map&)]'
c:\deps\boost_1_53_0/boost/interprocess/detail/intermodule_singleton_common.hpp:
334:103:   required from 'static void boost::interprocess::ipcdetail::intermodul
e_singleton_impl::atentry_work() [wit
h C = boost::interprocess::ipcdetail::windows_bootstamp; bool LazyInit = true; b
ool Phoenix = true; ThreadSafeGlobalMap = boost::interprocess::ipcdetail::interm
odule_singleton_helpers::windows_semaphore_based_map]'
c:\deps\boost_1_53_0/boost/interprocess/detail/intermodule_singleton_common.hpp:
323:26:   required from 'static C& boost::interprocess::ipcdetail::intermodule_s
ingleton_impl::get() [with C = boost:
:interprocess::ipcdetail::windows_bootstamp; bool LazyInit = true; bool Phoenix
= true; ThreadSafeGlobalMap = boost::interprocess::ipcdetail::intermodule_single
ton_helpers::windows_semaphore_based_map]'
c:\deps\boost_1_53_0/boost/interprocess/detail/tmp_dir_helpers.hpp:45:97:   requ
ired from here
c:\deps\boost_1_53_0/boost/interprocess/detail/intermodule_singleton_common.hpp:
203:93: warning: dereferencing type-punned pointer will break strict-aliasing ru
les [-Wstrict-aliasing]
       return *static_cast(static_cast(&mem_holde
r.map_mem[0]));

             ^
In file included from c:\deps\boost_1_53_0/boost/system/system_error.hpp:14:0,
                 from c:\deps\boost_1_53_0/boost/thread/exceptions.hpp:22,
                 from c:\deps\boost_1_53_0/boost/thread/win32/thread_primitives.
hpp:16,
                 from c:\deps\boost_1_53_0/boost/thread/win32/thread_data.hpp:11
,
                 from c:\deps\boost_1_53_0/boost/thread/thread.hpp:15,
                 from c:\deps\boost_1_53_0/boost/thread.hpp:13,
                 from src/util.h:22,
                 from src/bignum.h:13,
                 from src/main.h:9,
                 from src/wallet.h:9,
                 from src/init.h:9,
                 from src\qt\bitcoin.cpp:11:
c:\deps\boost_1_53_0/boost/system/error_code.hpp:214:36: warning: 'boost::system
::posix_category' defined but not used [-Wunused-variable]
     static const error_category &  posix_category = generic_category();
                                    ^
c:\deps\boost_1_53_0/boost/system/error_code.hpp:215:36: warning: 'boost::system
::errno_ecat' defined but not used [-Wunused-variable]
     static const error_category &  errno_ecat     = generic_category();
                                    ^
c:\deps\boost_1_53_0/boost/system/error_code.hpp:216:36: warning: 'boost::system
::native_ecat' defined but not used [-Wunused-variable]
     static const error_category &  native_ecat    = system_category();
                                    ^
Makefile.Release:685: recipe for target 'build/bitcoin.o' failed
mingw32-make: *** [build/bitcoin.o] Error 1

C:\Users\Backup\Downloads\KaChingCoin-master\KaChingCoin-master>


Any ideas?
legendary
Activity: 1628
Merit: 1012
Code:
Building Bitcoin daemon...
PARAMS: BOOST_SUFFIX=-mgw46-mt-1_54 INCLUDEPATHS=" -I'../libs/boost_1_54_0' -I'.
./libs/openssl-1.0.1e/include' -I'../libs/db-4.8.30.NC/build_unix' -I'../libs/mi
niupnpc-1.8'" LIBPATHS=" -L'../src/leveldb' -L'../libs/boost_1_54_0/stage/lib' -
L'../libs/openssl-1.0.1e' -L'../libs/db-4.8.30.NC/build_unix' -L'../libs/miniupn
pc-1.8'" ADDITIONALCCFLAGS="-fno-guess-branch-probability -frandom-seed=1984 -Wn
o-unused-variable -Wno-unused-value -Wno-sign-compare -Wno-strict-aliasing"
g++ -c -fno-guess-branch-probability -frandom-seed=1984 -Wno-unused-variable -Wn
o-unused-value -Wno-sign-compare -Wno-strict-aliasing -mthreads -O2 -w -Wall -We
xtra -Wformat -Wformat-security -Wno-unused-parameter -g -D_MT -DWIN32 -DWIN32_L
EAN_AND_MEAN -D_WINDOWS -DBOOST_THREAD_USE_LIB -DBOOST_SPIRIT_THREADSAFE -DSTATI
CLIB -DUSE_UPNP=1 -DUSE_IPV6=1 -IC:/Users/Lorenzo/Desktop/GreenCoin -I- -ISource
/src/leveldb/include -IC:/Users/Lorenzo/Desktop/GreenCoin -I- -ISource/src/level
db/helpers -I'../libs/boost_1_54_0' -I'../libs/openssl-1.0.1e/include' -I'../lib
s/db-4.8.30.NC/build_unix' -I'../libs/miniupnpc-1.8' -o obj/alert.o alert.cpp
cc1plus.exe: note: obsolete option -I- used, please use -iquote instead
cc1plus.exe: error: -I- specified twice
cc1plus.exe: note: obsolete option -I- used, please use -iquote instead
makefile.mingw:129: recipe for target 'obj/alert.o' failed
mingw32-make: *** [obj/alert.o] Error 1

!!!!!! Error! Build daemon failed.
Press any key to continue . . .


Any idea what this error is? I haven't edited makefile.mingw (besides to change litecoind and litecoin to be my test coins name).

EDIT: If I remove the lines in question, it compiles.
legendary
Activity: 1330
Merit: 1000
Blockchain Developer

32bit qt executable seems to be working fine.


Does the instruction set on this thread produce a 32 bit exe or would there be additional steps I would need to follow?

EDIT - after reading through the instructions again, I believe that it does because there is an additional step with 64 bit binaries.
full member
Activity: 131
Merit: 108
Code:
configure: error: in `/c/deps/qrencode-3.4.3':
configure: error: The pkg-config script could not be found or is too old.  Make
sure it
is in your PATH or set the PKG_CONFIG environment variable to the full
path to pkg-config.

Alternatively, you may set the environment variables png_CFLAGS
and png_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.

To get pkg-config, see .
See `config.log' for more details

(Computername)@(Computername) /c/deps/qrencode-3.4.3
$ make
make: *** No targets specified and no makefile found.  Stop.


Any ideas?


Make sure png_CFLAGS and png_LIBS are set correctly.


Nitro everytime I try to compile HoboNickels I get a non functioning executable. The HBN dev says that he hasn't been able to make a functioning 64 bit exe and therefore does not compile with mingw. Did the exe actually work for you?

32bit qt executable seems to be working fine.


So again, thanks for this post Nitro and nice to see your keeping it updated. As for my questions for you or anyone who has the knowledge.
basically. What now? Smiley Ofc now i wanna make other wallets. Let's say, doge and or feathercoin wallets. Read enough to know that cant repeat what ive learned. But how do i go about doing that? (no need for details, i dont mind doing the work and learning in the (frustrating process) But if you could point me in the right direction that would be great.

Glad it helped Wink
Compiling most of the alt coins is pretty much the same, depending on the version some may need some patching. Others will need additional dependancies (gmp, mpfr, etc..)
sr. member
Activity: 364
Merit: 250
It is essentially the same. Refer to the build instructions of the cryptocurrency you want to compile for possible specific details. Perhaps it's a nice idea to compile namecoind as test  Wink?

Do you have any ideas on my qren issue?
legendary
Activity: 1330
Merit: 1000
Blockchain Developer
HoboNickels seems to compile just fine on my build system.

Nitro everytime I try to compile HoboNickels I get a non functioning executable. The HBN dev says that he hasn't been able to make a functioning 64 bit exe and therefore does not compile with mingw. Did the exe actually work for you?
sr. member
Activity: 336
Merit: 250
It is essentially the same. Refer to the build instructions of the cryptocurrency you want to compile for possible specific details. Perhaps it's a nice idea to compile namecoind as test  Wink?

Sounds like a plan. You may quiz me afterwards Wink
But before i bit myself in this next challenge. Practice makes perfect after all.  Namecoin is sha256, does it make much difference if i would choose a scrypt coin after that? Or any other algo for that matter? shouldnt matter ofc im thinking now =) (and sorry im not even a poser-coder... so i a have to ask Smiley) By build instructions u are referring to... ? (makefile.mingw? by any chance?)  Think i found m =) will look first next time befre asking.... Back for more q's later
newbie
Activity: 25
Merit: 0
It is essentially the same. Refer to the build instructions of the cryptocurrency you want to compile for possible specific details. Perhaps it's a nice idea to compile namecoind as test  Wink?
sr. member
Activity: 336
Merit: 250
After about 2,5 full days of struggeling i finally managed! yay me! Qt is working. And daemon is syncing up in the background as I type! Do have some more questions but that's for end of post.

*) Tysm Mr.Nitro! You are truly epic!! I don't have much or any btc or xpm. But i can send u some asiacoins for all ur hard work maybe? (send me addy if u want some =)   Anyways. Thought i'd leave some tips for the next person to struggle.

*) Seems obvious maybe, but follow all the steps to the letter.If something seems wrong, or not matching what it should . Re-cap /and or start
    over.

*) Step 1.3 took me least a few hours to figure out since i thought it would be ok just not to check and i didnt know where to look.
     -> Right click Computer -> properties -> advanced system settings -> enviorment variables.
    then in the bottom window look for paths and check if it matches what it states in step 1.3 (other own programs also put variables there..)

*) Typo's so many dots and slashes so many errors and even so many more headaches and so many start-over's. That is untill i figured out  
    that one could just copy paste into DOS and Shell. Maybe you all know but i sure didnt! Just copy, click top left window of the dos or shell
    screen for drop down menu, paste and voila!
    Also, can paste sections / multiple commands Dos and shell will execute commands one after the other. No need to think or make mistakes, all is
    already perfectly written down by Mr.Nitro.

*) Step 2.6 / qrencode had me going for a while. First with my typo's then with warnings after compile. But it's supposed to give those warnings.
    *** Warning: Trying to link with static lib archive ../../mingw32/i686-w64-mingw  *** I have the capability to make that library automatically link
    *** you link to this library.  But I can only do this if you have a
    * ** shared version of the library, which you do not appear to have
    *** because the file extensions .a of this argument makes me believe
    *** that it is just a static archive that I should not use here.
    That is supposed to happen.

*) Step 3  bitcoin-0.9.1\src\makefile.include <- there just scroll down to where u see what u see in this post in step 3. Remove lines with - in front
    add lines with + in front. (or just edit those lines)
---------------------------------------------------------------------------------------------------------------------------------------------

So again, thanks for this post Nitro and nice to see your keeping it updated. As for my questions for you or anyone who has the knowledge.
basically. What now? Smiley Ofc now i wanna make other wallets. Let's say, doge and or feathercoin wallets. Read enough to know that cant repeat what ive learned. But how do i go about doing that? (no need for details, i dont mind doing the work and learning in the (frustrating process) But if you could point me in the right direction that would be great.
sr. member
Activity: 364
Merit: 250
I am getting this error:

Quote
make[1]: gcc: Command not found
make[1]: *** [cryptlib.o] Error 127
make[1]: Leaving directory `/c/deps/openssl-1.0.1g/crypto'
make: *** [build_crypto] Error 1

when I make openssl.

I have followed the guide exactly. I saw it just changed today, I am using openssl1.0.1g. I do still have perl and python installed, but I don't think that would do it. I set the path environment.

What am I doing wrong?

Perl and Python do not interfere with compiling. Are you 100% sure that gcc is available in the PATH variable? Try to call it from a random location (not within the makefile), what do you see?

Oh. It says

Quote
sh: gcc: command not found


Then your path variable was not correctly set. Find it with echo %PATH% or echo $PATH.

Got it fixed! Now I got all up to qrencode. Here is  my error on configure:

Quote
configure: error: in `/c/deps/qrencode-3.4.3':
configure: error: The pkg-config script could not be found or is too old.  Make
sure it
is in your PATH or set the PKG_CONFIG environment variable to the full
path to pkg-config.

Alternatively, you may set the environment variables png_CFLAGS
and png_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.

To get pkg-config, see .
See `config.log' for more details

(Computername)@(Computername) /c/deps/qrencode-3.4.3
$ make
make: *** No targets specified and no makefile found.  Stop.


Any ideas?
full member
Activity: 131
Merit: 108
Hmmmm I used to have a working lpng but now when rebuilding the libs with correct gcc I am getting this during qrencode build:
Code:
qrenc.c: In function 'writeANSI':
qrenc.c:585:3: warning: implicit declaration of function 'bzero' [-Wimplicit-function-declaration]
   bzero( buffer, buffer_s );
   ^
qrenc.c:585:3: warning: incompatible implicit declaration of built-in function 'bzero' [enabled by default]

I also tried building with libpng-1.6.9 but it has the same error.  Any suggestions?

Configuring with --without-tools will get rid of the error, libqrencode will compile fine anyway.
newbie
Activity: 25
Merit: 0
I am getting this error:

Quote
make[1]: gcc: Command not found
make[1]: *** [cryptlib.o] Error 127
make[1]: Leaving directory `/c/deps/openssl-1.0.1g/crypto'
make: *** [build_crypto] Error 1

when I make openssl.

I have followed the guide exactly. I saw it just changed today, I am using openssl1.0.1g. I do still have perl and python installed, but I don't think that would do it. I set the path environment.

What am I doing wrong?

Perl and Python do not interfere with compiling. Are you 100% sure that gcc is available in the PATH variable? Try to call it from a random location (not within the makefile), what do you see?

Oh. It says

Quote
sh: gcc: command not found


Then your path variable was not correctly set. Find it with echo %PATH% or echo $PATH.
legendary
Activity: 1330
Merit: 1000
Blockchain Developer
Hmmmm I used to have a working lpng but now when rebuilding the libs with correct gcc I am getting this during qrencode build:
Code:
qrenc.c: In function 'writeANSI':
qrenc.c:584:3: warning: implicit declaration of function 'bzero' [-Wimplicit-fun
ction-declaration]
   bzero( buffer, buffer_s );
   ^
qrenc.c:584:3: warning: incompatible implicit declaration of built-in function '
bzero' [enabled by default]
mv -f .deps/qrencode-qrenc.Tpo .deps/qrencode-qrenc.Po
/bin/sh ./libtool --tag=CC   --mode=link gcc -I../libpng-1.6.10 -Wall -g -O2   -
o qrencode.exe qrencode-qrenc.o libqrencode.la -L../libpng-1.6.10/.libs ../libpn
g-1.6.10/.libs/libpng16.a ../../mingw32/i686-w64-mingw32/lib/libz.a
libtool: link: gcc -I../libpng-1.6.10 -Wall -g -O2 -o qrencode.exe qrencode-qren
c.o  ./.libs/libqrencode.a -L../libpng-1.6.10/.libs ../libpng-1.6.10/.libs/libpn
g16.a ../../mingw32/i686-w64-mingw32/lib/libz.a
make[2]: Leaving directory `/c/deps/qrencode-3.4.3'
make[1]: Leaving directory `/c/deps/qrencode-3.4.3'

I also tried building with libpng-1.6.9 but it has the same error.  Any suggestions?
sr. member
Activity: 364
Merit: 250
I am getting this error:

Quote
make[1]: gcc: Command not found
make[1]: *** [cryptlib.o] Error 127
make[1]: Leaving directory `/c/deps/openssl-1.0.1g/crypto'
make: *** [build_crypto] Error 1

when I make openssl.

I have followed the guide exactly. I saw it just changed today, I am using openssl1.0.1g. I do still have perl and python installed, but I don't think that would do it. I set the path environment.

What am I doing wrong?

Perl and Python do not interfere with compiling. Are you 100% sure that gcc is available in the PATH variable? Try to call it from a random location (not within the makefile), what do you see?

Oh. It says

Quote
sh: gcc: command not found
newbie
Activity: 25
Merit: 0
I am getting this error:

Quote
make[1]: gcc: Command not found
make[1]: *** [cryptlib.o] Error 127
make[1]: Leaving directory `/c/deps/openssl-1.0.1g/crypto'
make: *** [build_crypto] Error 1

when I make openssl.

I have followed the guide exactly. I saw it just changed today, I am using openssl1.0.1g. I do still have perl and python installed, but I don't think that would do it. I set the path environment.

What am I doing wrong?

Perl and Python do not interfere with compiling. Are you 100% sure that gcc is available in the PATH variable? Try to call it from a random location (not within the makefile), what do you see?
sr. member
Activity: 364
Merit: 250
I am getting this error:

Quote
make[1]: gcc: Command not found
make[1]: *** [cryptlib.o] Error 127
make[1]: Leaving directory `/c/deps/openssl-1.0.1g/crypto'
make: *** [build_crypto] Error 1

when I make openssl.

I have followed the guide exactly. I saw it just changed today, I am using openssl1.0.1g. I do still have perl and python installed, but I don't think that would do it. I set the path environment.

What am I doing wrong?
full member
Activity: 131
Merit: 108
@Nitro

After what me and Ron came through, perhaps it is a good idea to expend your post to include the following import pointers:

* Make sure that your MSYS bin directory precedes any other Windows system directory, like c:\Windows\System32 (this is necessary if you want to use the Unix find and not the Windows variant).
* The WSAPOLLFD structure bug in MinGW (not really bug, it is just missing)
* UnregisterWaitEx() problems when not setting _WIN32_WINNT
(also look for a reference to the two above here: http://stackoverflow.com/questions/20957727/boostasio-unregisterwaitex-has-not-been-declared)

Also, Ron mentioned that makefile.mingw is not longer used and there are more problems (Perl is unnecessary and so is Python too I believe, although I'm not sure about Python). It would also be nice if you explain a bit about the inner workings of the building process (i.e. why this utility or command), because as it is now it is sending a wrong message to people. I don't only want to know what to do, but also why to do it.

Don't get me wrong, I really appreciate this post and I think it is very useful, but it can be made so much better.

(we could work together a bit and also update the build_msw file, should be much more accessible than this forum thread)
Jori.

Msys bin folder should automagically get precedence in path when running msys (no need to add it manually to windows environment variables):
Code:
$ which find
/bin/find.exe

WSAPOLLFD and UnregisterWaitEx() issues appear only when using MinGW default toolchain, this is one of the reasons I stress on using mingw-builds.

makefile.mingw was used in pre v0.9 versions, a lot of altcoins are still based on older versions, so I think it is useful not to remove 0.8.6 notes (yet).

Perl and python were remnants and have been removed (you still need perl when configuring openssl, but msys-perl gets installed with msys-base).

I agree I could have been a bit less cryptic, but this can be improved Wink


Yep you are right, my db did not build correctly. I had the wrong version of gcc

Anyways, this thread has been very helpful for me, thanks!  I'll be sending a btc tip your way.

Thanks for the tip Wink
legendary
Activity: 1330
Merit: 1000
Blockchain Developer
Also it is worth mentioning that the instructions to build boost on this thread caused troubles later on - I had to go back and build boost and add --with-regex

Bitcoin doesn't need Boost.Regex, HoboNickels does.


Berkely database did not come with libdb_cxx.a

When configured and compiled correctly you will have both libdb.a and libdb_cxx.a, try cleaning and compiling again. HoboNickels seems to compile just fine on my build system.

Yep you are right, my db did not build correctly. I had the wrong version of gcc

Anyways, this thread has been very helpful for me, thanks!  I'll be sending a btc tip your way.
Pages:
Jump to: