Opened 17 years ago

Closed 16 years ago

Last modified 16 years ago

#15284 closed defect (worksforme)

macfuse 1.5 build failure

Reported by: jmroot (Joshua Root) Owned by: kballard (Lily Ballard)
Priority: Normal Milestone:
Component: ports Version: 1.7.0
Keywords: Cc: blb@…, simon@…, jyrkiwahlstedt
Port: macfuse

Description

Running MP trunk on x86 Leopard. PhaseScriptExecution fails in the MacFUSE target with this message:

private method `gsub' called for 1:Fixnum
Usage: gen_bridge_metadata [options] <headers...>
Use the `-h' flag or consult gen_bridge_metadata(1) for help.

Full debug log attached.

Attachments (2)

macfuse.log (194.1 KB) - added by jmroot (Joshua Root) 17 years ago.
patch-sdk-project.pbxproj.diff (1.5 KB) - added by jmroot (Joshua Root) 16 years ago.
use /usr/bin/ruby instead of /usr/bin/env ruby

Download all attachments as: .zip

Change History (20)

Changed 17 years ago by jmroot (Joshua Root)

Attachment: macfuse.log added

comment:1 Changed 17 years ago by kballard (Lily Ballard)

Well that's curious. I'm using an x86 laptop with Leopard installed and latest trunk and it worked perfectly fine.

One especially puzzling thing is, at the end, it prints an error about ui_prefix. That definitely shouldn't happen.

Also, the error about gsub seems to be triggered by gen_bridge_metadata. I haven't a clue what's wrong.

comment:2 in reply to:  1 Changed 17 years ago by jmroot (Joshua Root)

Replying to eridius@macports.org:

One especially puzzling thing is, at the end, it prints an error about ui_prefix. That definitely shouldn't happen.

That at least seems unrelated. I've seen it before, and though I don't quite understand why it happens, it looks like it's coming from the second try/catch in macports::ui_init.

Changed 16 years ago by jmroot (Joshua Root)

use /usr/bin/ruby instead of /usr/bin/env ruby

comment:3 Changed 16 years ago by jmroot (Joshua Root)

Figured it out. It happens because gen_bridge_metadata is a ruby script that starts with #!/usr/bin/env ruby, and I have ruby installed with MacPorts, which apparently doesn't have everything that gen_bridge_metadata needs. Attached patch makes it run /usr/bin/ruby /usr/bin/gen_bridge_metadata instead of just /usr/bin/gen_bridge_metadata.

comment:4 Changed 16 years ago by jmroot (Joshua Root)

comment:5 Changed 16 years ago by jmroot (Joshua Root)

The MacFUSE issue was closed since it's Apple's bug and they don't want to work around it.

comment:6 Changed 16 years ago by antonin@…

I have same situation here. I've installed macports' ruby, but I've also deleted original ruby in /usr/bin/ruby (+whole original ruby installation).

The problem is in calling gen_bridge_metadata, which generates some bindings for dynamic languages. I hope, this step is needed only when you have something which will potentionally use them. This worked for me after failed install:

private method `gsub' called for 1:Fixnum
Usage: gen_bridge_metadata [options] <headers...>
Use the `-h' flag or consult gen_bridge_metadata(1) for help.
** BUILD FAILED **

Error: Status 1 encountered during processing.
$ sudo port clean macfuse
--->  Cleaning macfuse
$ sudo mv /usr/bin/gen_bridge_metadata /usr/bin/gen_bridge_metadata_hidden
$ sudo port install macfuse
--->  Fetching macfuse
--->  Verifying checksum(s) for macfuse
--->  Extracting macfuse
--->  Applying patches to macfuse
--->  Configuring macfuse
--->  Building macfuse with target all
--->  Staging macfuse into destroot
Warning: macfuse requests to install files outside the common directory structure!
--->  Installing macfuse 1.5_0
--->  Activating macfuse 1.5_0
--->  Cleaning macfuse
$ sudo mv /usr/bin/gen_bridge_metadata_hidden /usr/bin/gen_bridge_metadata

Hope it helps someone who is in the same situation ...

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

