Giter Club home page Giter Club logo

Comments (12)

rescrv avatar rescrv commented on July 19, 2024

My first instinct would be to say that the "libtool" package is not installed. On my Debian box, the package can be installed with:

aptitude install libtool

If you're building everything from scratch, the following line should get you the packages you need:

aptitude install libbsd-dev libgoogle-glog-dev pkg-config autotools-dev python-dev automake autoconf libtool make g++

You'll have to manually install CityHash (or use libcityhash-dev from our Debian repo).

If this does not work, can you please attach config.log?

from hyperdex.

annie2010 avatar annie2010 commented on July 19, 2024

Thanks Robert for more detail instruction to install dev and build tools. It seems that libtool is in place. I also installed CityHash by hand. "autoreconf -i" works for me now.

However, I had a problem to prep for make when running "configure". By the way, I obtained source from github directly. How to fix this problem?

./configure --prefix=/home/nokia/src/repo/tng/branches/dev/annie/hyperdex/HyperDex

...
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for PO6... no
configure: error: Package requirements (libpo6 >= 0.2) were not met:

No package 'libpo6' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

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

from hyperdex.

annie2010 avatar annie2010 commented on July 19, 2024

Also see some errors related to HyperDex in config.log.

196 conftest.c:11:28: error: ac_nonexistent.h: No such file or directory
197 configure:7270: $? = 1
198 configure: failed program was:
199 | /* confdefs.h /
200 | #define PACKAGE_NAME "HyperDex"
201 | #define PACKAGE_TARNAME "hyperdex"
202 | #define PACKAGE_VERSION "0.1.dev"
203 | #define PACKAGE_STRING "HyperDex 0.1.dev"
204 | #define PACKAGE_BUGREPORT "[email protected]"
205 | #define PACKAGE_URL ""
206 | #define PACKAGE "hyperdex"
207 | #define VERSION "0.1.dev"
208 | /
end confdefs.h. */
209 | #include <ac_nonexistent.h>
210 configure:7295: result: gcc -E
211 configure:7315: gcc -E conftest.c
212 configure:7315: $? = 0
213 configure:7329: gcc -E conftest.c
214 conftest.c:11:28: error: ac_nonexistent.h: No such file or directory
215 configure:7329: $? = 1

from hyperdex.

annie2010 avatar annie2010 commented on July 19, 2024

Errors about "libpo6" in config.log:

511 configure:16097: checking pkg-config is at least version 0.9.0
512 configure:16100: result: yes
513 configure:16110: checking for PO6
514 configure:16117: $PKG_CONFIG --exists --print-errors "libpo6 >= 0.2"
515 Package libpo6 was not found in the pkg-config search path.
516 Perhaps you should add the directory containing libpo6.pc' 517 to the PKG_CONFIG_PATH environment variable 518 No package 'libpo6' found 519 configure:16120: $? = 1 520 configure:16133: $PKG_CONFIG --exists --print-errors "libpo6 >= 0.2" 521 Package libpo6 was not found in the pkg-config search path. 522 Perhaps you should add the directory containinglibpo6.pc'
523 to the PKG_CONFIG_PATH environment variable
524 No package 'libpo6' found
525 configure:16136: $? = 1
526 configure:16149: result: no
527 No package 'libpo6' found
528 configure:16165: error: Package requirements (libpo6 >= 0.2) were not met:
529
530 No package 'libpo6' found
531
532 Consider adjusting the PKG_CONFIG_PATH environment variable if you
533 installed software in a non-standard prefix.
534
535 Alternatively, you may set the environment variables PO6_CFLAGS
536 and PO6_LIBS to avoid the need to call pkg-config.
537 See the pkg-config man page for more details.

from hyperdex.

rescrv avatar rescrv commented on July 19, 2024

You'll need to install "po6" and "e" from the other repos I have on GitHub before configure will complete successfully.

It is safe to ignore "ac_nonexistent.h" as it is intentionally non-existent. Autoconf uses this to check what warning or error is issued by the compiler for non-existent headers.

from hyperdex.

annie2010 avatar annie2010 commented on July 19, 2024

I noted 4 dependencies for HyperDex. Two from Google for "CityHash" and "Glog", and two from cornell for "po06" and "e". I followed instructions and had all 4 pieces of software in place in addition to "HyperDex" code base.

But I still got the above configuration err. Would u pls help?

Details:

A) Downloaded from github repo.

$ git clone git://git.hyperdex.org/po6.git
$ git clone git://git.hyperdex.org/e.git

B) po6 and e are in place

nokia@vm01:~/src/repo/tng/branches/dev/annie/hyperdex/HyperDex$ ls po6

config.h.in configure.ac include libpo6-0.2.dev.pc.in libpo6.pc.in LICENSE m4 Makefile.am README test

