Opened 9 years ago
Closed 9 years ago
#49858 closed defect (fixed)
fakeroot @1.19-2_0: error: conflicting types for 'openat'
Reported by: | liam.sharp@… | Owned by: | florian@… |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.3.4 |
Keywords: | haspatch maintainer | Cc: | kurthindenburg (Kurt Hindenburg) |
Port: | fakeroot |
Description (last modified by ryandesign (Ryan Carsten Schmidt))
I'm using OS X 10.10.5 with XCode 7.1.1 (7B1005) and I'm unable to install fakeroot.
sudo port clean fakeroot Password: ---> Cleaning fakeroot sudo port install fakeroot ---> Computing dependencies for fakeroot ---> Fetching archive for fakeroot ---> Attempting to fetch fakeroot-1.19-2_0+universal.darwin_14.i386-x86_64.tbz2 from http://mse.uk.packages.macports.org/sites/packages.macports.org/fakeroot ---> Attempting to fetch fakeroot-1.19-2_0+universal.darwin_14.i386-x86_64.tbz2 from http://lil.fr.packages.macports.org/fakeroot ---> Attempting to fetch fakeroot-1.19-2_0+universal.darwin_14.i386-x86_64.tbz2 from http://nue.de.packages.macports.org/macports/packages/fakeroot ---> Fetching distfiles for fakeroot ---> Verifying checksums for fakeroot ---> Extracting fakeroot ---> Configuring fakeroot Error: org.macports.build for port fakeroot returned: command execution failed Please see the log file for port fakeroot for details: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_sysutils_fakeroot/fakeroot/main.log To report a bug, follow the instructions in the guide: http://guide.macports.org/#project.tickets Error: Processing of port fakeroot failed
Compilation error from log file is:
./wraptmpf.h:571:12: error: conflicting types for 'openat'
I'll attach the log file.
Attachments (11)
Change History (27)
Changed 9 years ago by liam.sharp@…
comment:1 Changed 9 years ago by ryandesign (Ryan Carsten Schmidt)
Description: | modified (diff) |
---|---|
Owner: | changed from macports-tickets@… to florian@… |
Summary: | fakeroot @1.19-2_0 build failure → fakeroot @1.19-2_0: error: conflicting types for 'openat' |
comment:2 Changed 9 years ago by florian@…
I uploaded a new Portfile and two patches. I don't have 10.10 so I need you to test this for me. Thanks.
comment:3 Changed 9 years ago by mf2k (Frank Schima)
Keywords: | haspatch maintainer added |
---|
comment:4 follow-up: 5 Changed 9 years ago by liam.sharp@…
Hi florian - Happy to test, what do I need to do to test?
comment:5 Changed 9 years ago by florian@…
Hi, you have to update the ports tree, replace the fakeroot Portfile, and add the two patchefiles. Then you can test building fakeroot. Assuming you have downloaded the files to your ${HOME}/Downloads folder, in the terminal you would have to do:
sudo port selfupdate fakeroot_portdir=$(port dir fakeroot) sudo cp ~/Downloads/Portfile $fakeroot_portdir sudo mkdir ${fakeroot_portdir}/files sudo cp ~/Downloads/{patch-libfakeroot.c.diff,patch-wrapfunc.inp.diff} ${fakeroot_portdir}/files
Then build fakeroot and if that succeeds test and install:
port -v build fakeroot port -v test fakeroot sudo port -v install fakeroot
comment:6 Changed 9 years ago by liam.sharp@…
Thanks for the info, much appreciated.
Failed at the build step, tried with sudo but failed again - will attach log.
Liams-MacBook-Pro:~ liamsharp$ sudo port selfupdate Password: ---> Updating MacPorts base sources using rsync MacPorts base version 2.3.4 installed, MacPorts base version 2.3.4 downloaded. ---> Updating the ports tree ---> MacPorts base is already the latest version The ports tree has been updated. To upgrade your installed ports, you should run port upgrade outdated Liams-MacBook-Pro:~ liamsharp$ fakeroot_portdir=$(port dir fakeroot) Liams-MacBook-Pro:~ liamsharp$ sudo cp ~/Downloads/Portfile $fakeroot_portdir Liams-MacBook-Pro:~ liamsharp$ sudo mkdir ${fakeroot_portdir}/files Liams-MacBook-Pro:~ liamsharp$ sudo cp ~/Downloads/{patch-libfakeroot.c.diff,patch-wrapfunc.inp.diff} ${fakeroot_portdir}/files Liams-MacBook-Pro:~ liamsharp$ port -v build fakeroot Warning: MacPorts running without privileges. You may be unable to complete certain actions (e.g. install). Error: Unable to execute port: error copying "/opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/sysutils/fakeroot/files" to "/Users/liamsharp/.macports/opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/sysutils/fakeroot/files": "/Users/liamsharp/.macports/opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/sysutils/fakeroot/files/patch-libfakeroot.c.diff": permission denied Liams-MacBook-Pro:~ liamsharp$ sudo port -v build fakeroot Portfile changed since last build; discarding previous state. ---> Computing dependencies for fakeroot. ---> Fetching distfiles for fakeroot ---> fakeroot_1.20.2.orig.tar.bz2 doesn't seem to exist in /opt/local/var/macports/distfiles/fakeroot ---> Attempting to fetch fakeroot_1.20.2.orig.tar.bz2 from http://lil.fr.distfiles.macports.org/fakeroot % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0---> Attempting to fetch fakeroot_1.20.2.orig.tar.bz2 from http://mse.uk.distfiles.macports.org/sites/distfiles.macports.org/fakeroot % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 279 100 279 0 0 495 0 --:--:-- --:--:-- --:--:-- 495 ---> Attempting to fetch fakeroot_1.20.2.orig.tar.bz2 from http://ftp.nl.debian.org/debian/pool/main/f/fakeroot % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 319k 100 319k 0 0 394k 0 --:--:-- --:--:-- --:--:-- 394k ---> Verifying checksums for fakeroot ---> Checksumming fakeroot_1.20.2.orig.tar.bz2 ---> Extracting fakeroot ---> Extracting fakeroot_1.20.2.orig.tar.bz2 ---> Applying patches to fakeroot ---> Applying patch-libfakeroot.c.diff sh: /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/sysutils/fakeroot/files/patch-libfakeroot.c.diff: Permission denied Command failed: cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_sysutils_fakeroot/fakeroot/work/fakeroot-1.20.2" && /usr/bin/patch -p0 < '/opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/sysutils/fakeroot/files/patch-libfakeroot.c.diff' Exit code: 1 Error: org.macports.patch for port fakeroot returned: command execution failed Warning: targets not executed for fakeroot: org.macports.build org.macports.patch org.macports.configure Please see the log file for port fakeroot for details: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_sysutils_fakeroot/fakeroot/main.log To report a bug, follow the instructions in the guide: http://guide.macports.org/#project.tickets Error: Processing of port fakeroot failed
comment:7 Changed 9 years ago by florian@…
Permission problem. Either build as root or:
chmod a+rx /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/sysutils/fakeroot/files chmod a+r /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/sysutils/fakeroot/files/*
comment:8 Changed 9 years ago by liam.sharp@…
I built using sudo before, so modified permissions as suggested. I'll attach a log of the build failure.
Changed 9 years ago by liam.sharp@…
Attachment: | build_failure.txt added |
---|
log of build failure after modifying permissions
comment:9 Changed 9 years ago by florian@…
I uploaded a new patch-wrapfunc.inp.diff. Please download that file and replace the one on your disk in /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/sysutils/fakeroot/files/ and try again.
Changed 9 years ago by liam.sharp@…
Attachment: | build_failure2.txt added |
---|
Build failure with new patch (I cleaned after the initial build failed to see the new patch get applied)
comment:10 Changed 9 years ago by florian@…
Yes the patch was not applied. Your current build failure is the same as the first one. With the current patch applied, wraptmpf.h should look like this
576 #ifdef HAVE_OPENAT 577 extern int openat (int dir_fd, const char *pathname, int flags, ...); 578 579 #endif /* HAVE_OPENAT */
after the configure phase.
You need to port clean --all fakeroot
or wipe the entire build directory before rebuilding.
comment:11 Changed 9 years ago by liam.sharp@…
Excellent, thanks. Build succeeded, but seems to have a symbol issue when run. I'll attach the success build logs for reference.
Liams-MacBook-Pro:main liamsharp$ fakeroot dpkg-deb --build /tmp/my-package dpkg-deb: building package 'my-package' in '/tmp/my-package'. dyld: lazy symbol binding failed: Symbol not found: _next_openat Referenced from: /opt/local/lib/libfakeroot.dylib Expected in: flat namespace dyld: Symbol not found: _next_openat Referenced from: /opt/local/lib/libfakeroot.dylib Expected in: flat namespace dpkg-deb: error: subprocess tar -cf was killed by signal (Trace/BPT trap: 5) Liams-MacBook-Pro:main liamsharp$
comment:12 Changed 9 years ago by florian@…
Sorry, I forgot to edit patch-libfakeroot.c.diff. Please replace that file too. Then clean and uninstall fakeroot and test rebuilding again.
comment:13 Changed 9 years ago by liam.sharp@…
I get the same issue when trying to run it, I've attached the log so you can double check my steps.
Changed 9 years ago by florian@…
Attachment: | patch-message.h.diff added |
---|
Changed 9 years ago by florian@…
Attachment: | patch-wrapfunc.inp.diff added |
---|
files/patch-wrapfunc.inp.diff
comment:14 Changed 9 years ago by florian@…
I updated the patches for upgrading fakeroot to the most recent version. It builds and runs successfully on OSX <10.10. Fakeroot also builds on more recent OSX versions but it does not function anymore. The tests fail and the installed binary runs but is dysfunctional. I have no clue why and I don't have time to further investigate.
Someone with commit rights please commit the relevant files: Portfile.diff, patch-libfakeroot.c.diff, patch-message.h.diff, patch-wrapfunc.inp.diff.
A note for those who may want to try and make it work: I tested pseudo (http://git.yoctoproject.org/cgit/cgit.cgi/pseudo/) as well. Same result: compiles but only works on OSX <10.10. We can conclude that some underlying functionality of the base system changed and that the hack does not work anymore.
The Homebrew guys did not succeed either (comment 2, https://github.com/Homebrew/homebrew/issues/46927#issuecomment-164103551). They fixed the build issue but fakeroot is dysfunctional as of OSX 10.10. I suggest we do the same and close this issue.
Changed 9 years ago by florian@…
Attachment: | patch-libfakeroot.c.diff added |
---|
files/patch-libfakeroot.c.diff
comment:16 Changed 9 years ago by kurthindenburg (Kurt Hindenburg)
Resolution: | → fixed |
---|---|
Status: | new → closed |
done r145153
main.log