pyephem: installation via pip fails - pyephem

I am trying to install pyephem on an OSX 10.7.5 system using pip. The installation process starts well, with many successful calls to gcc. But the installation fails with the error message:
ld: library not found for -lbundle1.o
collect2: ld returned 1 exit status
error: command 'gcc' failed with exit status 1
This occurs after the command:
gcc -bundle -undefined dynamic_lookup -g -arch i386 build/temp.macosx-10.5-i386-2.7/extensions/_libastro.o build/... [a whole list of .o files]
I also have tried using easy_install and the installation failed with the same error message.
I'm not an expert at all and can't find out what "bundle1" is. Any help would be much appreciated.
Andrew Fletcher

(Update: The OP, as indicated in the comment below, has avoided the problem by using ActiveState Python on his Mac, which might be a possible solution for other people who run into this problem.)
Well, wow — I have never seen that error before! Until other Stack Overflow denizens can offer more specific answers, I'll just point you in the direction of an Apple Mailing List post that I just found in which someone got the error because some sort of SDK was missing from their system:
http://lists.apple.com/archives/darwin-dev/2011/Apr/msg00016.html
If you do further Googling for the library name you might be able to turn up further details.

Related

Net::SSLeay::Handle compiling error in Ubuntu 16.04

I've a problem to install the aforementioned module via cpanm in my multi-threading version of Perl (not the original one).
I've Ubuntu 16.04.
When trying to compile and test this module it gives me the following error:
/usr/bin/ld: impossible to find -lz
collect2: error: ld returned 1 exit status
Makefile:494: instructions set for target "blib/arch/auto/Net/SSLeay/SSLeay.so" fail
make: *** [blib/arch/auto/Net/SSLeay/SSLeay.so] Error 1
-> FAIL Installing Net::SSLeay::Handle failed. See /home/my_name/.cpanm/work/1548275319.13675/build.log for details. Retry with --force to force install it.
openssl,ssllib-dev-perl,libnet-ssleay-perl, libcrypt-ssleay-perl already installed via apt-get.
I've also tried to compile manually this module, without success. I forced the installation too...no way.
The error seems linked with something missing in /usr/bin/ld: (impossible to find -lz collect2).
Is there anyone who can help me with this?
Cpanm has always worked pretty well. Up to now i've been able to get all my modules installed and well functioning, apart from Net::SSLeay::Handle.
Thanks in advace for your help
Ok, i solved by installing this packages (Ubuntu 16.04LTS):
-openssl
-libssl-dev
-libnet-ssleay-perl
-libcrypt-ssleay-perl
-zlib1g-dev as suggested above
Once you're done doing that, remember to avoid testing the module when gcc will be finishing compiling it, because in most cases it fails.
So the best incantation in doing this should be as follows:
-cpanm install -v --notest Net::SSLeay::Handle
Many thanks again to all Perl mates writing in this forum.
You saved the day
first log in cpan
sudo cpan
force intalling the module should work
force install Net::SSLeay::Handle
This should also install missing modules or notice it

Unable to compile "hello world" program with Swift on Ubuntu 14.04

Using Ubuntu 14.04
Distributor ID: Ubuntu
Description: Ubuntu 14.04.3 LTS
Release: 14.04
Codename: trusty
and trying to compile a hello world Swift program.
print("Hello World!")
I have verified the download:
gpg --verify swift-2.2-SNAPSHOT-2015-12-10-a-ubuntu14.04.tar.gz.sig
gpg: Signature made Thu 10 Dec 2015 07:17:37 PM PST using RSA key ID 412B37AD
gpg: Good signature from "Swift Automatic Signing Key #1 <swift-infrastructure#swift.org>"
gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.
Primary key fingerprint: 7463 A81A 4B2E EA1B 551F FBCF D441 C977 412B 37AD
But when I try and compile the hello world program I get this error:
> swiftc hello_world.swift
<unknown>:0: error: opening import file for module 'SwiftShims': No such file or directory
If I start up the Swift REPL I get a similar error:
~$ swift
Welcome to Swift version 2.2-dev (LLVM 7bae82deaa, Clang 53d04af5ce, Swift 5995ef2acd). Type :help for assistance.
1> y = 6
opening import file for module 'SwiftShims': No such file or directory
1>
If I follow the instructions given here on using "swift build" versus "swiftc" for compiling a Hello World Swift program, I get a different error:
$ swift build
<unknown>:0: error: opening import file for module 'Swift': No such file or directory
swift-build: exit(1): ["/home/scooter/Programs/Swift/V2.2/bin/swiftc", "--driver-mode=swift", "-I", "/home/scooter/Programs/Swift/V2.2/lib/swift/pm", "-L", "/home/scooter/Programs/Swift/V2.2/lib/swift/pm", "-lPackageDescription", "/home/scooter/code/swift/helloworld-project/Package.swift"]
Executing the interpreter:
$ swift hello_world.swift
gives
<unknown>:0: error: opening import file for module 'SwiftShims': No such file or directory
strace gets an error trying to run swift:
$ strace -o /tmp/swift.log -- swift <(echo '1 + 1')
<unknown>:0: error: opening import file for module 'SwiftShims': No such file or directory
open("/home/user/Programs/Swift/V2.2/lib/swift/linux/x86_64/SwiftShims.swiftmodule",
O_RDONLY) = -1 ENOENT (No such file or directory)
Sorry for adding as an answer what should have really been a comment content-wise, but it is a little too long for a comment.
As far as I can tell, this is indeed the same problem as described in Swift on Linux: Make very first step work. I have been looking into this myself in my spare time, but no luck so far. The user who asked the other question has been pursuing it and has some interesting recent updates there.
A few things to try:
See if the swift interpreter works. Just type swift hello_world.swift and see what happens. I don't think it will work. If it does not, then run the strace command as follows:
strace -o /tmp/swift.log -- swift <(echo '1 + 1')
and look at /tmp/swift.log. See what files cannot be found, especially near the end of the output. Warning: even on a system where the error doesn't happen (I haven't been able to reproduce it yet), the strace output shows a lot of No such file... errors.
You can also try swift and swiftrc with the -v option to enable verbose output and see if you notice anything suspicious.
Update 1/2/2016:
The question referenced earlier has been updated with a possible solution to the problem: get rid of non-standard installations of gcc, g++, libgcc, and libstdc++. Please see the comments in the other question.
Update 1/3/2016:
Using the clues from the discussion on the other question, I've been able to reproduce the problem by installing gcc-5.1.0 from source and pre-pending the location of the newly-installed libstdc++.so.6 to the LD_LIBRARY_PATH variable.
The problem could be solved as follows:
1) Figure out where libstdc++.so.6 from the older package is installed. On my system:
user#ubuntu14:~$ dpkg -l | grep libstdc++
ii libstdc++-4.8-dev:amd64 4.8.4-2ubuntu1~14.04 amd64 GNU Standard C++ Library v3 (development files)
ii libstdc++6:amd64 4.8.4-2ubuntu1~14.04 amd64 GNU Standard C++ Library v3
user#ubuntu14:~$ dpkg -L libstdc++6 | grep libstdc++.so
/usr/share/gdb/auto-load/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19-gdb.py
/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19
/usr/lib/x86_64-linux-gnu/libstdc++.so.6
2) Prepend the location of libstdc++.so.6 to $LD_LIBRARY_PATH:
export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH
3) Double-check that the swift binary is using the correct shared library:
user#ubuntu14:~$ ldd `which swift` | grep libstdc++
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fdd1476b000)
Now Swift should work without the error in question.
Do you have a non standard install using a PPA or any libraries for the build chain built from source? Particularly libstdc++. Please see my answer for Swift on Linux: Make very first step work.

