libimobiledevice 1.1.4 unable to link on Mac OS
Reported by sshah | August 24th, 2012 @ 05:07 AM | in 1.2.0 Release
Mac OS: 10.7.4
I get following linking errors when try to build libimobiledevice 1.1.4 on Mac OS (through fink).
Configuration for libimobiledevice 1.1.4:
Install prefix: .........: /sw Debug code ..............: no Dev tools ...............: no Python bindings .........: no SSL support .............: OpenSSL
Now type 'make' to build libimobiledevice 1.1.4, and then 'make install' for installation.
make
make all-recursive
Making all in src
CC idevice.lo CC debug.lo CC userpref.lo CC
property_list_service.lo CC device_link_service.lo CC lockdown.lo
CC afc.lo CC file_relay.lo CC notification_proxy.lo CC
installation_proxy.lo CC sbservices.lo CC mobile_image_mounter.lo
CC screenshotr.lo CC mobilesync.lo CC mobilebackup.lo CC
house_arrest.lo CC mobilebackup2.lo CC restore.lo CCLD
libimobiledevice.la Undefined symbols for architecture x86_64:
"_debug_buffer", referenced from:
_afc_dispatch_packet in afc.o
_afc_receive_data in afc.o
_afc_file_lock in afc.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see
invocation)
make[2]: [libimobiledevice.la] Error 1
make[1]: [all-recursive] Error 1
make: *** [all] Error 2
execution of make failed, exit code 2
execution of /tmp/fink.TD8v8 failed, exit code 2
making following changes to debug.h allows successful link,
replace
LIBIMOBILEDEVICE_INTERNAL inline void debug_buffer(const char
data, const int length);
by
inline void debug_buffer(const char data, const int
length);
Comments and changes to this ticket
-
viewrain September 13th, 2012 @ 11:54 AM
- Assigned user set to Martin S.
I encountered the same problem when installed libimobiledevice 1.1.4 via fink.
Would you please take a look at it?
Thanks.
-
mischi September 13th, 2012 @ 01:50 PM
Hi sshah, viewrain.
I am maintaining the fink packages and added a patch along your suggestion. However, I do not have 10.7. Can you test and report back?
Michael Schindler
-
viewrain September 16th, 2012 @ 02:25 PM
Thanks, mischi:
I've already run "fink selfupdate" and tried to reinstall libimobiledevice.
There's still the same error:
make
make all-recursive
Making all in src
CC idevice.lo CC debug.lo CC userpref.lo CC property_list_service.lo CC device_link_service.lo CC lockdown.lo CC afc.lo CC file_relay.lo CC notification_proxy.lo CC installation_proxy.lo CC sbservices.lo CC mobile_image_mounter.lo CC screenshotr.lo CC mobilesync.lo CC mobilebackup.lo CC house_arrest.lo CC mobilebackup2.lo CC restore.lo CCLD libimobiledevice.la Undefined symbols for architecture x86_64:
"_debug_buffer", referenced from:_afc_dispatch_packet in afc.o _afc_receive_data in afc.o _afc_file_lock in afc.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: [libimobiledevice.la] Error 1
make[1]: [all-recursive] Error 1
make: *** [all] Error 2execution of make failed, exit code 2
execution of /tmp/fink.3VJUQ failed, exit code 2
Removing runtime build-lock...
Removing build-lock package...
/sw/bin/dpkg-lockwait -r fink-buildlock-libimobiledevice-1.1.4-6 (Reading database ... 26459 files and directories currently installed.) Removing fink-buildlock-libimobiledevice-1.1.4-6 ...
Failed: phase compiling: libimobiledevice-1.1.4-6 failedBefore reporting any errors, please run "fink selfupdate" and try again.
If you continue to have issues, please check to see if the FAQ on Fink's
website solves the problem. If not, ask on one (not both, please) of
these mailing lists:The Fink Users List <fink-users@lists.sourceforge.net> The Fink Beginners List <fink-beginners@lists.sourceforge.net>,
with a carbon copy to the maintainer:
Karl-Michael Schindler <karl-michael.schindler@web.de>
Note that this is preferable to emailing just the maintainer directly,
since most fink package maintainers do not have access to all possible
hardware and software configurations.Please try to include the complete error message in your report. This
generally consists of a compiler line starting with e.g. "gcc" or "g++"
followed by the actual error output from the compiler.Also include the following system information:
Package manager version: 0.34.3
Distribution version: selfupdate-rsync Thu Sep 13 19:42:59 2012, 10.7, x86_64
Trees: local/main stable/main
Xcode.app: 4.4
Xcode command-line tools: 4.3.0.0.1.1249367152
Max. Fink build jobs: 1 -
mischi September 16th, 2012 @ 03:15 PM
Hi ViewRain
Somehow, the selfupdate was not really successful, since it still tried to build revision 6 of version 1.1.4. However, the bugfix is included in revision 7. I am not sure, what the actual problem is, maybe revision 6 was kept due to some dependencies.
I would try another "fink selfupdate" as well as "fink --recursive remove libimobiledevice, libimobiledevice4-shlibs". Then try a "fink rebuild libimobiledevice libimobiledevice4-shlibs" and check whether it really starts to build libimobiledevice-1.1.4-7. Then you can do a "fink install libimobiledevice".
MiSchi
-
mischi September 16th, 2012 @ 03:18 PM
oops, wrong comma in that command. Again the whole sequence of commands with addition of the -dev package:
fink selfupdate
fink --recursive remove libimobiledevice libimobiledevice4-shlibs libimobiledevice4-dev
fink rebuild libimobiledevice4-shlibs
fink install libimobiledevice libimobiledevice4-shlibs libimobiledevice4-dev
-
viewrain September 16th, 2012 @ 03:30 PM
Thanks for your quick reply.
It seems that fink doesn't recognize "--recursive" as an option, see the output:
Unknown option: recursive
fink: unknown option
Type 'fink --help' for more information.I tried to remove the binaries without "--recursive", and rebuilt libimobiledevice4-shlibs. Still the same error.
-
mischi September 16th, 2012 @ 03:33 PM
Can we meet on irc? either the channel #fink or the channel #libimobiledevice, both on irc.freenode.net.
-
mischi September 16th, 2012 @ 04:06 PM
Oh, my bad. screwed up the order in the command. This is the corrected one:
fink remove --recursive libimobiledevice libimobiledevice4-shlibs libimobiledevice4-dev
-
iconstate September 16th, 2012 @ 10:10 PM
I did the following on 10.8.1 and it failed.
fink selfupdate
fink remove --recursive libimobiledevice libimobiledevice4-shlibs libimobiledevice4-dev
fink rebuild libimobiledevice4-shlibs$ fink remove --recursive libimobiledevice libimobiledevice4-shlibs libimobiledevice4-dev Information about 6070 packages read in 1 seconds. WARNING: libimobiledevice is not installed, skipping. WARNING: libimobiledevice4-dev is not installed, skipping. WARNING: libimobiledevice4-shlibs is not installed, skipping. Nothing remove --recursived $ fink rebuild libimobiledevice4-shlibs Information about 6070 packages read in 1 seconds. The following package will be rebuilt: libimobiledevice4-shlibs Setting runtime build-lock... dpkg-deb -b /sw/src/fink.build/root-fink-buildlock-libimobiledevice-1.1.4-7 /sw/src/fink.build dpkg-deb: building package `fink-buildlock-libimobiledevice-1.1.4-7' in `/sw/src/fink.build/fink-buildlock-libimobiledevice-1.1.4-7_2012.09.16-18.06.45_darwin-x86_64.deb'. Installing build-lock package... /sw/bin/dpkg-lockwait -i /sw/src/fink.build/fink-buildlock-libimobiledevice-1.1.4-7_2012.09.16-18.06.45_darwin-x86_64.deb Selecting previously deselected package fink-buildlock-libimobiledevice-1.1.4-7. (Reading database ... 26808 files and directories currently installed.) Unpacking fink-buildlock-libimobiledevice-1.1.4-7 (from .../fink-buildlock-libimobiledevice-1.1.4-7_2012.09.16-18.06.45_darwin-x86_64.deb) ... Setting up fink-buildlock-libimobiledevice-1.1.4-7 (2012.09.16-18.06.45) ... sudo -u fink-bld [ENV] sh -c /tmp/fink.q3Q_m /sw/bin/tar --no-same-owner --no-same-permissions -xf /sw/src/libimobiledevice-1.1.4.tar.bz2 sudo -u fink-bld [ENV] sh -c /tmp/fink.nvS3_ sed -i.bak 's|LIBIMOBILEDEVICE_INTERNAL inline void debug_buffer(|inline void debug_buffer(|g' src/debug.h sudo -u fink-bld [ENV] sh -c /tmp/fink.Lkugo ./configure --prefix=/sw LDFLAGS="-L/sw/lib" --without-cython checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... ./install-sh -c -d checking for gawk... no checking for mawk... no ... checking for _LARGEFILE_SOURCE value needed for large files... no configure: creating ./config.status config.status: creating Makefile config.status: creating src/Makefile config.status: creating include/Makefile config.status: creating dev/Makefile config.status: creating tools/Makefile config.status: creating cython/Makefile config.status: creating docs/Makefile config.status: creating libimobiledevice-1.0.pc config.status: creating doxygen.cfg config.status: creating config.h config.status: executing depfiles commands config.status: executing libtool commands Configuration for libimobiledevice 1.1.4: ------------------------------------------- Install prefix: .........: /sw Debug code ..............: no Dev tools ...............: no Python bindings .........: no SSL support .............: OpenSSL Now type 'make' to build libimobiledevice 1.1.4, and then 'make install' for installation. make make all-recursive Making all in src CC idevice.lo CC debug.lo CC userpref.lo CC property_list_service.lo CC device_link_service.lo CC lockdown.lo CC afc.lo CC file_relay.lo CC notification_proxy.lo CC installation_proxy.lo CC sbservices.lo CC mobile_image_mounter.lo CC screenshotr.lo CC mobilesync.lo CC mobilebackup.lo CC house_arrest.lo CC mobilebackup2.lo CC restore.lo CCLD libimobiledevice.la Undefined symbols for architecture x86_64: "_debug_buffer", referenced from: _afc_dispatch_packet in afc.o _afc_receive_data in afc.o _afc_file_lock in afc.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make[2]: *** [libimobiledevice.la] Error 1 make[1]: *** [all-recursive] Error 1 make: *** [all] Error 2 ### execution of make failed, exit code 2 ### execution of /tmp/fink.Lkugo failed, exit code 2 Removing runtime build-lock... Removing build-lock package... /sw/bin/dpkg-lockwait -r fink-buildlock-libimobiledevice-1.1.4-7 (Reading database ... 26809 files and directories currently installed.) Removing fink-buildlock-libimobiledevice-1.1.4-7 ... Failed: phase compiling: libimobiledevice-1.1.4-7 failed Before reporting any errors, please run "fink selfupdate" and try again. If you continue to have issues, please check to see if the FAQ on Fink's website solves the problem. If not, ask on one (not both, please) of these mailing lists: The Fink Users List <fink-users@lists.sourceforge.net> The Fink Beginners List <fink-beginners@lists.sourceforge.net>, with a carbon copy to the maintainer: Karl-Michael Schindler <karl-michael.schindler@web.de> Note that this is preferable to emailing just the maintainer directly, since most fink package maintainers do not have access to all possible hardware and software configurations. Please try to include the complete error message in your report. This generally consists of a compiler line starting with e.g. "gcc" or "g++" followed by the actual error output from the compiler. Also include the following system information: Package manager version: 0.34.3 Distribution version: selfupdate-rsync Sun Sep 16 17:53:23 2012, 10.8, x86_64 Trees: local/main stable/main Xcode.app: 4.5 Xcode command-line tools: 4.5.0.0.1.1249367152 Max. Fink build jobs: 1
-
mischi September 16th, 2012 @ 10:38 PM
I had a look at afc.c, afc.h, debug.c and debug.h, but do not understand, where the problem comes from. My knowledge of C is too limited to fix this. Sorry. I can't do more than applying known patches to the fink package.
MiSchi
-
Martin S. October 21st, 2012 @ 03:29 PM
- State changed from new to open
- Tag set to build, clang, compiler, fink, gcc, llvm
The problem is most likely because you are compiling with LLVM/clang and not with GCC.
Due to that the internal/attribute directive is interpreted differently which probably causes the symbols to get hidden completely from other modules leading to this error finally.Need to repeat this on a Mac soon to make sure for a fix...
-
Martin S. March 19th, 2013 @ 05:01 PM
- State changed from open to invalid
After having my VM setup fink for half a day I noticed that libimobiledevice builds and installs just fine...
Even using clang manually to compile libimobiledevice worked fine.
Thus I can't reproduce your issue.
Please Sign in or create a free account to add a new ticket.
With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.
Create your profile
Help contribute to this project by taking a few moments to create your personal profile. Create your profile ยป
A project around supporting the iPhone in Linux.
See http://libimobiledevice.org