Don't like the snow? You can make a bookmark with the following text instead of a url: javascript:snowStorm.toggleSnow(). Clicking it will toggle the snow on and off.
Our new Indie Games subforum is now open for business in G&T. Go and check it out, you might land a code for a free game. If you're developing an indie game and want to post about it, follow these directions. If you don't, he'll break your legs! Hahaha! Seriously though.
Our rules have been updated and given their own forum. Go and look at them! They are nice, and there may be new ones that you didn't know about! Hooray for rules! Hooray for The System! Hooray for Conforming!

Installing GMP C++ library on a macbook

cSpoogecSpooge Registered User regular
edited February 2007 in Help / Advice Forum
So I'm having trouble getting this library to install on my macbook. It will configure fine but when i got to make it, it spits out this at the end:
ranlib: file: .libs/libgmp.a(mp_clz_tab.o) has no symbols
ranlib: file: .libs/libgmp.a(obprintf.o) has no symbols
ranlib: file: .libs/libgmp.a(obvprintf.o) has no symbols
ranlib: file: .libs/libgmp.a(obprntffuns.o) has no symbols
ranlib: file: .libs/libgmp.a(repl-vsnprintf.o) has no symbols
ranlib .libs/libgmp.a
ranlib: file: .libs/libgmp.a(mp_clz_tab.o) has no symbols
ranlib: file: .libs/libgmp.a(obprintf.o) has no symbols
ranlib: file: .libs/libgmp.a(obvprintf.o) has no symbols
ranlib: file: .libs/libgmp.a(obprntffuns.o) has no symbols
ranlib: file: .libs/libgmp.a(repl-vsnprintf.o) has no symbols
creating libgmp.la
(cd .libs && rm -f libgmp.la && ln -s ../libgmp.la libgmp.la)


Now if I make install it it works fine when I go to use it (or use the NTL library which is dependent on GMP) it spits out errors saying theres no references to certain calls. I'm assume they're caused by the above problem. Anyone know how to fix it?

cSpooge on

