Comments (8)
It says pc i.e. port compiler is not available becasue of which it is not able to compile. Let me look into why it is not able to find it.
from grapherl.
tried to compile the poject from scratch but couldn't replicate the issue. Do you have the latest code?
Also, since it is not able to fetch pc you can clone https://github.com/blt/port_compiler and place it
in the folder _build/default/plugins folder and try compiling.
from grapherl.
Yes, i cloned the latest code from this repo, and follow the quick start guide in README.md.
I don't know why the plugin pc
not available, i cloned the port_compiler repo to _build/default/plugins
(the plugins
folder not exist, i created it), but the compile failed with diff error messages.
root@xmpp:~/sources/grapherl/grapherl# make
rebar3 compile
===> Verifying dependencies...
===> Plugin pc not available. It will not be used.
===> Plugin pc not available. It will not be used.
===> Bad packages index, try to fix with `rebar3 update`
===> Compiling poolboy
===> Compiling mochiweb
===> Compiling goldrush
===> Compiling lager
===> Compiling neotoma
===> Compiling getopt
===> Compiling cuttlefish
===> Compiling eleveldb
Cloning into 'leveldb'...
Note: checking out '2.0.0'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:
git checkout -b new_branch_name
HEAD is now at d1a95db... Merge pull request #142 from basho/mv-comparator-segfault
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking build system type... x86_64-unknown-linux-gnu
...
...
...
g++ -I /root/sources/grapherl/grapherl/_build/default/lib/eleveldb/c_src/system/include -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -DSNAPPY -O2 -g -DNDEBUG -fPIC -c port/port_posix.cc -o port/port_posix.o
rm -f libleveldb.a
ar -rs libleveldb.a db/builder.o db/c.o db/dbformat.o db/db_impl.o db/db_iter.o db/filename.o db/log_reader.o db/log_writer.o db/memtable.o db/repair.o db/table_cache.o db/version_edit.o db/version_set.o db/write_batch.o table/block_builder.o table/block.o table/filter_block.o table/format.o table/iterator.o table/merger.o table/table_builder.o table/table.o table/two_level_iterator.o util/arena.o util/bloom2.o util/bloom.o util/cache2.o util/cache.o util/coding.o util/comparator.o util/crc32c.o util/db_list.o util/env.o util/env_posix.o util/filter_policy.o util/flexcache.o util/hash.o util/histogram.o util/hot_threads.o util/logging.o util/murmurhash.o util/options.o util/perf_count.o util/status.o util/throttle.o port/port_posix.o
ar: creating libleveldb.a
make[1]: Leaving directory `/root/sources/grapherl/grapherl/_build/default/lib/eleveldb/c_src/leveldb'
===> Unable to run post hooks for 'compile', command 'compile' in namespace 'pc' not found.
make: *** [compile] Error 1
from grapherl.
the error is still the same same i.e. the last line says that pc
is not found. The problem can be solved by manually compiling the deps that use pc
. But before we resort to that I want you try the following:
-
fetch and build the latest copy of
rebar3
$ git clone https://github.com/rebar/rebar3
$ cd rebar3
$ ./bootstrap
this will generate a rebar3 executable. Replace the existing rebar3
in the grapherl folder with this newly generated executable in rebar3 folder and try compiling the project.
-
If the above doesn't work then we try compiling the project by specifying the pc version.
-
open the
rebar.config
located in thegrapherl
folder and find the following:
{plugins, [pc]}
this located at two places i.e. https://github.com/processone/grapherl/blob/master/grapherl/rebar.config#L35 and https://github.com/processone/grapherl/blob/master/grapherl/rebar.config#L44and change it to
{plugins, [{pc, "0.2.0"}] }
after this try compiling the project.
-
-
If none of the above works then we will build every thing manually. do the following :
- comment out this section https://github.com/processone/grapherl/blob/master/grapherl/rebar.config#L25-L52 ( comments in erlang are with given with
%
) - go to directory _build/default/lib/procket and do
make
- go to directory _build/default/lib/eleveldb and do
make
here we are manually compiling the deps that required
pc
. Once the above are done, compile
grapherl again. - comment out this section https://github.com/processone/grapherl/blob/master/grapherl/rebar.config#L25-L52 ( comments in erlang are with given with
Let me know if any of this works for you.
from grapherl.
I compiled a new rebar3
then recompile, output the following messages:
root@xmpp:~/sources/grapherl/grapherl# make
rebar3 compile
===> Verifying dependencies...
===> Compiling eleveldb
make[1]: Entering directory `/root/sources/grapherl/grapherl/_build/default/lib/eleveldb/c_src/snappy-1.0.4'
make all-am
make[2]: Entering directory `/root/sources/grapherl/grapherl/_build/default/lib/eleveldb/c_src/snappy-1.0.4'
make[2]: Leaving directory `/root/sources/grapherl/grapherl/_build/default/lib/eleveldb/c_src/snappy-1.0.4'
make[1]: Leaving directory `/root/sources/grapherl/grapherl/_build/default/lib/eleveldb/c_src/snappy-1.0.4'
make[1]: Entering directory `/root/sources/grapherl/grapherl/_build/default/lib/eleveldb/c_src/snappy-1.0.4'
make[2]: Entering directory `/root/sources/grapherl/grapherl/_build/default/lib/eleveldb/c_src/snappy-1.0.4'
test -z "/root/sources/grapherl/grapherl/_build/default/lib/eleveldb/c_src/system/lib" || /bin/mkdir -p "/root/sources/grapherl/grapherl/_build/default/lib/eleveldb/c_src/system/lib"
/bin/bash ./libtool --mode=install /usr/bin/install -c libsnappy.la '/root/sources/grapherl/grapherl/_build/default/lib/eleveldb/c_src/system/lib'
libtool: install: /usr/bin/install -c .libs/libsnappy.so.1.1.2 /root/sources/grapherl/grapherl/_build/default/lib/eleveldb/c_src/system/lib/libsnappy.so.1.1.2
libtool: install: (cd /root/sources/grapherl/grapherl/_build/default/lib/eleveldb/c_src/system/lib && { ln -s -f libsnappy.so.1.1.2 libsnappy.so.1 || { rm -f libsnappy.so.1 && ln -s libsnappy.so.1.1.2 libsnappy.so.1; }; })
libtool: install: (cd /root/sources/grapherl/grapherl/_build/default/lib/eleveldb/c_src/system/lib && { ln -s -f libsnappy.so.1.1.2 libsnappy.so || { rm -f libsnappy.so && ln -s libsnappy.so.1.1.2 libsnappy.so; }; })
libtool: install: /usr/bin/install -c .libs/libsnappy.lai /root/sources/grapherl/grapherl/_build/default/lib/eleveldb/c_src/system/lib/libsnappy.la
libtool: install: /usr/bin/install -c .libs/libsnappy.a /root/sources/grapherl/grapherl/_build/default/lib/eleveldb/c_src/system/lib/libsnappy.a
libtool: install: chmod 644 /root/sources/grapherl/grapherl/_build/default/lib/eleveldb/c_src/system/lib/libsnappy.a
libtool: install: ranlib /root/sources/grapherl/grapherl/_build/default/lib/eleveldb/c_src/system/lib/libsnappy.a
libtool: finish: PATH="/usr/local/lib/erlang/erts-6.3/bin:/usr/local/lib/erlang/bin:/root/sources/grapherl/grapherl:/opt/iojs-v1.7.1-linux-x64/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/local/ssl/bin:/root/go/bin:/sbin" ldconfig -n /root/sources/grapherl/grapherl/_build/default/lib/eleveldb/c_src/system/lib
----------------------------------------------------------------------
Libraries have been installed in:
/root/sources/grapherl/grapherl/_build/default/lib/eleveldb/c_src/system/lib
If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
- add LIBDIR to the `LD_LIBRARY_PATH' environment variable
during execution
- add LIBDIR to the `LD_RUN_PATH' environment variable
during linking
- use the `-Wl,-rpath -Wl,LIBDIR' linker flag
- have your system administrator add LIBDIR to `/etc/ld.so.conf'
See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
test -z "/root/sources/grapherl/grapherl/_build/default/lib/eleveldb/c_src/system/share/doc/snappy" || /bin/mkdir -p "/root/sources/grapherl/grapherl/_build/default/lib/eleveldb/c_src/system/share/doc/snappy"
/usr/bin/install -c -m 644 ChangeLog COPYING INSTALL NEWS README format_description.txt '/root/sources/grapherl/grapherl/_build/default/lib/eleveldb/c_src/system/share/doc/snappy'
test -z "/root/sources/grapherl/grapherl/_build/default/lib/eleveldb/c_src/system/include" || /bin/mkdir -p "/root/sources/grapherl/grapherl/_build/default/lib/eleveldb/c_src/system/include"
/usr/bin/install -c -m 644 snappy.h snappy-sinksource.h snappy-stubs-public.h snappy-c.h '/root/sources/grapherl/grapherl/_build/default/lib/eleveldb/c_src/system/include'
make[2]: Leaving directory `/root/sources/grapherl/grapherl/_build/default/lib/eleveldb/c_src/snappy-1.0.4'
make[1]: Leaving directory `/root/sources/grapherl/grapherl/_build/default/lib/eleveldb/c_src/snappy-1.0.4'
make[1]: Entering directory `/root/sources/grapherl/grapherl/_build/default/lib/eleveldb/c_src/leveldb'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/root/sources/grapherl/grapherl/_build/default/lib/eleveldb/c_src/leveldb'
===> Compiling c_src/eleveldb.cc
===> Compiling c_src/refobjects.cc
===> Compiling c_src/threading.cc
===> Compiling c_src/workitems.cc
===> Linking priv/eleveldb.so
===> Missing artifact lib/eleveldb/priv/eleveldb.so
make: *** [compile] Error 1
from grapherl.
change this line https://github.com/processone/grapherl/blob/master/grapherl/rebar.config#L36 to
{artifacts, ["priv/eleveldb.so"]},
the latest rebar3 doesn't support that way of specifying artificats.
from grapherl.
@kansi Is there anything to change in repository to make that patch permanent ? Is that needed ?
from grapherl.
Yes, we need to update to newer version of rebar3 for building Grapherl. This along with some other changes will merged into master soon.
from grapherl.
Related Issues (11)
- Project name already in use
- Module is outdated.
- Please update rebar.config.
- badmatch on db_levelDB:insert HOT 3
- Grapherl compile issue HOT 2
- eleveldb compile error grapherl dev branch
- mod_metrics_test (Hook trigger error) HOT 2
- compile error HOT 1
- compile error pc plugin HOT 8
- Remove observer dep from grapherl
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from grapherl.