fe5b Library problem installing Xilinx: ELF file OS ABI invalid - The FreeBSD Forums
The FreeBSD Forums  

Go Back   The FreeBSD Forums > Ports & Packages > Installation and Maintenance of FreeBSD Ports or Packages

Installation and Maintenance of FreeBSD Ports or Packages Installing and maintaining the FreeBSD Ports Collection or FreeBSD Packages (i.e. third party software).

Reply
 
Thread Tools Display Modes
  #1  
Old September 15th, 2010, 08:32
caesius caesius is offline
Member
 
Join Date: Nov 2008
Location: New Zealand
Posts: 273
Thanks: 56
Thanked 16 Times in 15 Posts
Default Library problem installing Xilinx: ELF file OS ABI invalid

I am following the FreeBSD wiki instructions for installing Xilinx ISE form here.

When I try to execute xinfo or xsetup I get the error:

Code:
> ./bin/lin/xinfo
/usr/home/benjamin/Desktop/xilinx/bin/lin/_xinfo: error while loading shared libraries: /usr/X11R6/lib/libXrender.so.1: ELF file OS ABI invalid
Code:
> ./bin/lin/xsetup 
/usr/home/benjamin/Desktop/xilinx/bin/lin/_xsetup: error while loading shared libraries: /usr/X11R6/lib/libX11.so.6: ELF file OS ABI invalid
>
I obviously have x11/libX11 installed. What is this error referring to? Is it something to do with brandelf?

Cheers, Benjamin
Reply With Quote
  #2  
Old September 15th, 2010, 11:23
SIFE SIFE is offline
Member
 
Join Date: Feb 2009
Location: When ever where ever
Posts: 462
Thanks: 51
Thanked 16 Times in 15 Posts
Default

trt to look in linux emulation folder for libX11.so.6, libXrender.so.1 and the from console :
Code:
brandelf -t Linux libX11.so.6
brandelf -t LinuxlibXrender.so.1
Reply With Quote
  #3  
Old September 16th, 2010, 22:06
caesius caesius is offline
Member
 
Join Date: Nov 2008
Location: New Zealand
Posts: 273
Thanks: 56
Thanked 16 Times in 15 Posts
Default

Thanks, yes I've already tried brandelf'ing things. It made no difference.

Why is it trying to use /usr/X11R6/lib/? Shouldn't it be looking in /compat/usr/local?

Last edited by DutchDaemon; September 17th, 2010 at 00:21.
Reply With Quote
  #4  
Old November 15th, 2010, 15:00
SIFE SIFE is offline
Member
 
Join Date: Feb 2009
Location: When ever where ever
Posts: 462
Thanks: 51
Thanked 16 Times in 15 Posts
Default

I have the some problem and question of you.
Reply With Quote
  #5  
Old June 19th, 2011, 00:43
cederom cederom is offline
Junior Member
 
Join Date: Mar 2009
Posts: 10
Thanks: 0
Thanked 0 Times in 0 Posts
Default

I had the same problem. I will try to describe how to solve it.. maybe it will be a good source for Wojtek's wiki page update

One thing before we start - Linux emulation on FreeBSD uses /usr/compat/linux as the root directory of the emulated Linux system, so all Linux dynamic libraries are referenced to that place (just as chroot) therefore if you need to edit ld.so.conf or similar, remember to pass directories without heading /usr/compat/linux and pass MANDATORY -r /usr/compat/linux to /usr/compat/linux/sbin/ldconfig.

I am working on a version Xilinx_ISE_DS_13.1_O.40d.1.1. There is a lib/lin subdirectory on top of the installation tarball. Copy its content into /usr/compat/linux/usr/lib/xilinx and then append the line /usr/lib/xilinx into /etc/ld.so.conf, or write that line into a new file /usr/compat/linux/etc/ld.so.conf.d/xilinx.conf. This will provide some libraries necessary to run xilinx binaries for Linux. Although xilinx developers provided all dynamic libraries required for binaries to work, the do not anymore, so we need to add them manually...

To refresh the dynamic library cache for Linux run /usr/compat/linux/sbin/ldconfig -r /usr/compat/linux -i Remember to make a backup of that file first - it may come handy to restore/compare dynamic configuration when something goes wrong.

The problem mentioned in this thread about /usr/X11R6/lib/libX11.so.6 can be solved relatively easy - as this library is available in /usr/lib (looking from linux-emulation perspective) and the /usr/X11R6/lib is empty, simply create a symlink that will provide a library at the reuqired location: ln -s /usr/compat/linux/usr/lib /usr/compat/linux/usr/X11R6/lib (how did the xilinx developers build the binary that it looks for a dyamic library only in a specific location totally ignoring its existence in other valid location?!). At this point xilinx should not complain about libX11.so.6.

