EOSIO / eos

An open source smart contract platform
https://developers.eos.io/manuals/eos
MIT License
11.27k stars 3.6k forks source link

eosiocpp does not work properly. #5221

Closed oranke closed 6 years ago

oranke commented 6 years ago

I just clone eosio v1.1.4 and try to make contract. But eosiocpp does not work propery.

So I compare install log with last version I recorded. And filled missing files as follows.

$ cd ~/eos

# copy skeleton
$ sudo mkdir /usr/local/eosio/share/eosio -p
$ sudo cp build/share/eosio/skeleton /usr/local/eosio/share/eosio -R

# copy eosiolib headers
$ sudo cp contracts/eosiolib /usr/local/eosio/include -R

# copy libc++ headers
$ sudo mkdir /usr/local/eosio/include/libc++/upstream -p
$ sudo cp contracts/libc++/upstream/include /usr/local/eosio/include/libc++/upstream -R

# copy libc headers
$ sudo mkdir /usr/local/eosio/include/musl/upstream -p
$ sudo cp contracts/musl/upstream/include /usr/local/eosio/include/musl/upstream -R

# copy boost headers
$ sudo cp externals/magic_get/include/boost /usr/local/eosio/include -R

# copy libraries for link
$ sudo mkdir /usr/local/eosio/usr/share/eosio/contractsdk/lib -p
$ sudo cp build/contracts/eosiolib/eosiolib.bc /usr/local/eosio/usr/share/eosio/contractsdk/lib
$ sudo cp build/contracts/libc++/libc++.bc /usr/local/eosio/usr/share/eosio/contractsdk/lib
$ sudo cp build/contracts/musl/libc.bc /usr/local/eosio/usr/share/eosio/contractsdk/lib

It works fine. But I hope eosiocpp being installed properly next version. Have a niceos. :)

Lucklyric commented 6 years ago

It seems that "core_symbol.hpp" is missing under eosiolib folder.

oranke commented 6 years ago

Dear @Lucklyric .

In my case, core_symbol.hpp's pos is here.

$ ll /usr/local/eosio/include/eosio/chain/core_symbol.hpp

-rw-r--r-- 1 root root 219 Aug 14 18:16 /usr/local/eosio/include/eosio/chain/core_symbol.hpp

or

$ ll ~/eos/build/libraries/chain/include/eosio/chain/core_symbol.hpp

-rwxrwxrwx 1 oranke oranke 219 Aug 14 18:16 /home/oranke/eos/build/libraries/chain/include/eosio/chain/core_symbol.hpp*

Not in the eosiolib directory. :)

Lucklyric commented 6 years ago

@oranke You are right, there is one core_symbol.hpp under chain folder. However, core_symbol.hpp under chain should be different with core_symbol.hpp under eosiolib. core_symbol.hpp under chain use SY(4, SYS) to convert string to symbol, however, if I need to compile a contract I have to have a core_symbol.hpp under eosiolib with S(4,SYS).

gleehokie commented 6 years ago

Version 1.1.5 restores eosiocpp. Closing.