Did anybody identify which additional gems gen_bridge_metadata needs? I think we need to add those as build dependency for macfuse.

comment:8 Changed 16 years ago by raimue (Rainer Müller)

I filed a ticket with the BrideSupport project here at MacOSForge.

comment:9 Changed 16 years ago by antonin@…

MacFUSE 1.7.0 - different problem, but the same trick worked again.

[~] sudo port upgrade outdated
--->  Building macfuse with target all
Error: Target org.macports.build returned: shell command "cd /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_fuse_macfuse/work/macfuse-core && ./build_macfuse.sh | sed -ne '/^created: /h;p;${g;s/^created: //
                w ../dmgname
            }'; exit ${PIPESTATUS[0]}" returned error 1
Command output:     cd /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_fuse_macfuse/work/macfuse-core/sdk-objc
    /Developer/usr/bin/gcc-4.0 -x objective-c -arch ppc -pipe -Wno-trigraphs -fpascal-strings -fasm-blocks -Os -Werror -Wreturn-type -Wunused-variable -fmessage-length=0 -fobjc-gc -mtune=G5 -fvisibility=hidden -mmacosx-version-min=10.4 -gdwarf-2 -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_fuse_macfuse/work/macfuse-core/sdk-objc/build/MacFUSE.build/Release/MacFUSE.build/MacFUSE.hmap -F/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_fuse_macfuse/work/macfuse-core/sdk-objc/build/Release -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_fuse_macfuse/work/macfuse-core/sdk-objc/build/Release/include -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_fuse_macfuse/work/macfuse-core/sdk-objc/build/MacFUSE.build/Release/MacFUSE.build/DerivedSources -D__FreeBSD__=10 -D_FILE_OFFSET_BITS=64 -std=c99 -I/tmp/macfuse_out-10.5/pkgroot//usr/local/include -isysroot /Developer/SDKs/MacOSX10.4u.sdk -include /Library/Caches/com.apple.Xcode.0/SharedPrecompiledHeaders/MacFUSE_Prefix-gifxyjfghnseewepbaixprvzdpec/MacFUSE_Prefix.pch -c /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_fuse_macfuse/work/macfuse-core/sdk-objc/GMUserFileSystem.m -o /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_fuse_macfuse/work/macfuse-core/sdk-objc/build/MacFUSE.build/Release/MacFUSE.build/Objects-normal/ppc/GMUserFileSystem.o

CompileC build/MacFUSE.build/Release/MacFUSE.build/Objects-normal/i386/GMUserFileSystem.o /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_fuse_macfuse/work/macfuse-core/sdk-objc/GMUserFileSystem.m normal i386 objective-c com.apple.compilers.gcc.4_0
    cd /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_fuse_macfuse/work/macfuse-core/sdk-objc
    /Developer/usr/bin/gcc-4.0 -x objective-c -arch i386 -pipe -Wno-trigraphs -fpascal-strings -fasm-blocks -Os -Werror -Wreturn-type -Wunused-variable -fmessage-length=0 -fobjc-gc -fvisibility=hidden -mmacosx-version-min=10.4 -gdwarf-2 -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_fuse_macfuse/work/macfuse-core/sdk-objc/build/MacFUSE.build/Release/MacFUSE.build/MacFUSE.hmap -F/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_fuse_macfuse/work/macfuse-core/sdk-objc/build/Release -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_fuse_macfuse/work/macfuse-core/sdk-objc/build/Release/include -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_fuse_macfuse/work/macfuse-core/sdk-objc/build/MacFUSE.build/Release/MacFUSE.build/DerivedSources -D__FreeBSD__=10 -D_FILE_OFFSET_BITS=64 -std=c99 -I/tmp/macfuse_out-10.5/pkgroot//usr/local/include -isysroot /Developer/SDKs/MacOSX10.4u.sdk -include /Library/Caches/com.apple.Xcode.0/SharedPrecompiledHeaders/MacFUSE_Prefix-bmjldrtjjskegzhfygetbepbxijz/MacFUSE_Prefix.pch -c /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_fuse_macfuse/work/macfuse-core/sdk-objc/GMUserFileSystem.m -o /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_fuse_macfuse/work/macfuse-core/sdk-objc/build/MacFUSE.build/Release/MacFUSE.build/Objects-normal/i386/GMUserFileSystem.o

