freecad linking errors

Mark Brethen mark.brethen at gmail.com
Sun Jul 13 19:49:16 PDT 2014


On Jul 13, 2014, at 8:18 PM, Mark Brethen <mark.brethen at gmail.com> wrote:

> Ran 'port -d rev-upgrade' for details:
> 
> make: Leaving directory `/Users/marbre/.macports/opt/local/var/macports/build/_Users_marbre_ports_cad_freecad/freecad/work/freecad-0.14.3692'DEBUG: Executing proc-post-org.macports.destroot-destroot-0
> DEBUG: Executing portdestroot::destroot_finish
> DEBUG: Fixing glibtool .la files in destroot for freecad
> DEBUG: checking for mtree violations
> DEBUG: Uninstalling freecad 0.14.3692_0+gcc48
> DEBUG: Changing to port directory: /opt/local/var/macports/registry/portfiles/freecad-0.14.3692_0/286813f1a135575a18af6561655ae080f5c909b0220aeff5bf1a148e2b28cd89-3293
> DEBUG: OS darwin/13.3.0 (Mac OS X 10.9) arch i386
> DEBUG: Going to use alternate build prefix: /Users/marbre/.macports
> DEBUG: workpath = /Users/marbre/.macports/opt/local/var/macports/build/_opt_local_var_macports_registry_portfiles_freecad-0.14.3692_0_286813f1a135575a18af6561655ae080f5c909b0220aeff5bf1a148e2b28cd89-3293/freecad/work
> DEBUG: Sourcing PortGroup cmake 1.0 from /opt/local/var/macports/registry/portgroups/636464737c420ea283d4ad483ea35193d9da591588cba9f1d1d4e56d8ff6912e-6789/cmake-1.0.tcl
> DEBUG: Sourcing PortGroup active_variants 1.1 from /opt/local/var/macports/registry/portgroups/1c88b447282fb971b03daac5623c69b5ed1a63897ee954a60fd0486076249f11-10054/active_variants-1.1.tcl
> DEBUG: Sourcing PortGroup compilers 1.0 from /opt/local/var/macports/registry/portgroups/34dd8667079dbc5ffc8f220be7052e148f470e7bdf342d23c691035b18d382d4-18369/compilers-1.0.tcl
> DEBUG: adding the default universal variant
> DEBUG: Reading variant descriptions from /opt/local/var/macports/sources/rsync.macports.org/release/ports/_resources/port1.0/variant_descriptions.conf
> DEBUG: Executing variant gcc48 provides gcc48
> DEBUG: Running callback portconfigure::add_automatic_compiler_dependencies
> DEBUG: Finished running callback portconfigure::add_automatic_compiler_dependencies
> DEBUG: Running callback portbuild::add_automatic_buildsystem_dependencies
> DEBUG: Finished running callback portbuild::add_automatic_buildsystem_dependencies
> DEBUG: Executing org.macports.main (freecad)
> DEBUG: uninstall phase started at Sun Jul 13 20:05:04 CDT 2014
> Error: org.macports.uninstall for port freecad returned: MacPorts requires root privileges for this action
> DEBUG: Error code: NONE
> DEBUG: Backtrace: MacPorts requires root privileges for this action
>    while executing
> "elevateToRoot "uninstall""
>    (procedure "portuninstall::uninstall_start" line 5)
>    invoked from within
> "[ditem_key $ditem prerun] $targetname"
> Warning: targets not executed for freecad: org.macports.uninstall
> DEBUG: @rpath in loadcommand
>    while executing
> "error "@rpath in loadcommand""
>    (procedure "revupgrade_handle_special_paths" line 18)
>    invoked from within
> "revupgrade_handle_special_paths $bpath [$loadcommand cget -mlt_install_name]"
> Warning: Failed to execute portfile from registry for freecad @0.14.3692_0+gcc48
> DEBUG: Changing to port directory: /opt/local/var/macports/registry/portfiles/freecad-0.14.3692_0/286813f1a135575a18af6561655ae080f5c909b0220aeff5bf1a148e2b28cd89-3293
> DEBUG: OS darwin/13.3.0 (Mac OS X 10.9) arch i386
> DEBUG: Going to use alternate build prefix: /Users/marbre/.macports
> DEBUG: workpath = /Users/marbre/.macports/opt/local/var/macports/build/_opt_local_var_macports_registry_portfiles_freecad-0.14.3692_0_286813f1a135575a18af6561655ae080f5c909b0220aeff5bf1a148e2b28cd89-3293/freecad/work
> DEBUG: Sourcing PortGroup cmake 1.0 from /opt/local/var/macports/registry/portgroups/636464737c420ea283d4ad483ea35193d9da591588cba9f1d1d4e56d8ff6912e-6789/cmake-1.0.tcl
> DEBUG: Sourcing PortGroup active_variants 1.1 from /opt/local/var/macports/registry/portgroups/1c88b447282fb971b03daac5623c69b5ed1a63897ee954a60fd0486076249f11-10054/active_variants-1.1.tcl
> DEBUG: Sourcing PortGroup compilers 1.0 from /opt/local/var/macports/registry/portgroups/34dd8667079dbc5ffc8f220be7052e148f470e7bdf342d23c691035b18d382d4-18369/compilers-1.0.tcl
> DEBUG: adding the default universal variant
> DEBUG: Reading variant descriptions from /opt/local/var/macports/sources/rsync.macports.org/release/ports/_resources/port1.0/variant_descriptions.conf
> DEBUG: Executing variant gcc48 provides gcc48
> DEBUG: Running callback portconfigure::add_automatic_compiler_dependencies
> DEBUG: Finished running callback portconfigure::add_automatic_compiler_dependencies
> DEBUG: Running callback portbuild::add_automatic_buildsystem_dependencies
> DEBUG: Finished running callback portbuild::add_automatic_buildsystem_dependencies
> DEBUG: Executing org.macports.main (freecad)
> DEBUG: deactivate phase started at Sun Jul 13 20:05:04 CDT 2014
> Error: org.macports.deactivate for port freecad returned: MacPorts requires root privileges for this action
> DEBUG: Error code: NONE
> DEBUG: Backtrace: MacPorts requires root privileges for this action
>    while executing
> "elevateToRoot "deactivate""
>    (procedure "portdeactivate::deactivate_start" line 5)
>    invoked from within
> "[ditem_key $ditem prerun] $targetname"
> Warning: targets not executed for freecad: org.macports.deactivate
> DEBUG: @rpath in loadcommand
>    while executing
> "error "@rpath in loadcommand""
>    (procedure "revupgrade_handle_special_paths" line 18)
>    invoked from within
> "revupgrade_handle_special_paths $bpath [$loadcommand cget -mlt_install_name]"
> Warning: Failed to execute portfile from registry for freecad @0.14.3692_0+gcc48
> --->  Deactivating freecad @0.14.3692_0+gcc48
> DEBUG: sqlite error: attempt to write a readonly database (8)
>    while executing
> "registry::write {
>            $port deactivate $imagefiles
>            foreach file $files {
>                _deactivate_file $file
>            }
>    ..."
>    (procedure "_deactivate_contents" line 37)
>    invoked from within
> "_deactivate_contents $requested [$requested files] $force"
>    (procedure "portimage::deactivate" line 54)
>    invoked from within
> "portimage::deactivate $portname $version $revision $variants [array get options]"
>    (procedure "registry_uninstall::uninstall" line 91)
>    invoked from within
> "registry_uninstall::uninstall $newname $version_in_tree $revision_in_tree $portinfo(canonical_active_variants) [array get options]"
> Error: Uninstall freecad 0.14.3692_0+gcc48 failed: sqlite error: attempt to write a readonly database (8)
> DEBUG: Rebuilding port freecad finished with status 1
> Error rebuilding freecad
>    while executing
> "error "Error rebuilding $portname""
>    (procedure "revupgrade_scanandrebuild" line 395)
>    invoked from within
> "revupgrade_scanandrebuild broken_port_counts $opts"
>    (procedure "macports::revupgrade" line 5)
>    invoked from within
> "macports::revupgrade $opts"
>    (procedure "action_revupgrade" line 2)
>    invoked from within
> "$action_proc $action $portlist [array get global_options]"
>    (procedure "process_cmd" line 93)
>    invoked from within
> "process_cmd $remaining_args"
>    invoked from within
> "if { [llength $remaining_args] > 0 } {
> 
>    # If there are remaining arguments, process those as a command
>    set exit_status [process_cmd $remaining..."
>    (file "/opt/local/bin/port" line 5254)
> 
> 
> 
> Mark
> 
> 
> 
> 

Setting those cmake install variables causes linking errors, e.g.

Could not open /opt/local/lib/libFreeCADBase.so: Error opening or reading file (referenced from /opt/local/libexec/freecad/bin/FreeCAD)

I believe this is due to these cmake variables in the cmake portgroup:

-DCMAKE_INSTALL_RPATH=${prefix}/lib \
-DCMAKE_INSTALL_NAME_DIR=${prefix}/lib \

And the install variable in the portfile:

-DCMAKE_INSTALL_PREFIX=${prefix}/lib/${name} \

Can I override the ones in the portgroup with the configure.args-delete/-append or -replace keywords?

Mark






More information about the macports-dev mailing list