But it will still complain about
Code:
/usr/X11R6/lib/libgthread-2.0.so.0: ELF file OS ABI invalid
and later
Code:
/usr/X11R6/lib/libglib-2.0.so.0: ELF file OS ABI invalid
Those files are located in /usr/compat/linux/lib, so create symlinks of those files where xilinx binaries want to have them and this will make Xilinx ISE work

Why those Linux xilinx binaries need to have dynamic libraries at a specific location, although they are available in other valid locations?

Example patching script, started from xilinx ise installation directory, can look as follows:
Code:
#!/bin/sh
mkdir /usr/compat/linux/usr/lib/xilinx
cp lib/lin/* /usr/compat/linux/usr/lib/xilinx/
echo "/usr/compat/linux/usr/lib/xilinx" >> /usr/compat/linux/etc/ld.so.conf.d/xilinx.conf
mv /usr/compat/linux/usr/X11R6/lib /usr/compat/linux/usr/X11R6/lib_orig
echo "/usr/compat/linux/usr/X11R6/lib_orig" >> /usr/compat/linux/etc/ld.so.conf.d/x11r6_orig.conf
ln -s /usr/compat/linux/usr/lib /usr/compat/linux/usr/X11R6/lib
ln -s /usr/compat/linux/lib/libgthread-2.0.so.0 /usr/compat/linux/usr/X11R6/lib/libgthread-2.0.so.0
ln -s /usr/compat/linux/lib/libglib-2.0.so.0 /usr/compat/linux/usr/X11R6/lib/libglib-2.0.so.0
Maybe the script can be simpler and only link necessary files, but there will be much more of them located either in /usr/compat/linux/lib or /usr/compat/linux/usr/lib so I have decided to simply link the whole directory.

Good luck!
__________________
CeDeROM, SQ7MHZ, http://www.tomek.cedro.info

Last edited by DutchDaemon; June 19th, 2011 at 01:48. Reason: Proper formatting: http://forums.freebsd.org/showthread.php?t=8816
Reply With Quote
  #6  
Old June 19th, 2011, 01:30
caesius caesius is offline
Member
 
Join Date: Nov 2008
Location: New Zealand
Posts: 273
Thanks: 56
Thanked 16 Times in 15 Posts
Default

Thanks for that info cederom, I'll give it another shot once I start doing HDL again next semester. I recall trying to get the Linux version of Xilinx going at a place I was working and I ended up having to delete the X11 libraries it supplied and force it to use the system's.

Would be great to have robust and stable HDL tools on FreeBSD
Reply With Quote
  #7  
Old June 19th, 2011, 10:28
cederom cederom is offline
Junior Member
 
Join Date: Mar 2009
Posts: 10
Thanks: 0
Thanked 0 Times in 0 Posts
Default

Yeah, it's working fine. The libraries are on the system but in a different place than the binary expects, so simply they need to be linked. It has nothing to do with binary branding. It's about location I will send an update soon on installing cable drivers, as this part failed for me at the end of installation and I have a USB Platform cable and a Spartan 3A-DSP develkit to test it on.

You can also try open source GHDL: http://ghdl.free.fr/ - there is no port yet for this software, I will prepare one after my diploma thesis is ready (around October).
__________________
CeDeROM, SQ7MHZ, http://www.tomek.cedro.info

Last edited by DutchDaemon; June 19th, 2011 at 23:03. Reason: Mind your writing style: http://forums.freebsd.org/showthread.php?t=18043
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
wine run problem (ELF interpreter /libexec/ld-elf.so.1 not found) sysman Installation and Maintenance of FreeBSD Ports or Packages 21 April 6th, 2011 00:46
[Solved] cups error while loading shared libraries: /usr/lib/libcups.so.2: ELF file OS ABI inv da1 Peripheral Hardware 2 August 28th, 2010 16:06
WINE Installing problem (ld-elf.so.1 not found) scorpion_2009 Installation and Maintenance of FreeBSD Ports or Packages 4 April 15th, 2010 13:25
[Solved] /libexec/ld-elf.so.1: /usr/local/lib/libintl.so.8: unsupported file layout rnejdl Installation and Maintenance of FreeBSD Ports or Packages 3 April 1st, 2010 21:55
[Solved] How do I recover from invalid rc.conf file viento General 4 January 15th, 2010 08:14


All times are GMT +1. The time now is 05:05.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2013, vBulletin Solutions, Inc.
The mark FreeBSD is a registered trademark of The FreeBSD Foundation and is used by The FreeBSD Project with the permission of The FreeBSD Foundation.
Web protection and acceleration provided by CloudFlare
0