Ld /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_fuse_macfuse/work/macfuse-core/sdk-objc/build/MacFUSE.build/Release/MacFUSE.build/Objects-normal/i386/MacFUSE normal i386
    cd /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_fuse_macfuse/work/macfuse-core/sdk-objc
    /Developer/usr/bin/gcc-4.0 -o /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_fuse_macfuse/work/macfuse-core/sdk-objc/build/MacFUSE.build/Release/MacFUSE.build/Objects-normal/i386/MacFUSE -L/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_fuse_macfuse/work/macfuse-core/sdk-objc/build/Release -F/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_fuse_macfuse/work/macfuse-core/sdk-objc/build/Release -filelist /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_fuse_macfuse/work/macfuse-core/sdk-objc/build/MacFUSE.build/Release/MacFUSE.build/Objects-normal/i386/MacFUSE.LinkFileList -framework Foundation -arch i386 -Wl,-single_module -compatibility_version 1 -current_version 1 -install_name /Library/Frameworks/MacFUSE.framework/Versions/A/MacFUSE -dynamiclib -mmacosx-version-min=10.4 -lfuse -L/tmp/macfuse_out-10.5/pkgroot//usr/local/lib -isysroot /Developer/SDKs/MacOSX10.4u.sdk

Ld /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_fuse_macfuse/work/macfuse-core/sdk-objc/build/MacFUSE.build/Release/MacFUSE.build/Objects-normal/ppc/MacFUSE normal ppc
    cd /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_fuse_macfuse/work/macfuse-core/sdk-objc
    /Developer/usr/bin/gcc-4.0 -o /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_fuse_macfuse/work/macfuse-core/sdk-objc/build/MacFUSE.build/Release/MacFUSE.build/Objects-normal/ppc/MacFUSE -L/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_fuse_macfuse/work/macfuse-core/sdk-objc/build/Release -F/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_fuse_macfuse/work/macfuse-core/sdk-objc/build/Release -filelist /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_fuse_macfuse/work/macfuse-core/sdk-objc/build/MacFUSE.build/Release/MacFUSE.build/Objects-normal/ppc/MacFUSE.LinkFileList -framework Foundation -arch ppc -Wl,-single_module -compatibility_version 1 -current_version 1 -install_name /Library/Frameworks/MacFUSE.framework/Versions/A/MacFUSE -dynamiclib -mmacosx-version-min=10.4 -lfuse -L/tmp/macfuse_out-10.5/pkgroot//usr/local/lib -isysroot /Developer/SDKs/MacOSX10.4u.sdk

CreateUniversalBinary /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_fuse_macfuse/work/macfuse-core/sdk-objc/build/Release/MacFUSE.framework/Versions/A/MacFUSE normal "ppc i386"
    cd /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_fuse_macfuse/work/macfuse-core/sdk-objc
    /usr/bin/lipo -create /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_fuse_macfuse/work/macfuse-core/sdk-objc/build/MacFUSE.build/Release/MacFUSE.build/Objects-normal/ppc/MacFUSE /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_fuse_macfuse/work/macfuse-core/sdk-objc/build/MacFUSE.build/Release/MacFUSE.build/Objects-normal/i386/MacFUSE -output /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_fuse_macfuse/work/macfuse-core/sdk-objc/build/Release/MacFUSE.framework/Versions/A/MacFUSE

GenerateDSYMFile
    cd /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_p** BUILD FAILED **
orts_fuse_macfuse/work/macfuse-core/sdk-objc
    /Developer/usr/bin/dsymutil -o /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_fuse_macfuse/work/macfuse-core/sdk-objc/build/Release/MacFUSE.framework.dSYM /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_fuse_macfuse/work/macfuse-core/sdk-objc/build/Release/MacFUSE.framework/Versions/A/MacFUSE

