Opened 10 years ago

Closed 10 years ago

#19715 closed defect (fixed)

encfs-1.5 won't build

Reported by: email@… Owned by: kballard (Lily Ballard)
Priority: Normal Milestone:
Component: ports Version: 1.7.1
Keywords: Cc: hai9796@…, Markus.Ueberall@…, boris.zech@…
Port: encfs

Description (last modified by mf2k (Frank Schima))

encfs is failing with this message:

/bin/sh ../libtool --tag=CXX   --mode=link /usr/bin/g++-4.0 -DRLOG_COMPONENT="encfs" -I/opt/local/include -DLOCALEDIR=\"/opt/local/share/locale\" -W -Wall -Wpointer-arith -Wwrite-strings -O2 -D_THREAD_SAFE    -L/opt/local/lib -lboost_system-mt-s -lboost_serialization-mt-s   -o test test.o libencfs.la -lrlog -lssl -lfuse -lboost_serialization-mt-s -lboost_filesystem-mt-s -lintl -liconv -lc  -Wl,-framework -Wl,CoreFoundation 
/usr/bin/g++-4.0 -DRLOG_COMPONENT=encfs -I/opt/local/include -DLOCALEDIR=\"/opt/local/share/locale\" -W -Wall -Wpointer-arith -Wwrite-strings -O2 -D_THREAD_SAFE -o .libs/test test.o -Wl,-framework -Wl,CoreFoundation -Wl,-bind_at_load  -L/opt/local/lib ./.libs/libencfs.dylib -lboost_system-mt-s /opt/local/lib/librlog.dylib -lssl /opt/local/lib/libfuse.0.0.0.dylib -lboost_serialization-mt-s -lboost_filesystem-mt-s /opt/local/lib/libintl.dylib /opt/local/lib/libiconv.dylib -lc 
Undefined symbols:
  "_ENGINE_register_all_ciphers", referenced from:
      _main in test.o
  "_ENGINE_load_builtin_engines", referenced from:
      _main in test.o
  "_ENGINE_register_all_RAND", referenced from:
      _main in test.o
  "_ENGINE_register_all_digests", referenced from:
      _main in test.o

ld: symbol(s) not found

collect2: ld returned 1 exit status

Attachments (2)

output (9.0 KB) - added by email@… 10 years ago.
Output of port -d install encfs
Portfile (1.2 KB) - added by boris.zech@… 10 years ago.
Portfile of encfs 1.5 Rev 1

Download all attachments as: .zip

Change History (36)

Changed 10 years ago by email@…

Attachment: output added

Output of port -d install encfs

comment:1 Changed 10 years ago by email@…

Cc: email@… added

Cc Me!

comment:2 Changed 10 years ago by mf2k (Frank Schima)

Cc: email@… removed
Description: modified (diff)
Owner: changed from macports-tickets@… to eridius@…

What version of Mac OS X are you running? What version of Xcode? Are you really running Macports version 1.5.0?

comment:3 Changed 10 years ago by email@…

Thanks for the quick response!

Mac OS X 10.5.6 Xcode 3.1.2 Macports version 1.710. (Aha!)

comment:4 Changed 10 years ago by mf2k (Frank Schima)

Version: 1.5.01.7.1

What is the output of the following command for you?

port installed boost gettext macfuse openssl rlog

comment:5 Changed 10 years ago by hai9796@…

Encountering same error and here is port installed... output:

port installed boost gettext macfuse openssl rlog The following ports are currently installed:

boost @1.38.0_0+darwin_9 (active) gettext @0.17_4 (active) macfuse @1.7_1 (active) openssl @0.9.8k_0 (active) rlog @1.4_0 (active)

Macports version 1.710 and MacOSX 10.5.6 as well.

comment:6 Changed 10 years ago by hai9796@…

Cc: hai9796@… added

Cc Me!

comment:7 Changed 10 years ago by hai9796@…

Cc: hai9796@… removed

Cc Me!

comment:8 Changed 10 years ago by hai9796@…

Cc: hai9796@… added