from hyperdex.

annie2010 avatar annie2010 commented on July 19, 2024

I looked to help for "configure". The following flags seem to be related to "po6" and "e".

How to use these flags?

By the way, why does not "autogen.sh" in HyperDex work? How to validate 4 dependencies are installed correctly to pursue for configuration, then make ...

PO6_CFLAGS C compiler flags for PO6, overriding pkg-config
PO6_LIBS linker flags for PO6, overriding pkg-config
E_CFLAGS C compiler flags for E, overriding pkg-config
E_LIBS linker flags for E, overriding pkg-config

from hyperdex.

rescrv avatar rescrv commented on July 19, 2024

You'll need to run:

./configure
make
sudo make install

for each of po6 and e (in that order). It looks like you've only cloned the repos and not fully installed them.

from hyperdex.

annie2010 avatar annie2010 commented on July 19, 2024

Thanks for response.

But there is no "configure" for "po6" or "e" from repo.

from hyperdex.

annie2010 avatar annie2010 commented on July 19, 2024

Able to create "configure" for "po6" and "e". But, the result for "make install" looks as following.

What else can be missing?

../po6# make install
Making install in include
make[1]: Entering directory /scratchbox/users/nokia/home/nokia/src/repo/tng/branches/dev/annie/hyperdex/po6/include' make[2]: Entering directory/scratchbox/users/nokia/home/nokia/src/repo/tng/branches/dev/annie/hyperdex/po6/include'
make[2]: Nothing to be done for install-exec-am'. test -z "/usr/local/include" || /bin/mkdir -p "/usr/local/include" /bin/mkdir -p '/usr/local/include/po6' /usr/bin/install -c -m 644 po6/error.h po6/noncopyable.h po6/pathname.h '/usr/local/include/po6' /bin/mkdir -p '/usr/local/include/po6/net' /usr/bin/install -c -m 644 po6/net/ipaddr.h po6/net/location.h po6/net/socket.h '/usr/local/include/po6/net' /bin/mkdir -p '/usr/local/include/po6/io' /usr/bin/install -c -m 644 po6/io/fd.h '/usr/local/include/po6/io' /bin/mkdir -p '/usr/local/include/po6/threads' /usr/bin/install -c -m 644 po6/threads/rwlock.h po6/threads/cond.h po6/threads/spinlock.h po6/threads/thread.h po6/threads/mutex.h po6/threads/barrier.h '/usr/local/include/po6/threads' make[2]: Leaving directory/scratchbox/users/nokia/home/nokia/src/repo/tng/branches/dev/annie/hyperdex/po6/include'
make[1]: Leaving directory /scratchbox/users/nokia/home/nokia/src/repo/tng/branches/dev/annie/hyperdex/po6/include' Making install in test make[1]: Entering directory/scratchbox/users/nokia/home/nokia/src/repo/tng/branches/dev/annie/hyperdex/po6/test'
make[2]: Entering directory /scratchbox/users/nokia/home/nokia/src/repo/tng/branches/dev/annie/hyperdex/po6/test' make[2]: Nothing to be done forinstall-exec-am'.
make[2]: Nothing to be done for install-data-am'. make[2]: Leaving directory/scratchbox/users/nokia/home/nokia/src/repo/tng/branches/dev/annie/hyperdex/po6/test'
make[1]: Leaving directory /scratchbox/users/nokia/home/nokia/src/repo/tng/branches/dev/annie/hyperdex/po6/test' make[1]: Entering directory/scratchbox/users/nokia/home/nokia/src/repo/tng/branches/dev/annie/hyperdex/po6'
make[2]: Entering directory /scratchbox/users/nokia/home/nokia/src/repo/tng/branches/dev/annie/hyperdex/po6' make[2]: Nothing to be done forinstall-exec-am'.
test -z "/usr/local/lib/pkgconfig" || /bin/mkdir -p "/usr/local/lib/pkgconfig"
/usr/bin/install -c -m 644 libpo6-0.2.dev.pc '/usr/local/lib/pkgconfig'
make[2]: Leaving directory /scratchbox/users/nokia/home/nokia/src/repo/tng/branches/dev/annie/hyperdex/po6' make[1]: Leaving directory/scratchbox/users/nokia/home/nokia/src/repo/tng/branches/dev/annie/hyperdex/po6'

from hyperdex.

annie2010 avatar annie2010 commented on July 19, 2024

able to install "po6" and "e".

checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for PO6... yes
checking for E... yes

But got err when running "configure" to generate "make" file ..

./configure: line 16855: syntax error near unexpected token >' ./configure: line 16855: AC_PYTHON_DEVEL(>= 2.6)'

from hyperdex.

annie2010 avatar annie2010 commented on July 19, 2024

mark as a dup for #10.

from hyperdex.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.