Opened 7 years ago

Closed 7 years ago

#54312 closed defect (invalid)

nasm doesn't support x86_64

Reported by: mikebenfield Owned by: mfeiri
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc:
Port: nasm

Description

For whatever reason, the nasm provided by MacPorts doesn't support 64 bit formats. This makes it pretty useless for most new assembly code.

$ nasm -hf
....
valid output formats for -f are (`*' denotes default):
  * bin       flat-form binary files (e.g. DOS .COM, .SYS)
    aout      Linux a.out object files
    aoutb     NetBSD/FreeBSD a.out object files
    coff      COFF (i386) object files (e.g. DJGPP for DOS)
    elf       ELF32 (i386) object files (e.g. Linux)
    as86      Linux as86 (bin86 version 0.3) object files
    obj       MS-DOS 16-bit/32-bit OMF object files
    win32     Microsoft Win32 (i386) object files
    rdf       Relocatable Dynamic Object File Format v2.0
    ieee      IEEE-695 (LADsoft variant) object file format
    macho     NeXTstep/OpenStep/Rhapsody/Darwin/MacOS X object files

Change History (4)

comment:1 Changed 7 years ago by ryandesign (Ryan Carsten Schmidt)

Owner: set to mfeiri@…
Port: nasm added
Status: newassigned

comment:2 Changed 7 years ago by gnw3

El Capitan running on a pre-trashcan format Mac Pro, macports nasm gives:

$ nasm -hf
[...]
valid output formats for -f are (`*' denotes default):
  * bin       flat-form binary files (e.g. DOS .COM, .SYS)
    ith       Intel hex
    srec      Motorola S-records
    aout      Linux a.out object files
    aoutb     NetBSD/FreeBSD a.out object files
    coff      COFF (i386) object files (e.g. DJGPP for DOS)
    elf32     ELF32 (i386) object files (e.g. Linux)
    elf64     ELF64 (x86_64) object files (e.g. Linux)
    elfx32    ELFX32 (x86_64) object files (e.g. Linux)
    as86      Linux as86 (bin86 version 0.3) object files
    obj       MS-DOS 16-bit/32-bit OMF object files
    win32     Microsoft Win32 (i386) object files
    win64     Microsoft Win64 (x86-64) object files
    rdf       Relocatable Dynamic Object File Format v2.0
    ieee      IEEE-695 (LADsoft variant) object file format
    macho32   NeXTstep/OpenStep/Rhapsody/Darwin/MacOS X (i386) object files
    macho64   NeXTstep/OpenStep/Rhapsody/Darwin/MacOS X (x86_64) object files
    dbg       Trace of all info passed to output stage
    elf       ELF (short name for ELF32)
    macho     MACHO (short name for MACHO32)
    win       WIN (short name for WIN32)

Nothing special about the configuration of this system except that it is using libgcc-devel @7-20170420_0 .

comment:3 Changed 7 years ago by mikebenfield

Indeed. I now get that too. Sorry about that; can't imagine what I was doing differently before.

comment:4 Changed 7 years ago by raimue (Rainer Müller)

Resolution: invalid
Status: assignedclosed

I guess you were running /usr/bin/nasm before, which shows the list as given in your initial report.

If you ran nasm before installing the port, your shell search in $PATH and stored the result /usr/bin/nasm in a cache. Now if you type nasm again, it will directly run /usr/bin/nasm without searching $PATH again. To clear this cache, run hash -r or open a new terminal window (which implies a new shell instance). Only then will the shell look up nasm in $PATH again and find it at /opt/local/bin/nasm.

Note: See TracTickets for help on using tickets.