Opened 18 months ago
Last modified 4 weeks ago
#67509 assigned defect
Building lame on Tiger fails as the SDK name is incorrect
Reported by: | RealKGB (WhitetailAni) | Owned by: | barracuda156 |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.8.1 |
Keywords: | tiger | Cc: | paulpall (Paul Johannes Aru) |
Port: | lame |
Description (last modified by ryandesign (Ryan Carsten Schmidt))
I am attempting to install ffmpeg on my iMac G5 running OS X 10.4.11. One of the required dependencies is lame, but when trying to build, it produces the log attached below.
When looking in the log and looking up the errors, the reoccurring one is expected '=', ',', ';', 'asm' or '__attribute__' before 'size_t'
- which means this is C++ code, that a C compiler is trying to compile. I've attached the log if that helps at all.
Attachments (1)
Change History (16)
Changed 18 months ago by RealKGB (WhitetailAni)
comment:1 follow-up: 7 Changed 18 months ago by kencu (Ken)
the problem is this recent commit is wrong for Tiger:
[ad0b70302b368b8da1342fd586db04ffce1f6fe5/macports-ports]
In Tiger, the SDK name is different than all other systems…. there is a “u” in it.
The commit needs to be rejigged to account for this.
comment:2 Changed 18 months ago by kencu (Ken)
Keywords: | Tiger added |
---|---|
Owner: | set to barracuda156 |
Status: | new → assigned |
Summary: | Building lame on OS X 10.4.11 on an iMac G5 fails; it seems to be attempting to build C++ code with a C compiler → Building lame on Tiger fails as the SDK name is incorrect |
comment:3 follow-up: 6 Changed 18 months ago by kencu (Ken)
also not all ppc systems support altivec, so that should be fixed too
comment:4 Changed 18 months ago by ryandesign (Ryan Carsten Schmidt)
Description: | modified (diff) |
---|---|
Keywords: | tiger added; Tiger removed |
I wonder why that commit is setting the SDK path manually. Doesn't MacPorts already set it?
comment:5 follow-up: 12 Changed 18 months ago by kencu (Ken)
Yes, I believe ${configure.sdkroot}
would be set to the proper path by base.
comment:6 follow-up: 9 Changed 18 months ago by barracuda156
Replying to kencu:
also not all ppc systems support altivec, so that should be fixed too
Should we disable optimizations for Tiger or how to handle it correctly?
comment:7 follow-up: 8 Changed 18 months ago by barracuda156
Replying to kencu:
In Tiger, the SDK name is different than all other systems…. there is a “u” in it.
The commit needs to be rejigged to account for this.
I know that, but I thought macosx_sdk_version
already picks the correct name.
comment:8 Changed 18 months ago by kencu (Ken)
Replying to barracuda156:
Replying to kencu:
In Tiger, the SDK name is different than all other systems…. there is a “u” in it.
The commit needs to be rejigged to account for this.
I know that, but I thought
macosx_sdk_version
already picks the correct name.
see:
https://github.com/search?q=repo%3Amacports%2Fmacports-base%20macosx_sdk_version&type=code
and
https://github.com/search?q=repo%3Amacports%2Fmacports-base+configure_get_sdkroot&type=code
comment:9 follow-up: 10 Changed 18 months ago by kencu (Ken)
Replying to barracuda156:
Replying to kencu:
also not all ppc systems support altivec, so that should be fixed too
Should we disable optimizations for Tiger or how to handle it correctly?
disabling altivec on Tiger is the easy way out, but then is not quite right for Tiger systems that do have altivec…
testing for altivec during the build and enabling it if present is kinda better, but then breaks the prebuilt binaries from the buildbots if the buildbot supports altivec but the user does not.
testing for altivec during the build and enabling it if present, and also disabling prebuilt binaries for the port, works, but people will complain about no prebuilt binaries someday perhaps. As we will probably never have a Tiger builbot anyway, this is what we usually do.
building it both with and without altivec and determining “on the fly” if the machine can use altivec is really the way to go, but almost nobody knows how to properly do that :)
comment:10 Changed 18 months ago by barracuda156
Replying to kencu:
Replying to barracuda156:
Replying to kencu:
also not all ppc systems support altivec, so that should be fixed too
Should we disable optimizations for Tiger or how to handle it correctly?
disabling altivec on Tiger is the easy way out, but then is not quite right for Tiger systems that do have altivec…
testing for altivec during the build and enabling it if present is kinda better, but then breaks the prebuilt binaries from the buildbots if the buildbot supports altivec but the user does not.
testing for altivec during the build and enabling it if present, and also disabling prebuilt binaries for the port, works, but people will complain about no prebuilt binaries someday perhaps. As we will probably never have a Tiger builbot anyway, this is what we usually do.
building it both with and without altivec and determining “on the fly” if the machine can use altivec is really the way to go, but almost nobody knows how to properly do that :)
For 10.5, we can assume that no one gonna install it on a G3?
comment:11 Changed 18 months ago by RealKGB (WhitetailAni)
Work began on running 10.5 on G3's but it was never completed. I think one partially functional build was able to run but I would not assume anyone doing that expects MacPorts support
comment:12 Changed 11 months ago by barracuda156
Replying to kencu:
Yes, I believe
${configure.sdkroot}
would be set to the proper path by base.
Apparently ${configure.sysroot}
works fine.
comment:13 Changed 11 months ago by kencu (Ken)
Yes, that is a newer thing Josh added to macports, that is set to ${configure.sdkroot} or to “/“ if $configure.sdkroot} is empty.
We had been asking for base to set $configure.sdkroot} to “/“ if it was empty, but he felt that was incorrect and so came up with a new replacement token everyone should use instead.
So probably most portfiles should be using that instead of ${configure.sdkroot} now, and removing the code that sets ${configure.sdkroot} to “/“ manually seen everywhere in the ports tree.
It just takes a long time (years) for that to filter down through the ports tree as nobody wants to break things that are already working.
comment:14 Changed 11 months ago by barracuda156
Well, I can add a fix for this port, at least someone tried to install it on 10.4 :)
comment:15 Changed 4 weeks ago by paulpall (Paul Johannes Aru)
Cc: | paulpall added |
---|
Log that occurs when building lame