#24 (cannot find modules when run from different location) – The Yasm Modular Assembler Project

Ticket #24 (closed defect: fixed)

Opened 5 years ago

Last modified 2 years ago

cannot find modules when run from different location

Reported by: simonjpaulger@… Owned by: peter@…
Priority: P2 Milestone: 0.4.0
Component: Build Tools / Libraries Version: 0.3.0
Severity: major Keywords:
Cc:

Description

Hi,
i reported another bug, #23, about the failure of yasm to compile on my system.
Well i was eager to get it running so after looking at the error with the
macros.pl file i commented out the last else statement in marcos.pl, compiled
and it works fine but with some side effects. Thus, there probably not real bugs
but ill submit them anyway.

yasm assembles some code i have written that nasm would normally assemble, does
that fine. and it also assembled some basic amd64 code that i wrote (just 1 mov
instruction), works good.

Except the program can only understand the parse option when i run yasm from
within the source directory i make'd it in (i never ran make install). If i try
to call yasm outside the source directory it complains with unknown parser 'nasm'.

The command used to assemble my current 32bit code was
'./yasm -p nasm -f elf <filename>'
the command was used inside my own install script for my own project so filename
would be substituted for every asm file i have.

the command used to assembly my example amd64 code was 
./yasm -p nasm -m amd64 -f elf ~/test.asm
This was done within the src dir, else the above discussed error occures.

The example 64bit code i wrote is attached.

Simon.

Attachments

Change History

comment:1 Changed 5 years ago by simonjpaulger@…

Created an attachment (id=5)
x86-64 asm example code

comment:2 Changed 5 years ago by simonjpaulger@…

Created an attachment (id=6)
The REAL x86-64 example code used - the old the 32bit example code used ;)

comment:3 Changed 5 years ago by peter@…

  • status changed from new to assigned
  • component changed from core to build tools / libraries
  • summary changed from yasm preprocessor to cannot find modules when run from different location
Yes, we are aware of this problem.  It's due to the way libtool and the dynamic
library loader libltdl look for loadable modules.  I've tried looking at fixing
this before, but have not yet found a solution.

There are two possible workarounds: run "make install" or build yasm statically
(with modules built into the main executable) by running "./configure
--disable-shared" (rather than just ./configure) before building with make.

comment:4 Changed 5 years ago by peter@…

  • status changed from assigned to resolved
  • resolution set to fixed
Fixed in CVS as of yasm.c rev 1.113.

Add/Change #24 (cannot find modules when run from different location)

Author



Action
as closed
Next status will be 'reopened'
 
Note: See TracTickets for help on using tickets.