PhaseScriptExecution /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_fuse_macfuse/work/macfuse-core/sdk-objc/build/MacFUSE.build/Release/MacFUSE.build/Script-FF8DE2320D4EFE7C0007BFF6.sh
    cd /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_fuse_macfuse/work/macfuse-core/sdk-objc
    /bin/sh -c /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_fuse_macfuse/work/macfuse-core/sdk-objc/build/MacFUSE.build/Release/MacFUSE.build/Script-FF8DE2320D4EFE7C0007BFF6.sh
mkdir: /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_fuse_macfuse/work/macfuse-core/sdk-objc/build/Release/MacFUSE.framework/Versions/A/Resources/BridgeSupport/: File exists
env: ruby: No such file or directory
** BUILD FAILED **

Error: Unable to upgrade port: 1
[~] ruby -v
ruby 1.8.7 (2008-06-20 patchlevel 22) [i686-darwin9]
[~] port outdated
The following installed ports are outdated:
macfuse                        1.5_0 < 1.7_0             
[~] sudo port clean macfuse
Password:
--->  Cleaning macfuse
[~] sudo mv /usr/bin/gen_bridge_metadata /usr/bin/gen_bridge_metadata_hidden
[~] sudo port install macfuse
--->  Fetching macfuse
--->  Verifying checksum(s) for macfuse
--->  Extracting macfuse
--->  Applying patches to macfuse
--->  Configuring macfuse
--->  Building macfuse with target all
--->  Staging macfuse into destroot
Warning: macfuse requests to install files outside the common directory structure!
--->  Installing macfuse 1.7_0
--->  Activating macfuse 1.7_0
Error: Target org.macports.activate returned: Image error: Another version of this port (macfuse @1.5_0) is already active.
Error: Status 1 encountered during processing.
[~] sudo port deactivate macfuse @1.5_0
--->  Deactivating macfuse 1.5_0
[~] sudo port activate macfuse @1.7_0
--->  Activating macfuse 1.7_0
[~] sudo mv /usr/bin/gen_bridge_metadata_hidden /usr/bin/gen_bridge_metadata

comment:10 Changed 16 years ago by blb@…

I don't think this is an issue with MacPorts ruby, as I deactivated ruby, and it failed; I updated /usr/bin/gen_bridge_metadata to specifically use /usr/bin/ruby, and it still fails with

    /bin/sh -c /opt/local/var/macports/build/_Users_blb_devel_macports_trunk_dports_fuse_macfuse/work/macfuse-core/sdk-objc/build/MacFUSE.build/Release/MacFUSE.build/Script-FF8DE2320D4EFE7C0007BFF6.sh
undefined local variable or method `trans' for <UNDEFINED> ... </>:REXML::Document
Usage: gen_bridge_metadata [options] <headers...>
Use the `-h' flag or consult gen_bridge_metadata(1) for help.
** BUILD FAILED **
}}

MacPorts trunk, 10.5.4, Xcode 3.0, MacBook Pro.

comment:11 Changed 16 years ago by blb@…

Cc: blb@… added

Cc Me!

comment:12 in reply to:  10 Changed 16 years ago by jmroot (Joshua Root)

Replying to blb@macports.org:

I don't think this is an issue with MacPorts ruby, as I deactivated ruby, and it failed; I updated /usr/bin/gen_bridge_metadata to specifically use /usr/bin/ruby, and it still fails

Confirmed. The workaround no longer helps with 1.7.

comment:13 Changed 16 years ago by raimue (Rainer Müller)

See #15889. There is a bug in rexml, which is a ruby gem Apple distributes with Leopard.

comment:14 Changed 16 years ago by simon@…

Cc: simon@… added

Cc Me!

comment:15 Changed 16 years ago by jyrkiwahlstedt

Cc: jwa@… added

Cc Me!

comment:16 Changed 16 years ago by jmroot (Joshua Root)

Port: macfuse added

This seems to have spontaneously resolved, but I can't see why it would have. 10.5.5 fixed #15889, but gen_bridge_metadata still has the same shebang line. Maybe something changed in the ruby port?

comment:17 Changed 16 years ago by jmroot (Joshua Root)

Resolution: worksforme
Status: newclosed

comment:18 Changed 16 years ago by (none)

Milestone: Port Bugs

Milestone Port Bugs deleted

Note: See TracTickets for help on using tickets.