How do I set up SDL with Codeblocks on Raspbian

I have a program I wrote in windows using the SDL library that I would like to compile for Raspbian. I installed CodeBlocks on the Raspbian and followed these instructions to set up SDL: http://lazyfoo.net/tutorials/SDL/01_hello_SDL/windows/codeblocks/
I get the following error:
g++ -LC:/SDL/lib -o bin/Debug/SDL_menu obj/Debug/main.o
obj/Debug/menu.o -lmingw32 -lSDL2main -lSDL2
obj/Debug/menu.o: file not recognized: File format not recognized
collect2: error: ld returned 1 exit status
I later tried this tutorial (which actually matches the version of SDL I am using, although I used the previous tutorial to get it to work on Windows): http://lazyfoo.net/tutorials/SDL/01_hello_SDL/linux/codeblocks/index.php
And I get the error:
ld||cannot find -lSDL2|
I have very little experience with Raspbian or Linux which is probably why this is so difficult.
What can I do to get this set up?
You need to install all SDL2-dev packages.
apt-get install libsdl2-dev libsdl2-image-dev libsdl2-ttf-dev
The include folder will probably be /usr/include/SDL2.
And by inspecting your build command, you're trying to pass Windows style path on a Unix machine, that doesn't end well for sure. Don't link with mingw32 if you're not using Mingw32 compiler, and you should only link against mingw32 on Windows as well.

Cabal install error /usr/bin/ld: --hash-size=31: unknown option

When trying to install any package on my computer using a command like
cabal install http-conduit
the installation aborts with the following error:
/usr/bin/ld: --hash-size=31: unknown option
How can I resolve this?
Note: This question intentionally doesn't show research effort, because it was answered immediately in a Q&A-Style manner.
This issue occurs with the binutils-gold package and GHC 7.4. There is an old mailing list entry discussing this issue.
You might need binutils-gold for LLVM for example, but GHC 7.4 can't handle the GOLD linker correctly, because it doesn't understand the --hash-size option.
As noted on the mailing list post, the solution to this is to remove binutils-gold, e.g. on Ubuntu use:
sudo apt-get remove binutils-gold
This will re-symlink /usr/bin/ld to a non-GOLD linker version. After that, repeat the cabal install command.

How to resolve error "Undefined reference to `pcap_parse'"

I am trying to use the libpcap library in a C++ program.
I have downloaded libpcap-1.0.0.tgz, untared it, and then
./configer
make
make install
I have libpcap.a and headers with me, and I have written one sample program to test it. But it is giving me compiler errors as follows:
/usr/local/lib/libpcap.a(gencode.o): In function `.L151':
gencode.c:(.text+0x7f4): undefined reference to `pcap_parse'
collect2: ld returned 1 exit status
I am compiling this program using following command:
g++ -o test test.cpp -lpcap
Am i doing anything wrong in building libpcap and headers?
I'm pretty sure you need to pass -lpcap before test.cpp
Try installing libstdc++-4.8-dev - this worked for me when I had a similar issue.
You have to install Libpcap-devel using this command ( sudo apt-get install libpcap-dev ) if it doesn't work install flex too (sudo apt-get install bison)
good luck
Include grammar.c which gets generated after you run ./configure and make.