Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

broken build on UNIX -- Illumos amd64 (SunOS 5.11) #6

Closed
beattidp opened this issue Feb 2, 2014 · 5 comments
Closed

broken build on UNIX -- Illumos amd64 (SunOS 5.11) #6

beattidp opened this issue Feb 2, 2014 · 5 comments

Comments

@beattidp
Copy link

beattidp commented Feb 2, 2014

Using Joyent SmartOS (SmartMachine image base64 13.3.1), with pkgsrc 2013Q4/x86_64.
( i.e. 'sudo pkgin install git openssl db4 gcc47 boost build-essential miniupnpd' )
Looks kind-of broken to me. Any comments/observations?

[admin@sun02 ~/work]$ env GIT_SSL_NO_VERIFY=true  git clone https://github.com/FeatherCoin/Feathercoin-0.8.5.git
[admin@sun02 ~/work]$ cd ./Feathercoin-0.8.5/src/
[admin@sun02 ~/work/Feathercoin-0.8.5/src]$ make -f makefile.unix

# ( and it builds okay for a short while, until: )

make[1]: Leaving directory '/home/admin/work/Feathercoin-0.8.5/src/leveldb'
g++ -c -O2 -pthread -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter -g -DBOOST_SPIRIT_THREADSAFE -D_FILE_OFFSET_BITS=64 -I/home/admin/work/Feathercoin-0.8.5/src -I/home/admin/work/Feathercoin-0.8.5/src/obj -DUSE_UPNP=0 -DUSE_IPV6=1 -I/home/admin/work/Feathercoin-0.8.5/src/leveldb/include -I/home/admin/work/Feathercoin-0.8.5/src/leveldb/helpers -DHAVE_BUILD_INFO -fno-stack-protector -fstack-protector-all -Wstack-protector -D_FORTIFY_SOURCE=2  -MMD -MF obj/alert.d -o obj/alert.o alert.cpp
alert.cpp:19:1: error: reference to 'map' is ambiguous
In file included from compat.h:24:0,
                 from netbase.h:11,
                 from util.h:30,
                 from alert.h:13,
                 from alert.cpp:11:
/usr/include/net/if.h:97:9: error: candidates are: struct map
In file included from /opt/local/gcc47/include/c++/map:61:0,
                 from alert.cpp:9:
/opt/local/gcc47/include/c++/bits/stl_map.h:90:11: error:                 template<class _Key, class _Tp, class _Compare, class _Alloc> class std::map
alert.cpp:19:1: error: 'map' does not name a type
alert.cpp: In static member function 'static CAlert CAlert::getAlertByHash(const uint256&)':
alert.cpp:162:9: error: reference to 'map' is ambiguous
In file included from compat.h:24:0,
                 from netbase.h:11,
                 from util.h:30,
                 from alert.h:13,
                 from alert.cpp:11:
/usr/include/net/if.h:97:9: error: candidates are: struct map
In file included from /opt/local/gcc47/include/c++/map:61:0,
                 from alert.cpp:9:
/opt/local/gcc47/include/c++/bits/stl_map.h:90:11: error:                 template<class _Key, class _Tp, class _Compare, class _Alloc> class std::map
alert.cpp:162:20: error: expected primary-expression before ',' token
alert.cpp:162:28: error: expected primary-expression before '>' token
alert.cpp:162:40: error: missing template arguments before 'mi'
alert.cpp:162:40: error: expected ';' before 'mi'
alert.cpp:163:12: error: 'mi' was not declared in this scope
alert.cpp:163:18: error: 'mapAlerts' was not declared in this scope
alert.cpp: In member function 'bool CAlert::ProcessAlert(bool)':
alert.cpp:201:14: error: reference to 'map' is ambiguous
In file included from compat.h:24:0,
                 from netbase.h:11,
                 from util.h:30,
                 from alert.h:13,
                 from alert.cpp:11:
/usr/include/net/if.h:97:9: error: candidates are: struct map
In file included from /opt/local/gcc47/include/c++/map:61:0,
                 from alert.cpp:9:
/opt/local/gcc47/include/c++/bits/stl_map.h:90:11: error:                 template<class _Key, class _Tp, class _Compare, class _Alloc> class std::map
alert.cpp:201:25: error: expected primary-expression before ',' token
alert.cpp:201:33: error: expected primary-expression before '>' token
alert.cpp:201:45: error: missing template arguments before 'mi'
alert.cpp:201:45: error: expected ';' before 'mi'
alert.cpp:201:69: error: 'mi' was not declared in this scope
alert.cpp:201:75: error: 'mapAlerts' was not declared in this scope
alert.cpp:221:9: error: 'mapAlerts' was not declared in this scope
alert.cpp:232:9: error: 'mapAlerts' was not declared in this scope
makefile.unix:173: recipe for target 'obj/alert.o' failed
make: *** [obj/alert.o] Error 1
[admin@sun02 ~/work/Feathercoin-0.8.5/src]$ 

[admin@sun02 ~/work/Feathercoin-0.8.5/src]$ gcc --version | head -n1
gcc (GCC) 4.7.3

[admin@sun02 ~/work/Feathercoin-0.8.5/src]$ uname -sr
SunOS 5.11
@wrapperband
Copy link

Does Litecoin or Bitcoin work on SunOS?