Cc Me!

comment:9 in reply to:  4 Changed 10 years ago by email@…

Replying to macsforever2000@…:

What is the output of the following command for you?

port installed boost gettext macfuse openssl rlog

Here's what I get:

$ port installed boost gettext macfuse openssl rlog
The following ports are currently installed:
  boost @1.38.0_0+darwin_9 (active)
  gettext @0.17_4 (active)
  macfuse @1.7_1 (active)
  openssl @0.9.8k_0 (active)
  rlog @1.4_0 (active)

comment:10 Changed 10 years ago by mf2k (Frank Schima)

I have the same setup and versions and it installs fine for me. I looked at the attached output and I'm not sure what is going on.

comment:11 Changed 10 years ago by Markus.Ueberall@…

I tried to install encfs-1.5 for the first time today (which in turn installed boost-1.39.0_1 as a prerequisite) and got the error message "configure: error: C++ compiler cannot create executables". (cf. http://macports.pastebin.com/m68bb28f4, line #99, which states that library 'boost_serialization-mt-s' is missing--not sure whether this is a problem with the boost port itself or a problem with a missing boost variant in the encfs portfile which would build/install the library in question beforehand...)

comment:12 Changed 10 years ago by Markus.Ueberall@…

Cc: Markus.Ueberall@… added

Cc Me!

comment:13 in reply to:  11 ; Changed 10 years ago by mf2k (Frank Schima)

Replying to Markus.Ueberall@…:

I tried to install encfs-1.5 for the first time today (which in turn installed boost-1.39.0_1 as a prerequisite) and got the error message "configure: error: C++ compiler cannot create executables". (cf. http://macports.pastebin.com/m68bb28f4, line #99, which states that library 'boost_serialization-mt-s' is missing--not sure whether this is a problem with the boost port itself or a problem with a missing boost variant in the encfs portfile which would build/install the library in question beforehand...)

You need to install Xcode. http://developer.apple.com/technology/Xcode.html

comment:14 in reply to:  13 Changed 10 years ago by Markus.Ueberall@…

Replying to macsforever2000@…:

You need to install Xcode. http://developer.apple.com/technology/Xcode.html

I doubt that (note that I wrote that the boost port in turn got installed as a prerequisite--how was that supposed to work in the first place if I hadn't installed Xcode?):

[Fri Jun 19 17:04:53 ueberall@entoron ~]$ xcodebuild -version
Xcode 3.1.2
Component versions: DevToolsCore-1148.0; DevToolsSupport-1102.0
BuildVersion: 9M2621

comment:15 Changed 10 years ago by mf2k (Frank Schima)

What does the following return for you?

ls -l /opt/local/bin/c++

comment:16 in reply to:  15 Changed 10 years ago by Markus.Ueberall@…

Replying to macsforever2000@…:

What does the following return for you? "ls -l /opt/local/bin/c++"

There's no such file; /usr/bin/g++-4.0 (i686-apple-darwin9-g++-4.0.1 (GCC) 4.0.1) is being used.

comment:17 Changed 10 years ago by mf2k (Frank Schima)

OK. I can recreate this now. The current version of the boost port has changed and is causing this. The maintainer is aware of this and is fixing it. See also #20001 comment 5.

comment:18 Changed 10 years ago by jmroot (Joshua Root)

Actually, just removing the configure.ldflags-append altogether prevents the compiler check from failing, and it then finds the boost libs correctly.

comment:19 in reply to:  17 Changed 10 years ago by Markus.Ueberall@…

Replying to macsforever2000@…:

The current version of the boost port has changed and is causing this. The maintainer is aware of this and is fixing it. See also #20001 comment 5.

I tried "sudo port uninstall boost; sudo port install encfs" after boost 1.39.0_2 became available, but to no avail (the boost port got reinstalled, but afterwards I was still seeing "ld: library not found for -lboost_system-mt-s" as the library in question couldn't be found in /opt/local/lib which only included libboost_system-mt.{a,dylib}).

However, removing the "configure.ldflags-append" line in the encfs portfile as suggested below by jmr did the trick.

comment:20 Changed 10 years ago by mf2k (Frank Schima)

Resolution: fixed
Status: newclosed

I removed the line in r53181. Maintainer timeout.

comment:21 Changed 10 years ago by email@…

Thank you!

--->  Staging encfs into destroot
--->  Installing encfs @1.5_1
--->  Activating encfs @1.5_1
--->  Cleaning encfs

comment:22 in reply to:  20 Changed 10 years ago by boris.zech@…

Replying to macsforever2000@…:

I removed the line in r53181. Maintainer timeout.

Have fresh Mac here with a fresh MacPorts 1.710 installation and installing encfs fails with the same error stated by the original poster.

>sudo port install encfs
--->  Building encfs
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_encfs/work/encfs-1.5" && make all " returned error 2
Command output: make  all-recursive
Making all in encfs
/bin/sh ../libtool --tag=CXX   --mode=link /usr/bin/g++-4.0 -DRLOG_COMPONENT="encfs" -I/opt/local/include -DLOCALEDIR=\"/opt/local/share/locale\" -W -Wall -Wpointer-arith -Wwrite-strings -O2 -D_THREAD_SAFE    -L/opt/local/lib   -o test test.o libencfs.la -lrlog -lssl -lfuse -lboost_serialization-mt -lboost_filesystem-mt -lintl -liconv -lc  -Wl,-framework -Wl,CoreFoundation 
/usr/bin/g++-4.0 -DRLOG_COMPONENT=encfs -I/opt/local/include -DLOCALEDIR=\"/opt/local/share/locale\" -W -Wall -Wpointer-arith -Wwrite-strings -O2 -D_THREAD_SAFE -o .libs/test test.o -Wl,-framework -Wl,CoreFoundation -Wl,-bind_at_load  -L/opt/local/lib ./.libs/libencfs.dylib /opt/local/lib/librlog.dylib -lssl /opt/local/lib/libfuse.0.0.0.dylib -lboost_serialization-mt -lboost_filesystem-mt /opt/local/lib/libintl.dylib /opt/local/lib/libiconv.dylib -lc 
Undefined symbols:
  "_ENGINE_register_all_ciphers", referenced from:
      _main in test.o
  "_ENGINE_load_builtin_engines", referenced from:
      _main in test.o
  "_ENGINE_register_all_RAND", referenced from:
      _main in test.o
  "_ENGINE_register_all_digests", referenced from:
      _main in test.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
make[2]: *** [test] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

>port list installed
boost                          @1.39.0         devel/boost
boost-jam                      @3.1.17         devel/boost-jam
bzip2                          @1.0.5          archivers/bzip2
expat                          @2.0.1          textproc/expat
gettext                        @0.17           devel/gettext
gperf                          @3.0.4          devel/gperf
libiconv                       @1.13           textproc/libiconv
macfuse                        @1.7            fuse/macfuse
ncurses                        @5.7            devel/ncurses
ncursesw                       @5.7            devel/ncursesw
openssl                        @0.9.8k         devel/openssl
rlog                           @1.4            devel/rlog
zlib                           @1.2.3          archivers/zlib

What's wrong?

comment:23 Changed 10 years ago by boris.zech@…

Cc: boris.zech@… added

Cc Me!

comment:24 Changed 10 years ago by mf2k (Frank Schima)

"port list installed" is not helpful at all. It is more useful to say "port installed" because it will output the versions of the ports you currently have installed.

comment:25 in reply to:  24 ; Changed 10 years ago by boris.zech@…

Replying to macsforever2000@…:

"port list installed" is not helpful at all. It is more useful to say "port installed" because it will output the versions of the ports you currently have installed.

Hmm, to me it looks nearly the same, but one can see the revisions this way, that's right. So:

> port installed
The following ports are currently installed:
  boost @1.39.0_2 (active)
  boost-jam @3.1.17_0 (active)
  bzip2 @1.0.5_2 (active)
  expat @2.0.1_0 (active)
  gettext @0.17_4 (active)
  gperf @3.0.4_0 (active)
  libiconv @1.13_0 (active)
  macfuse @1.7_1 (active)
  ncurses @5.7_0 (active)
  ncursesw @5.7_0 (active)
  openssl @0.9.8k_0 (active)
  rlog @1.4_0 (active)
  zlib @1.2.3_2 (active)

comment:26 Changed 10 years ago by mf2k (Frank Schima)

Try cleaning and starting again:

sudo port clean --all encfs
sudo port install encfs

comment:27 Changed 10 years ago by mf2k (Frank Schima)

Also, what version of Xcode are you running?

comment:28 in reply to:  26 Changed 10 years ago by boris.zech@…

Replying to macsforever2000@…:

Try cleaning and starting again:

sudo port clean --all encfs
sudo port install encfs

Already did this. And also a fresh install of boost. Nothing changed.

Also, what version of Xcode are you running?

Latest:

>xcodebuild -version
Xcode 3.1.3
Component versions: DevToolsCore-1192.0; DevToolsSupport-1186.0
BuildVersion: 9M2736

Also latest Mac OS X 10.5.7:

>uname -a
Darwin XXX.local 9.7.1 Darwin Kernel Version 9.7.1: Thu Apr 23 13:52:18 PDT 2009; root:xnu-1228.14.1~1/RELEASE_I386 i386

comment:29 in reply to:  25 ; Changed 10 years ago by mf2k (Frank Schima)

Resolution: fixed
Status: closedreopened

Replying to boris.zech@…:

Hmm, to me it looks nearly the same, but one can see the revisions this way, that's right. So:

They happen to look the same because your currently installed versions are the same as the latest version numbers.

The only other thing I can think to check is that your local encfs portfile differs from svn. What is the result of the following:

port info encfs

comment:30 in reply to:  29 Changed 10 years ago by boris.zech@…

Replying to macsforever2000@…:

The only other thing I can think to check is that your local encfs portfile differs from svn. What is the result of the following:

port info encfs
>port info encfs
encfs @1.5, Revision 1 (fuse)
Variants:    universal

EncFS is an encrypted pass-through filesystem which runs in userspace, using the FUSE kernel module. Similar in design to CFS and other pass-through
filesystems, all data is encrypted and stored in the underlying filesystem. Unlike loopback filesystems, there is no predetermined or pre-allocated filesystem
size.
Homepage:    http://www.arg0.net/encfs

Library Dependencies: rlog, openssl, macfuse, gettext, boost
Platforms:            darwin
Maintainers:          eridius@macports.org

Portfile looks ok. I'm trying to attach it.

Changed 10 years ago by boris.zech@…

Attachment: Portfile added

Portfile of encfs 1.5 Rev 1

comment:31 Changed 10 years ago by mf2k (Frank Schima)

That's the same as mine (as expected). I'm not sure why it doesn't build for you. Perhaps pasting your error output would be illuminating.

comment:32 in reply to:  31 Changed 10 years ago by boris.zech@…

Replying to macsforever2000@…:

That's the same as mine (as expected). I'm not sure why it doesn't build for you. Perhaps pasting your error output would be illuminating.

Did this a few posts further up. Installing encfs works on my other machine which is older and has seen far more installs, deinstalls, etc. pp. Maybe eridius is able to look at the problem.

comment:33 Changed 10 years ago by boris.zech@…

I found the solution. encfs needs pkgconfig. After I manually installed pkgconfig I could install encfs without errors.
I'm not accustomed to the syntax of Portfiles but the dependency in encfs' Portfile on pkgconfig seems unusual to me (path?):

depends_lib         path:bin/pkg-config:pkgconfig
depends_lib         port:rlog port:openssl port:macfuse port:gettext port:boost

HTH, Boris

comment:34 Changed 10 years ago by mf2k (Frank Schima)

Resolution: fixed
Status: reopenedclosed

Good catch! That should be a build dependency and it was getting overridden by the 2nd depends_lib line. Fixed in r54380.

Note: See TracTickets for help on using tickets.