Posts

  • mspencermspencer Registered User regular
    edited February 2007
    cSpooge wrote:
    So I'm having trouble getting this library to install on my macbook. It will configure fine but when i got to make it, it spits out this at the end:
    ranlib: file: .libs/libgmp.a(mp_clz_tab.o) has no symbols
    ranlib: file: .libs/libgmp.a(obprintf.o) has no symbols
    ranlib: file: .libs/libgmp.a(obvprintf.o) has no symbols
    ranlib: file: .libs/libgmp.a(obprntffuns.o) has no symbols
    ranlib: file: .libs/libgmp.a(repl-vsnprintf.o) has no symbols
    ranlib .libs/libgmp.a
    ranlib: file: .libs/libgmp.a(mp_clz_tab.o) has no symbols
    ranlib: file: .libs/libgmp.a(obprintf.o) has no symbols
    ranlib: file: .libs/libgmp.a(obvprintf.o) has no symbols
    ranlib: file: .libs/libgmp.a(obprntffuns.o) has no symbols
    ranlib: file: .libs/libgmp.a(repl-vsnprintf.o) has no symbols
    creating libgmp.la
    (cd .libs && rm -f libgmp.la && ln -s ../libgmp.la libgmp.la)
    


    Now if I make install it it works fine when I go to use it (or use the NTL library which is dependent on GMP) it spits out errors saying theres no references to certain calls. I'm assume they're caused by the above problem. Anyone know how to fix it?
    ranlib is trying to take a bunch of unlinked object code (various .o files) and add them to a library file (libgmp), and it's complaining that those output files don't contain any symbols -- basically they have nothing useful. So the linker has no work to do for that file, and that's usually a bad thing. So it complains.

    In each of those cases, either compilation is failing for those source files (so you would have error messages higher up in the process) or your system was goofy or the source tree sitting on your filesystem was corrupted.

    First I would try compiling again. 'make clean' erases all of the compilation work done so far. You might also have to see what 'make install' did, and go rip out whatever broken libraries it installed. So 'make clean' and then start over, and see if it does it again.

    If that doesn't work, see if you can capture the entire output of compilation and quote it here, snipping out the parts that look boring and repetitive (or leaving them in -- I don't care.) There's probably a warning up above that's causing something to fail, but strangely not triggering an error that causes the build to stop.

    Or if you don't want to do that -- or if you do that and everybody is stumped -- read the documentation and see what versions of what libraries you need, and make sure you really have those versions for those libraries.

    MEMBER OF THE PARANOIA GM GUILD
    XBL Michael Spencer || Wii 6007 6812 1605 7315 || PSN MichaelSpencerJr || Steam Michael_Spencer || Ham NOØK
    QRZ || My last known GPS coordinates: FindU or APRS.fi (Car antenna feed line busted -- no ham radio for me X__X )
  • cSpoogecSpooge Registered User regular
    edited February 2007
    mspencer wrote:
    cSpooge wrote:
    So I'm having trouble getting this library to install on my macbook. It will configure fine but when i got to make it, it spits out this at the end:
    ranlib: file: .libs/libgmp.a(mp_clz_tab.o) has no symbols
    ranlib: file: .libs/libgmp.a(obprintf.o) has no symbols
    ranlib: file: .libs/libgmp.a(obvprintf.o) has no symbols
    ranlib: file: .libs/libgmp.a(obprntffuns.o) has no symbols
    ranlib: file: .libs/libgmp.a(repl-vsnprintf.o) has no symbols
    ranlib .libs/libgmp.a
    ranlib: file: .libs/libgmp.a(mp_clz_tab.o) has no symbols
    ranlib: file: .libs/libgmp.a(obprintf.o) has no symbols
    ranlib: file: .libs/libgmp.a(obvprintf.o) has no symbols
    ranlib: file: .libs/libgmp.a(obprntffuns.o) has no symbols
    ranlib: file: .libs/libgmp.a(repl-vsnprintf.o) has no symbols
    creating libgmp.la
    (cd .libs && rm -f libgmp.la && ln -s ../libgmp.la libgmp.la)
    


    Now if I make install it it works fine when I go to use it (or use the NTL library which is dependent on GMP) it spits out errors saying theres no references to certain calls. I'm assume they're caused by the above problem. Anyone know how to fix it?
    ranlib is trying to take a bunch of unlinked object code (various .o files) and add them to a library file (libgmp), and it's complaining that those output files don't contain any symbols -- basically they have nothing useful. So the linker has no work to do for that file, and that's usually a bad thing. So it complains.

    In each of those cases, either compilation is failing for those source files (so you would have error messages higher up in the process) or your system was goofy or the source tree sitting on your filesystem was corrupted.

    First I would try compiling again. 'make clean' erases all of the compilation work done so far. You might also have to see what 'make install' did, and go rip out whatever broken libraries it installed. So 'make clean' and then start over, and see if it does it again.

    If that doesn't work, see if you can capture the entire output of compilation and quote it here, snipping out the parts that look boring and repetitive (or leaving them in -- I don't care.) There's probably a warning up above that's causing something to fail, but strangely not triggering an error that causes the build to stop.

    Or if you don't want to do that -- or if you do that and everybody is stumped -- read the documentation and see what versions of what libraries you need, and make sure you really have those versions for those libraries.

    hers a link to all the errors/output of ./configure,make and make install
    http://members.shaw.ca/dweevers/errors.html

  • mspencermspencer Registered User regular
    edited February 2007
    gcc -DHAVE_CONFIG_H -I. -I. -I.. -I..    -m32 -O2 -fomit-frame-pointer -mtune=pentium3 -march=pentium3 -c t-bswap.c
    /bin/sh ../libtool --mode=link gcc  -m32 -O2 -fomit-frame-pointer -mtune=pentium3 -march=pentium3   -o t-bswap  t-bswap.o libtests.la ../libgmp.la 
    gcc -m32 -O2 -fomit-frame-pointer -mtune=pentium3 -march=pentium3 -o t-bswap t-bswap.o  ./.libs/libtests.a /Users/cSpooge/Desktop/gmp-4.2.1/.libs/libgmp.a ../.libs/libgmp.a
    /usr/bin/ld: Undefined symbols:
    _calling_conventions_ebp
    _calling_conventions_ebx
    _calling_conventions_edi
    _calling_conventions_eflags
    _calling_conventions_esi
    _calling_conventions_fenv
    _calling_conventions_retaddr
    _calling_conventions_save_ebp
    _calling_conventions_save_ebx
    _calling_conventions_save_edi
    _calling_conventions_save_esi
    collect2: ld returned 1 exit status
    make[4]: *** [t-bswap] Error 1
    make[3]: *** [check-am] Error 2
    make[2]: *** [check-recursive] Error 1
    make[1]: *** [check-recursive] Error 1
    make: *** [check] Error 2
    
    That's really weird. Why would someone distribute a package with GNU autoconf if it contains strange CPU-specific operations?

    You might have to go Googling. Ideally all software is built with portability in mind, but it's possible this library wasn't and someone will need to spend time porting it. Have you checked if other people have had problems compiling this software?

    MEMBER OF THE PARANOIA GM GUILD
    XBL Michael Spencer || Wii 6007 6812 1605 7315 || PSN MichaelSpencerJr || Steam Michael_Spencer || Ham NOØK
    QRZ || My last known GPS coordinates: FindU or APRS.fi (Car antenna feed line busted -- no ham radio for me X__X )
  • JaninJanin Registered User
    edited February 2007
    According to the GMP home page, Apple's GCC is broken. I'm inclined to believe the problem is actually in GMP itself, since it's rather rare for any modern version of GCC to compile something incorrectly, but you might try installing a newer version of GCC.

    [SIGPIC][/SIGPIC]
  • BarrakkethBarrakketh Registered User regular
    edited February 2007
    According to my "research" GMP isn't supported on Intel MacBooks. You'd need to use something like MacPorts (which is like the *BSD ports system) if you want to get it installed.

Sign In or Register to comment.