Re: Cannot build glib2
HI Josh; Thank you! I am now exclusively arm64 :-) Ken On Sun, May 28, 2023 at 5:05 PM Joshua Root wrote: > > Hi Ken, > > Your can see the architecture(s) each port is built for with 'port -v > installed'. The ones of concern on an Apple Silicon system will have > archs='x86_64'. > > - Josh > > On 29/5/2023 09:55, Kenneth Wolcott wrote: > > HI Josh; > > > >Is it possible to find out what ports that I have installed that > > would fail to upgrade due to not supporting the M1 chip? If, so what > > command would I issue so that I could determine the risk involved of > > doing that massive upgrade operation? > > > > Thanks, > > Ken Wolcott > > > > On Sun, May 28, 2023 at 4:30 PM Joshua Root wrote: > >> > >> On Mon, 24 Apr 2023, Dave Horsfall wrote: > >> > >>> [ Disabling "+universal" ] > >>> > >>> Yes, that seems to be it; thanks. Now, is there a way to globally > >>> disable "universal" without cleaning every port and rebuilding with > >>> "-universal"? > >> > >> You don't have to rebuild everything, but there's no getting around > >> reinstalling all the ports that currently have +universal, if you want > >> them to not be universal. They may or may not have to be built depending > >> on binary availability. The command to do that would be: > >> > >> sudo port upgrade --enforce-variants installed -universal > >> > >> If you want to disable universal altogether in your MacPorts installation, > >> set universal_archs to an empty value in macports.conf. Note that this > >> will make it impossible to install some ports that don't support your > >> configured build_arch. > >> > >> - Josh > >> >
Re: Cannot build glib2
Hi Ken, Your can see the architecture(s) each port is built for with 'port -v installed'. The ones of concern on an Apple Silicon system will have archs='x86_64'. - Josh On 29/5/2023 09:55, Kenneth Wolcott wrote: HI Josh; Is it possible to find out what ports that I have installed that would fail to upgrade due to not supporting the M1 chip? If, so what command would I issue so that I could determine the risk involved of doing that massive upgrade operation? Thanks, Ken Wolcott On Sun, May 28, 2023 at 4:30 PM Joshua Root wrote: On Mon, 24 Apr 2023, Dave Horsfall wrote: [ Disabling "+universal" ] Yes, that seems to be it; thanks. Now, is there a way to globally disable "universal" without cleaning every port and rebuilding with "-universal"? You don't have to rebuild everything, but there's no getting around reinstalling all the ports that currently have +universal, if you want them to not be universal. They may or may not have to be built depending on binary availability. The command to do that would be: sudo port upgrade --enforce-variants installed -universal If you want to disable universal altogether in your MacPorts installation, set universal_archs to an empty value in macports.conf. Note that this will make it impossible to install some ports that don't support your configured build_arch. - Josh
Re: Cannot build glib2
HI Josh; Is it possible to find out what ports that I have installed that would fail to upgrade due to not supporting the M1 chip? If, so what command would I issue so that I could determine the risk involved of doing that massive upgrade operation? Thanks, Ken Wolcott On Sun, May 28, 2023 at 4:30 PM Joshua Root wrote: > > On Mon, 24 Apr 2023, Dave Horsfall wrote: > > > [ Disabling "+universal" ] > > > > Yes, that seems to be it; thanks. Now, is there a way to globally > > disable "universal" without cleaning every port and rebuilding with > > "-universal"? > > You don't have to rebuild everything, but there's no getting around > reinstalling all the ports that currently have +universal, if you want them > to not be universal. They may or may not have to be built depending on binary > availability. The command to do that would be: > > sudo port upgrade --enforce-variants installed -universal > > If you want to disable universal altogether in your MacPorts installation, > set universal_archs to an empty value in macports.conf. Note that this will > make it impossible to install some ports that don't support your configured > build_arch. > > - Josh >
Re: Cannot build glib2
On Mon, 24 Apr 2023, Dave Horsfall wrote: [ Disabling "+universal" ] Yes, that seems to be it; thanks. Now, is there a way to globally disable "universal" without cleaning every port and rebuilding with "-universal"? You don't have to rebuild everything, but there's no getting around reinstalling all the ports that currently have +universal, if you want them to not be universal. They may or may not have to be built depending on binary availability. The command to do that would be: sudo port upgrade --enforce-variants installed -universal If you want to disable universal altogether in your MacPorts installation, set universal_archs to an empty value in macports.conf. Note that this will make it impossible to install some ports that don't support your configured build_arch. - Josh
Re: Cannot build glib2
On Mon, 24 Apr 2023, Dave Horsfall wrote: > [ Disabling "+universal" ] > > Yes, that seems to be it; thanks. Now, is there a way to globally > disable "universal" without cleaning every port and rebuilding with > "-universal"? Anyone? -- Dave
Re: Cannot build glib2
On Sun, 16 Apr 2023, Richard L. Hamilton wrote: > That may mean you tried to install glib2 with +universal but did not > previously install dbus with +universal. Or something like that which > has similar results. [...] Yes, that seems to be it; thanks. Now, is there a way to globally disable "universal" without cleaning every port and rebuilding with "-universal"? -- Dave
Re: Cannot build glib2
FYI I have had good luck with opencore legacy patcher on several machines. A macbookpro 9,2 can run the current Ventura, for example, very nicely (upgraded to 16GB Ram). Some machines don't fare as well -- a macbookpro 9,1 I tried to upgrade struggles. K On 2023-04-18, at 11:17 AM, Eldrid Rensburg wrote: > Some "modern" builds can't build on older MBP arch. I have a similar MBP with > HS - where e.g. homebrew requires a newer XCode that in turn requires a newer > macOS (with newer hardware - Apple's money-making tactics will continue with > the newer MBPs). My work client projects required a newer setup - but I still > keep the old MBP HS as a workhorse for other stuff. > > On Sun, 16 Apr 2023, 22:59 Dave Horsfall, wrote: > Early MacBook Pro (13", mid 2010), High Sierra 10.13.6 (as far as it will > go). > > When doing my weekly port upgrade, it bombs out with: > > ---> Building glib2 > Error: Failed to build glib2: command execution failed > Error: See > /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_glib2/glib2/main.log > for details. > > I see a lot of warnings in main.log such as: > > :info:build ld: warning: The i386 architecture is deprecated for macOS > (remove from the Xcode build setting: ARCHS) > > Is this some insidious attempt by Cupertino to force me to buy an M series? > > Compressed main.log attached. > > -- Dave
Re: Cannot build glib2
Some "modern" builds can't build on older MBP arch. I have a similar MBP with HS - where e.g. homebrew requires a newer XCode that in turn requires a newer macOS (with newer hardware - Apple's money-making tactics will continue with the newer MBPs). My work client projects required a newer setup - but I still keep the old MBP HS as a workhorse for other stuff. On Sun, 16 Apr 2023, 22:59 Dave Horsfall, wrote: > Early MacBook Pro (13", mid 2010), High Sierra 10.13.6 (as far as it will > go). > > When doing my weekly port upgrade, it bombs out with: > > ---> Building glib2 > Error: Failed to build glib2: command execution failed > Error: See > /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_glib2/glib2/main.log > for details. > > I see a lot of warnings in main.log such as: > > :info:build ld: warning: The i386 architecture is deprecated for macOS > (remove from the Xcode build setting: ARCHS) > > Is this some insidious attempt by Cupertino to force me to buy an M series? > > Compressed main.log attached. > > -- Dave
Re: Cannot build glib2
if glib2 now links against dbus (and it seems at least one test does) then dbus will need to be added to the build deps of glib2 so that macports can work out the architecture matching needed to prevent this. I can't see any indication that any of the installed glib2 files link against dbus, so it doesn't need to be a library dependency for glib2. K (PS - or alternatively tests can be disabled by default, and dbus added to the test deps, if someone wants that instead for purity. Makes things more complicated somewhat, but also more precise and pure in arch management). > On Apr 16, 2023, at 4:26 PM, Richard L. Hamilton wrote: > >> >> Early MacBook Pro (13", mid 2010), High Sierra 10.13.6 (as far as it will >> go). >> >> When doing my weekly port upgrade, it bombs out with: >> >>---> Building glib2 >>Error: Failed to build glib2: command execution failed >>Error: See >> /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_glib2/glib2/main.log >> for details. >> >> I see a lot of warnings in main.log such as: >> >>:info:build ld: warning: The i386 architecture is deprecated for macOS >> (remove from the Xcode build setting: ARCHS) >> >> Is this some insidious attempt by Cupertino to force me to buy an M series? > > Not insidious, Apple doesn't even know about it, and warnings are not errors > (although they may be treated as errors if the creator of the build procedure > - not necessarily the port maintainer - chooses to). > > A library, almost certainly libdbus-1 (provided by the dbus port) does not > support i386 (32-bit) but only x86_64 (64-bit). I verified that with > > sh-3.2$ nm /opt/local/lib/libdbus-1.dylib|grep _dbus_message_set_path > 0001483c T _dbus_message_set_path > > (hex may vary, but " T " should be there indicating the symbol is a defined > text (function name, usually) symbol) > > That may mean you tried to install glib2 with +universal but did not > previously install dbus with +universal. Or something like that which has > similar results. > > Pretty sure that dbus CAN be installed universal, because I have it that way > on my Snow Leopard VM. Apparently I gave up on installing ports with > +universal as too much bother on Mojave even though it's the last OS that > supports i386, and of course I don't have i386 or universal builds on later > OSs that don't support that. (I don't have anything running High Sierra, so > that's as close as I can get to your situation) > > Building dbus +universal will likely require that every port it depends on > (at least at runtime) is also built +universal, and it depends on quite a few > ports. No guarantee that one of them won't be a show-stopper for some reason > or other (although since I had it built on that Snow Leopard VM, it should > likely be possible, if very slow). > > You really have to look more closely at the log, look for the first line > (other than the fetching of the downloads, which can fail on some locations > before succeeding on one of them, i.e. http 404 errors don't count) that has > the word "error" (case insensitive and followed by a colon to exclude > mentions of error handing routines and limit it to error messages). And then > look back a bit from there to see what failed. > > In your case (with the "error:" in question and the prior reference to > -ldbus-1 highlighted in red): > > :info:build [827/1188] /usr/bin/clang -o gio/tests/gdbus-serialization > gio/tests/gdbus-serialization.p/gdbus-serialization.c.o > gio/tests/gdbus-serialization.p/gdbus-tests.c.o -L/opt/local/lib > -I/opt/local/include -Wl,-dead_strip_dylibs -Wl,-headerpad_max_install_names > -Wl,-undefined,error -Wl,-headerpad_max_install_names -lresolv -bind_at_load > -arch i386 -pipe -Os -Wno-deprecated-declarations -arch i386 > -Wl,-rpath,@loader_path/../../glib -Wl,-rpath,@loader_path/../../gmodule > -Wl,-rpath,@loader_path/../../gobject -Wl,-rpath,@loader_path/.. > -Wl,-rpath,/opt/local/lib glib/libglib-2.0.0.dylib > gmodule/libgmodule-2.0.0.dylib gobject/libgobject-2.0.0.dylib > gio/libgio-2.0.0.dylib -lintl -L/opt/local/lib -ldbus-1 > :info:build FAILED: gio/tests/gdbus-serialization > :info:build /usr/bin/clang -o gio/tests/gdbus-serialization > gio/tests/gdbus-serialization.p/gdbus-serialization.c.o > gio/tests/gdbus-serialization.p/gdbus-tests.c.o -L/opt/local/lib > -I/opt/local/include -Wl,-dead_strip_dylibs -Wl,-headerpad_max_install_names > -Wl,-undefined,error -Wl,-headerpad_max_install_names -lresolv -bind_at_load > -arch i386 -pipe -Os -Wno-deprecated-declarations -arch i386 > -Wl,-rpath,@loader_path/../../glib -Wl,-rpath,@loader_path/../../gmodule > -Wl,-rpath,@loader_path/../../gobject -Wl,-rpath,@loader_path/.. > -Wl,-rpath,/opt/local/lib glib/libglib-2.0.0.dylib > gmodule/libgmodule-2.0.0.dylib gobject/libgobject-2.0.0.dylib >
Re: Cannot build glib2
> Early MacBook Pro (13", mid 2010), High Sierra 10.13.6 (as far as it will > go). > > When doing my weekly port upgrade, it bombs out with: > >---> Building glib2 >Error: Failed to build glib2: command execution failed >Error: See > /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_glib2/glib2/main.log > for details. > > I see a lot of warnings in main.log such as: > >:info:build ld: warning: The i386 architecture is deprecated for macOS > (remove from the Xcode build setting: ARCHS) > > Is this some insidious attempt by Cupertino to force me to buy an M series? Not insidious, Apple doesn't even know about it, and warnings are not errors (although they may be treated as errors if the creator of the build procedure - not necessarily the port maintainer - chooses to). A library, almost certainly libdbus-1 (provided by the dbus port) does not support i386 (32-bit) but only x86_64 (64-bit). I verified that with sh-3.2$ nm /opt/local/lib/libdbus-1.dylib|grep _dbus_message_set_path 0001483c T _dbus_message_set_path (hex may vary, but " T " should be there indicating the symbol is a defined text (function name, usually) symbol) That may mean you tried to install glib2 with +universal but did not previously install dbus with +universal. Or something like that which has similar results. Pretty sure that dbus CAN be installed universal, because I have it that way on my Snow Leopard VM. Apparently I gave up on installing ports with +universal as too much bother on Mojave even though it's the last OS that supports i386, and of course I don't have i386 or universal builds on later OSs that don't support that. (I don't have anything running High Sierra, so that's as close as I can get to your situation) Building dbus +universal will likely require that every port it depends on (at least at runtime) is also built +universal, and it depends on quite a few ports. No guarantee that one of them won't be a show-stopper for some reason or other (although since I had it built on that Snow Leopard VM, it should likely be possible, if very slow). You really have to look more closely at the log, look for the first line (other than the fetching of the downloads, which can fail on some locations before succeeding on one of them, i.e. http 404 errors don't count) that has the word "error" (case insensitive and followed by a colon to exclude mentions of error handing routines and limit it to error messages). And then look back a bit from there to see what failed. In your case (with the "error:" in question and the prior reference to -ldbus-1 highlighted in red): :info:build [827/1188] /usr/bin/clang -o gio/tests/gdbus-serialization gio/tests/gdbus-serialization.p/gdbus-serialization.c.o gio/tests/gdbus-serialization.p/gdbus-tests.c.o -L/opt/local/lib -I/opt/local/include -Wl,-dead_strip_dylibs -Wl,-headerpad_max_install_names -Wl,-undefined,error -Wl,-headerpad_max_install_names -lresolv -bind_at_load -arch i386 -pipe -Os -Wno-deprecated-declarations -arch i386 -Wl,-rpath,@loader_path/../../glib -Wl,-rpath,@loader_path/../../gmodule -Wl,-rpath,@loader_path/../../gobject -Wl,-rpath,@loader_path/.. -Wl,-rpath,/opt/local/lib glib/libglib-2.0.0.dylib gmodule/libgmodule-2.0.0.dylib gobject/libgobject-2.0.0.dylib gio/libgio-2.0.0.dylib -lintl -L/opt/local/lib -ldbus-1 :info:build FAILED: gio/tests/gdbus-serialization :info:build /usr/bin/clang -o gio/tests/gdbus-serialization gio/tests/gdbus-serialization.p/gdbus-serialization.c.o gio/tests/gdbus-serialization.p/gdbus-tests.c.o -L/opt/local/lib -I/opt/local/include -Wl,-dead_strip_dylibs -Wl,-headerpad_max_install_names -Wl,-undefined,error -Wl,-headerpad_max_install_names -lresolv -bind_at_load -arch i386 -pipe -Os -Wno-deprecated-declarations -arch i386 -Wl,-rpath,@loader_path/../../glib -Wl,-rpath,@loader_path/../../gmodule -Wl,-rpath,@loader_path/../../gobject -Wl,-rpath,@loader_path/.. -Wl,-rpath,/opt/local/lib glib/libglib-2.0.0.dylib gmodule/libgmodule-2.0.0.dylib gobject/libgobject-2.0.0.dylib gio/libgio-2.0.0.dylib -lintl -L/opt/local/lib -ldbus-1 :info:build ld: warning: The i386 architecture is deprecated for macOS (remove from the Xcode build setting: ARCHS) :info:build ld: warning: ignoring file /opt/local/lib/libdbus-1.dylib, file was built for x86_64 which is not the architecture being linked (i386): /opt/local/lib/libdbus-1.dylib :info:build Undefined symbols for architecture i386: :info:build "_dbus_error_free", referenced from: :info:build _get_and_check_serialization in gdbus-serialization.c.o [many more undefined symbols omitted here] :info:build ld: symbol(s) not found for architecture i386 :info:build clang: error: linker command failed with exit code 1 (use -v to see invocation) :info:build [828/1188] /usr/bin/clang -Igio/tests/gdbus-server-auth.p -Igio/tests
Cannot build glib2
Early MacBook Pro (13", mid 2010), High Sierra 10.13.6 (as far as it will go). When doing my weekly port upgrade, it bombs out with: ---> Building glib2 Error: Failed to build glib2: command execution failed Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_glib2/glib2/main.log for details. I see a lot of warnings in main.log such as: :info:build ld: warning: The i386 architecture is deprecated for macOS (remove from the Xcode build setting: ARCHS) Is this some insidious attempt by Cupertino to force me to buy an M series? Compressed main.log attached. -- Dave main.log.gz Description: main.log.gz