Sponsored Content
Top Forums Programming C++ Linking Error: invalid DSO for symbol Post 302931009 by AntumDeluge on Friday 9th of January 2015 11:02:31 AM
Old 01-09-2015
Quote:
Originally Posted by achenle
What's the output from "file .../main.o" and all your other object files, from both GCC and clang? Maybe something shows up there.
Clang:
Code:
$ for o in `ls | grep -i "\.o"`; do file ${o}; done
abc.o: ELF 64-bit LSB relocatable, x86-64, version 1 (FreeBSD), not stripped
gnrcabt.o: ELF 64-bit LSB relocatable, x86-64, version 1 (FreeBSD), not stripped
main.o: ELF 64-bit LSB relocatable, x86-64, version 1 (FreeBSD), not stripped

g++:
Code:
$ for o in `ls | grep -i "\.o"`; do file ${o}; done
abc.o: ELF 64-bit LSB relocatable, x86-64, version 1 (FreeBSD), not stripped
gnrcabt.o: ELF 64-bit LSB relocatable, x86-64, version 1 (FreeBSD), not stripped
main.o: ELF 64-bit LSB relocatable, x86-64, version 1 (FreeBSD), not stripped

--- Edit ---

After stripping the object files I got this error from Clang:
Code:
/usr/bin/ld: error in gnrcabt.o(.eh_frame); no .eh_frame_hdr table will be created.
/usr/bin/ld: error in abc.o(.eh_frame); no .eh_frame_hdr table will be created.
/usr/bin/ld: error in main.o(.eh_frame); no .eh_frame_hdr table will be created.
/usr/lib/crt1.o: In function `_start':
/usr/src/lib/csu/amd64/crt1.c:(.text+0x16b): undefined reference to `main'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
*** Error code 1


Last edited by AntumDeluge; 01-09-2015 at 12:09 PM..
 

9 More Discussions You Might Find Interesting

1. Programming

Linking problem while linking to shared library

Hi I'm getting ld: fatal: option -h and building a dynamic executable are incompatible ld: fatal: Flags processing errors When I run ld -shared -L/usr/dt/lib -lDtSvc -o builtin.so Workspace.o after running gcc -fPIC -I/usr/X11R6/include -I/usr/dt/include -c Workspace.c I'm... (6 Replies)
Discussion started by: laho
6 Replies

2. Programming

symbol referencing error

Undefined first referenced symbol in file std::basic_ostream<char, std::char_traits<char> >::operator<<(int)/var/tmp//ccTR std::cerr /var/tmp//ccTRcjui.o std::cout /var/tmp//ccTRcjui.o... (1 Reply)
Discussion started by: suhasini
1 Replies

3. UNIX for Dummies Questions & Answers

Link error while linking a shared library in unix

Getting the following error , ld: /opt/syncsort39/lib/libsyncsort.sl: Mismatched ABI. 64-bit PA shared library found in 32-bit link. Is there any difference in the ld options in opt file while linking a 64 bit shared library ? Or is the problem because we are trying to link both 32 bit and 64... (3 Replies)
Discussion started by: arunkumar_mca
3 Replies

4. Programming

Symbol referencing error

Hey everyone, I can't figure out this symbol referencing error after looking at it for the longest time, and I figured some fresh eyes might be able to point something out I am overlooking. Undefined first referenced symbol in... (1 Reply)
Discussion started by: fromatz
1 Replies

5. Web Development

Apache + DSO PHP

Hello, guys! I have a web server that uses PHP as DSO. Do you know any tool that can help me monitoring the CPU usage for any domain/subdomain that is hosted on this server? (1 Reply)
Discussion started by: Sergiu-IT
1 Replies

6. Solaris

/usr/lib/passwdutil.so.1: symbol __nsl_fgetspent_r: referenced symbol not found

deleteing post (0 Replies)
Discussion started by: dshakey
0 Replies

7. Shell Programming and Scripting

01.30 Invalid shell error

Hi, I am getting the error 01.30 Invalid shell error I am running the bash shell script in the korn login shell. I have mentioned the #!/bin/bash statement in the my script but not sure why it is giving this error to me.. (4 Replies)
Discussion started by: mr_harish80
4 Replies

8. Programming

C program multiple definition error during linking time

Hi, I have the following files: // file.hvoid foo(); int i = 5; // should be just declared as extern int i; // file1.c#include <stdio.h> #include "file.h" void foo() { i = 10; printf("%d\n", i); } // file2.c#include <stdio.h> #include "file.h" int main() { foo(); (9 Replies)
Discussion started by: royalibrahim
9 Replies

9. Linux

Help with Linux linking error

Hi, Currently I am migrating codes from unix to Linux. When doing linking(ld) getting the below error. Error is :ld: invalid BFD target `--shared' Providing the script of the ld: ld -b -G -o lib/libatk.so ./src/atk_db.o ./src/atk_gcl.o ./src/atk_options.o ./src/atk_exception.o... (1 Reply)
Discussion started by: jrkar
1 Replies
YASM_OBJFMTS(7) 					   Yasm Supported Object Formats					   YASM_OBJFMTS(7)

NAME
yasm_objfmts - Yasm Supported Object Formats SYNOPSIS
yasm -f objfmt ... DESCRIPTION
The standard Yasm distribution includes a number of modules for different object formats (Yasm's primary output). The object format is selected on the yasm(1) command line by use of the -f objfmt command line option. BIN
The "bin" object format produces a flat-format, non-relocatable binary file. It is appropriate for producing DOS .COM executables or things like boot blocks. It supports only 3 sections and those sections are written in a predefined order to the output file. COFF
The COFF object format is an older relocatable object format used on older Unix and compatible systems, and also (more recently) on the DJGPP development system for DOS. DBG
The "dbg" object format is not a "real" object format; the output file it creates simply describes the sequence of calls made to it by Yasm and the final object and symbol table information in a human-readable text format (that in a normal object format would get processed into that object format's particular binary representation). This object format is not intended for real use, but rather for debugging Yasm's internals. ELF
The ELF object format really comes in two flavors: "elf32" (for 32-bit targets) and "elf64" (for 64-bit targets). ELF is a standard object format in common use on modern Unix and compatible systems (e.g. Linux, FreeBSD). ELF has complex support for relocatable and shared objects. MACHO
The Mach-O object format really comes in two flavors: "macho32" (for 32-bit targets) and "macho64" (for 64-bit targets). Mach-O is used as the object format on MacOS X. As Yasm currently only supports x86 and AMD64 instruction sets, it can only generate Mach-O objects for Intel-based Macs. RDF
The RDOFF2 object format is a simple multi-section format originally designed for NASM. It supports segment references but not WRT references. It was designed primarily for simplicity and has minimalistic headers for ease of loading and linking. A complete toolchain (linker, librarian, and loader) is distributed with NASM. WIN32 The Win32 object format produces object files compatible with Microsoft compilers (such as Visual C++) that target the 32-bit x86 Windows platform. The object format itself is an extended version of COFF. WIN64 The Win64 object format produces object files compatible with Microsoft compilers that target the 64-bit "x64" Windows platform. This format is very similar to the win32 object format, but produces 64-bit objects. XDF
The XDF object format is essentially a simplified version of COFF. It's a multi-section relocatable format that supports 64-bit physical and virtual addresses. SEE ALSO
yasm(1), yasm_arch(7) AUTHOR
Peter Johnson <peter@tortall.net> Author. COPYRIGHT
Copyright (C) 2006 Peter Johnson Yasm February 2007 YASM_OBJFMTS(7)
All times are GMT -4. The time now is 09:11 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy