#37968 closed defect (invalid)
kde4-runtime does not compile on case-sensitive filesystems
Reported by: | obmalcioglu@… | Owned by: | NicosPavlov |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.1.3 |
Keywords: | Cc: | sharky@…, ryandesign (Ryan Carsten Schmidt) | |
Port: | kde4-runtime |
Description (last modified by larryv (Lawrence Velázquez))
Dear developers,
I am trying to compile krusader in a mid 2010 Macbook pro with MacOSX 10.8.2, in a case-sensitive filesytem. however, kde4-runtime dependency fails to compile:
---> Building kde4-runtime Error: org.macports.build for port kde4-runtime returned: command execution failed Error: Failed to install kde4-runtime
I am using an almost fresh install of the OS and latest version of Macports
Please find the full log attached
Attachments (2)
Change History (21)
Changed 12 years ago by obmalcioglu@…
comment:1 Changed 12 years ago by larryv (Lawrence Velázquez)
Cc: | sharky@… added |
---|---|
Description: | modified (diff) |
Keywords: | kde4-runtime case sensitive filesystem krusader removed |
Owner: | changed from macports-tickets@… to nicos@… |
Thanks for the ticket. In the future, please try to Cc relevant port maintainers.
comment:2 follow-up: 3 Changed 12 years ago by cooljeanius (Eric Gallager)
The log is saying stuff about nepomuk; what does port -d installed nepomuk-core
return for you?
comment:3 Changed 12 years ago by obmalcioglu@…
Replying to egall@…:
The log is saying stuff about nepomuk; what does
port -d installed nepomuk-core
return for you?
DEBUG: Copying /Users/obm/Library/Preferences/com.apple.dt.Xcode.plist to /opt/local/var/macports/home/Library/Preferences The following ports are currently installed: nepomuk-core @4.9.5_0 (active) platform='darwin 12' archs='x86_64'
comment:4 follow-up: 5 Changed 12 years ago by NicosPavlov
Some nepomuk libraries are also contained in kdelibs, so that the issue may also be elsewhere.
However, the log is rather incomplete, would it be possible to provide a full log, with
sudo port clean kde4-runtime sudo port install kde4-runtime
and post the result ?
comment:5 follow-up: 6 Changed 12 years ago by obmalcioglu@…
Replying to nicos@…:
Some nepomuk libraries are also contained in kdelibs, so that the issue may also be elsewhere.
However, the log is rather incomplete, would it be possible to provide a full log, with
sudo port clean kde4-runtime sudo port install kde4-runtimeand post the result ?
please find the new log attached.
comment:6 Changed 12 years ago by NicosPavlov
The error in the log is:
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_kde_kde4-runtime/kde4-runtime/work/build/nepomuk/kioslaves/search/../../../../kde-runtime-4.9.5/nepomuk/kioslaves/search/searchfolder.h:30:10: fatal error: 'Nepomuk2/Query/Term' file not found
The file is provided by nepomuk-core. As you said you have it, I would assume that you have this file on your system.
If that is indeed the case, I would assume that the issue comes from the case-sensitivity. While the installed file (on my system) is ${prefix}/include/nepomuk2/Query/Term, the include in searchfolder.h is #include <Nepomuk2/Query/Term>.
I am not sure, but renaming the includes may solve the issue.
comment:7 follow-up: 8 Changed 12 years ago by obmalcioglu@…
I was hoping it would be fixed by now. Seriously? There are no one that uses case sensitive filesystem out there? in the source directory, I've replaced the wrong includes written as Nepomuk to nepomuk and the package compiled without a problem.
Ugly solution though
comment:8 follow-up: 9 Changed 12 years ago by NicosPavlov
Since I was not intending to wipe my whole system and reformat my hard drive to test the issue, I was hoping to get a feedback in order to know if this was indeed the problem. I would like to remind you that case-sensitive formatting is not the default on Mac.
I thus assume that a patch as attached would correspond to the fix. I would however be reluctant to commit it without being able to test it and without confirmation.
Ugly solution though
If you think of another solution, you are very welcome to express it in a constructive way.
EDIT: It seems impossible to upload files presently on Trac, so that the patch will be uploaded later.
comment:9 Changed 12 years ago by obmalcioglu@…
Dear Nicos, After re-reading what I've written, I have the sensation that it might be easily misunderstood, and I would like to clear some things. I am grateful for the voluntary work everyone is putting on this, and I'm more than happy to receive any support or suggestions to fix the problem. I am feeling antiquated still preferring a case sensitive filesystem. The solution is ugly, since I've edited many files, and they were erased after the compilation. If I knew how, I would've preferred contributing a patch to the community. Instead of formatting your hd, maybe you might consider creating a file sensitive dmg container using disk utility. Then symlink to whereever. This is the (opposite) of the solution I do for programs that demand case insensitive areas for storage.
I've compiled krusader in the end, but it is not working for some reason. I'll look into it later.
Have a nice day and please keep on the excellent work.
Replying to nicos@…:
Since I was not intending to wipe my whole system and reformat my hard drive to test the issue, I was hoping to get a feedback in order to know if this was indeed the problem. I would like to remind you that case-sensitive formatting is not the default on Mac.
I thus assume that a patch as attached would correspond to the fix. I would however be reluctant to commit it without being able to test it and without confirmation.
Ugly solution though
If you think of another solution, you are very welcome to express it in a constructive way.
EDIT: It seems impossible to upload files presently on Trac, so that the patch will be uploaded later.
comment:10 Changed 12 years ago by NicosPavlov
Summary: | kde4-runtime does not compile → kde4-runtime does not compile on case-sensitive filesystems |
---|
It is slightly frustrating, but I do not seem able to upload the patch on the ticket...
For the issue and for next times, another workaround may be to employ the archives, as it seems to be only at compilation. I worked recently to make most kde ports distributable, so that it should not be necessary to build kde4-runtime whose binary should be distributable.
Another point which strikes me is that this problem did not pop up on other systems, as I could not find any other bug reports, even though *nix systems should be case sensitive, while kde is primarily made for them. I will need to check the latest versions first, but I will probably report it upstream if this is not fixed.
comment:11 Changed 12 years ago by NicosPavlov
As the includes stayed identical in the new major version 4.10, the issue was reported upstream in https://bugs.kde.org/show_bug.cgi?id=315318.
comment:12 follow-ups: 13 17 19 Changed 12 years ago by NicosPavlov
Resolution: | → invalid |
---|---|
Status: | new → closed |
I tested on a case-sensitive filesystem, and could confirm that compilation works fine, with proper installation of the include files of nepomuk-core in nepomuk2 and Nepomuk2 directories.
I think that in the particular case reported here, nepomuk-core has been installed from a pre-built binary, while the buildbots are case-insensitive (default on Mac). This implies the mixup of Nepomuk2 and nepomuk2 directories. Then, building kde4-runtime on a case-sensitive machine breaks. Using purely pre-built binaries or purely builds from source should however work.
It may not be in general advisable to install from pre-built package on a case-sensitive filesystem, as these come from case-insensitive machines. Nevertheless, I think that's the mixup which broke compilation.
comment:13 follow-up: 14 Changed 12 years ago by cooljeanius (Eric Gallager)
Replying to nicos@…:
I tested on a case-sensitive filesystem, and could confirm that compilation works fine, with proper installation of the include files of nepomuk-core in nepomuk2 and Nepomuk2 directories.
I think that in the particular case reported here, nepomuk-core has been installed from a pre-built binary, while the buildbots are case-insensitive (default on Mac). This implies the mixup of Nepomuk2 and nepomuk2 directories. Then, building kde4-runtime on a case-sensitive machine breaks. Using purely pre-built binaries or purely builds from source should however work.
It may not be in general advisable to install from pre-built package on a case-sensitive filesystem, as these come from case-insensitive machines. Nevertheless, I think that's the mixup which broke compilation.
Shouldn't there at least be some sort of warning message or something that comes with kde4-runtime that lets users know this?
comment:14 follow-up: 15 Changed 12 years ago by NicosPavlov
Replying to egall@…:
Shouldn't there at least be some sort of warning message or something that comes with kde4-runtime that lets users know this?
I am not sure about this. First, the issue reported here is only a symptom, while the cause comes from nepomuk-core. Second, this situation is outdated, because it happened as nepomuk-core got installed by a pre-built archive and kde4-runtime from source. Both are now distributable. This type of issues could also happen with other ports which depend on nepomuk-core, specially if variants are involved.
The real answer in my point of view would be to disable pre-built archives on a case-sensitive filesystem, as the archives in the buildbot are built from another filesystem. This can be done by editing the archive_sites.conf file by commenting out the two lines
#name macports_archives #urls
comment:15 Changed 12 years ago by larryv (Lawrence Velázquez)
Replying to nicos@…:
The real answer in my point of view would be to disable pre-built archives on a case-sensitive filesystem, as the archives in the buildbot are built from another filesystem. This can be done by editing the archive_sites.conf file by commenting out the two lines
#name macports_archives #urls
Maybe base can be changed to default to disabling archives if installed on a case-sensitive filesystem?
comment:16 Changed 12 years ago by jmroot (Joshua Root)
If the case is specified consistently everywhere, everything should just work (except where there are actually multiple files whose paths differ only in case). The default case-insensitive filesystem is still case-preserving.
comment:17 follow-up: 18 Changed 12 years ago by obmalcioglu@…
Replying to nicos@…:
I might be misunderstanding, but for the record, let me state the problem again.
In a fresh install of MacOsX 10.8.2 + Xcode I download Macports and type port install krusader.
then I have this error. I have not done any choice or any modification that might choose pre-built binaries for me.
so I still think that this is a relevant bug, since the command "port install krusader" or " port install kde4-runtime" does not have the desired effect even after cleaning. Regardless what the underlying reason might be.
comment:18 Changed 12 years ago by larryv (Lawrence Velázquez)
Replying to obmalcioglu@…:
I have not done any choice or any modification that might choose pre-built binaries for me.
You don’t have to. On OS X 10.6–10.8 x86_64, MacPorts uses binary archives if they are available, unless you use the -s
option while installing.
comment:19 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | ryandesign@… added |
---|
Replying to nicos@…:
I think that in the particular case reported here, nepomuk-core has been installed from a pre-built binary, while the buildbots are case-insensitive (default on Mac).
The buildslaves use case-sensitive filesystems.
Error log