@ghostlander
Copy link

Fix the issue title, it's SunOS 5.11 aka Solaris 11. Intel or SPARC?

@wrapperband
Copy link

Is it a LibBoost issue? I'll shut up then, I can't test SunOS.

http://stackoverflow.com/questions/15967831/does-boost-c-library-support-solaris-on-sparc

@beattidp
Copy link
Author

beattidp commented Feb 2, 2014

Okay, updated comment/details. And actually SmartOS is pretty easy to install and use, as a Type 1 hypervisor hosting multiple instances of the OS ('zones'), each created zone (analogous to a FreeBSD jail) efficiently utilizing one or more CPU cores.

I wanted to research the cost/performance for running the Feathercoin 'UNIX' app -- if only to figure out what's broken in the build. (Hopefully not simply a GCC version issue.)

@FeatherCoin
Copy link
Collaborator

As this has gone quiet I am closing this issue. If you make any progress on this please open a new issue or make a pull request if you have a fix.

wellenreiter01 added a commit that referenced this issue Jul 19, 2017
wrapperband added a commit that referenced this issue Sep 3, 2017
0.9.6.2 bushstar - Pull in Bitcoin-BackPorts work
Bushstar pushed a commit that referenced this issue Oct 11, 2018
6f53edb Acquire cs_main before ATMP call in block_assemble bench (James O'Beirne)

Pull request description:

  Calling `bench_bitcoin` currently fails due to calling ATMP without acquiring cs_main first in the recently added block_assemble bench (bitcoin/bitcoin#13219).

  ```
  $ cat <(uname -a) <(gcc --version)

  Linux james 4.4.0-119-generic #143+jamesob SMP Mon Apr 16 21:47:24 EDT 2018 x86_64 x86_64 x86_64 GNU/Linux
  gcc (Ubuntu 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609

  $ ./src/bench/bench_bitcoin

  WARNING: This is a debug build - may result in slower benchmarks.
  # Benchmark, evals, iterations, total, min, max, median
  Assertion failed: lock cs_main not held in validation.cpp:566; locks held:
  [1]    19323 abort (core dumped)  ./src/bench/bench_bitcoin
  ```

  ```
  (gdb) bt
  #0  0x00007fbdc9cf5428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
  #1  0x00007fbdc9cf702a in __GI_abort () at abort.c:89
  #2  0x0000555a19580dc5 in AssertLockHeldInternal (pszName=pszName@entry=0x555a19834549 "cs_main",
      pszFile=pszFile@entry=0x555a1988a001 "validation.cpp", nLine=nLine@entry=566, cs=cs@entry=0x555a19ba55c0 <cs_main>) at sync.cpp:157
  #3  0x0000555a194b395f in AcceptToMemoryPoolWorker (chainparams=..., pool=..., state=...,
      ptx=std::shared_ptr (count 1, weak 0) 0x555a1bb819b0, pfMissingInputs=pfMissingInputs@entry=0x0, nAcceptTime=1532964079,
      plTxnReplaced=0x0, bypass_limits=false, nAbsurdFee=@0x7ffcbc1719d8: 0, coins_to_uncache=std::vector of length 0, capacity 0,
      test_accept=false) at validation.cpp:566
  #4  0x0000555a194ba661 in AcceptToMemoryPoolWithTime (chainparams=..., pool=..., state=...,
      tx=std::shared_ptr (count 1, weak 0) 0x555a1bb819b0, pfMissingInputs=pfMissingInputs@entry=0x0, nAcceptTime=<optimized out>,
      plTxnReplaced=0x0, bypass_limits=false, nAbsurdFee=0, test_accept=false) at validation.cpp:998
  #5  0x0000555a194ba7ce in AcceptToMemoryPool (pool=..., state=..., tx=std::shared_ptr (count 1, weak 0) 0x555a1bb819b0,
      pfMissingInputs=pfMissingInputs@entry=0x0, plTxnReplaced=plTxnReplaced@entry=0x0, bypass_limits=bypass_limits@entry=false, nAbsurdFee=0,
      test_accept=false) at validation.cpp:1014
  #6  0x0000555a19363fbe in AssembleBlock (state=...) at bench/block_assemble.cpp:102
  #7  0x0000555a193654d3 in std::_Function_handler<void (benchmark::State&), void (*)(benchmark::State&)>::_M_invoke(std::_Any_data const&, benchmark::State&) (__functor=..., __args#0=...) at /usr/include/c++/5/functional:1871
  #8  0x0000555a193501d7 in std::function<void (benchmark::State&)>::operator()(benchmark::State&) const (this=this@entry=0x555a1ba2cda0,
      __args#0=...) at /usr/include/c++/5/functional:2267
  #9  0x0000555a1934ec4c in benchmark::BenchRunner::RunAll (printer=..., num_evals=5, scaling=<optimized out>, filter=..., is_list_only=false)
      at bench/bench.cpp:121
  #10 0x0000555a1934ade9 in main (argc=<optimized out>, argv=<optimized out>) at bench/bench_bitcoin.cpp:92
  ```

Tree-SHA512: fdd7b28ff123ccea7a4f334d53f735d0c0f94aa9cc52520c2dd34dca45d78c691af64efcd32366fc472fedffbd79591d2be2bb3bfc4a5186e8712b6b452d64e3
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants