New Ticket     Tickets     Wiki     Browse Source     Timeline     Roadmap     Ticket Reports     Search

Ticket #34823 (new defect)

Opened 12 months ago

Last modified 10 months ago

cdrtools: missing isoinfo, mkhybrid, and mkisofs

Reported by: ryandesign@… Owned by: bytestorm@…
Priority: Normal Milestone:
Component: ports Version: 2.1.1
Keywords: Cc: smogus@…, mparchet@…, jsd_macports@…, Anders.Montonen@…, daryll.strauss@…, myk@…
Port: cdrtools

Description

Gill Bates and Michael Parchet reported on the mailing list that the cdrtools port does not install mkisofs. Gill's report implies that cdrtools fails to build, but Michael's report says cdrtools successfully built and installed, but that isoinfo, mkhybrid and mkisofs did not end up getting installed. I'll attach the log file Michael emailed me, which shows the build complaining about missing libintl and libiconv symbols when making these programs:

:info:build 	==> LINKING "OBJ/i386-darwin-cc/mkisofs"
:info:build Undefined symbols for architecture x86_64:
:info:build   "_libintl_setlocale", referenced from:
:info:build       _main in mkisofs.o
:info:build   "_libiconv", referenced from:
:info:build       _conv_charset in joliet.o
:info:build       _convert_to_unicode in joliet.o
:info:build       _joliet_strlen in joliet.o
:info:build   "_libiconv_open", referenced from:
:info:build       _sic_open in libsiconv.a(sic_nls.o)
:info:build       _create_iconv_sic in libsiconv.a(sic_nls.o)
:info:build   "_libiconv_close", referenced from:
:info:build       _sic_open in libsiconv.a(sic_nls.o)
:info:build       _sic_close in libsiconv.a(sic_nls.o)
:info:build       _create_iconv_sic in libsiconv.a(sic_nls.o)
:info:build   "_libintl_gettext", referenced from:
:info:build       __nexttoken in libfind.a(find.o)
:info:build       _find_expr in libfind.a(find.o)
:info:build       _doexec in libfind.a(find.o)
:info:build       _find_usage in libfind.a(find.o)
:info:build       _parseprim in libfind.a(find.o)
:info:build       _nextarg in libfind.a(find.o)
:info:build       _walkgethome in libfind.a(walk.o)
:info:build       ...
:info:build ld: symbol(s) not found for architecture x86_64
:info:build clang: error: linker command failed with exit code 1 (use -v to see invocation)

Those are the same errors Gill showed. Gill was using Xcode 4.3.2; Michael did not specify an Xcode version but the log shows the port being built using clang. The problem seems to be that the argument "-L/opt/local/lib" is never being passed to the compiler, so it doesn't know where to find libintl and libiconv. gcc, llvm-gcc-4.2 (?) and clang versions newer than 3.1 (?) obey the LIBRARY_PATH environment variable MacPorts sets and thus are able to find the libraries even without the -L argument. However the versions of clang available in Xcode versions up to at least 4.3.2 seem not to obey that variable and thus we will need to patch the build process to insert the -L argument. Also we should fix the port so that if files don't get built, it should not proceed to install.

Attachments

main.log.bz2 (21.5 KB) - added by ryandesign@… 12 months ago.
Michael's log
main.log (232.7 KB) - added by mparchet@… 12 months ago.
cdrtools Erroroutput.txt (802 bytes) - added by mparchet@… 12 months ago.
Portfile (2.8 KB) - added by jsd_macports@… 11 months ago.
Portfile with override to force -L/opt/local/lib on compiler command line

Change History

Changed 12 months ago by ryandesign@…

Michael's log

comment:1 Changed 12 months ago by mparchet@…

Hello,

My Xcode version is Version 4.3.2 (4E2002)

Best regards

mparchet

comment:2 in reply to: ↑ description Changed 12 months ago by ryandesign@…

Replying to ryandesign@…:

we should fix the port so that if files don't get built, it should not proceed to install.

r94199

Changed 12 months ago by mparchet@…

Changed 12 months ago by mparchet@…

comment:3 follow-up: ↓ 4 Changed 12 months ago by mparchet@…

Hello,

I have tried to update all ports and then rebuild cdrtools but itisn't works

Can you help me please ?

Best regards

mparchet

comment:4 in reply to: ↑ 3 ; follow-up: ↓ 5 Changed 12 months ago by ryandesign@…

Replying to mparchet@…:

I have tried to update all ports and then rebuild cdrtools but itisn't works

We haven't fixed the problem yet. When we do, this ticket will be marked as fixed.

If anyone knows how to fix the problem (how to insert "-L/opt/local/lib" into the build process, or another solution for the problem), please mention it here.

comment:5 in reply to: ↑ 4 Changed 11 months ago by jsd_macports@…

Replying to ryandesign@…:

I have tried to update all ports and then rebuild cdrtools but itisn't works

If anyone knows how to fix the problem (how to insert "-L/opt/local/lib" into the build process, or another solution for the problem), please mention it here.

I had the same problem. Adding this line to the Portfile

build.args-append  LDPATH=-L/opt/local/lib

after the build.args line worked for me.

comment:6 follow-up: ↓ 10 Changed 11 months ago by mparchet@…

Hello,

Can you attache your treated post file to this ticket ?

Tanks by advanced

Best regards

mparchet

Changed 11 months ago by jsd_macports@…

Portfile with override to force -L/opt/local/lib on compiler command line

comment:7 Changed 11 months ago by jsd_macports@…

  • Cc jsd_macports@… added

Cc Me!

comment:8 Changed 11 months ago by Anders.Montonen@…

  • Cc Anders.Montonen@… added

Cc Me!

comment:9 Changed 10 months ago by daryll.strauss@…

  • Cc daryll.strauss@… added

Cc Me!

comment:10 in reply to: ↑ 6 ; follow-ups: ↓ 11 ↓ 12 Changed 10 months ago by myk@…

Replying to mparchet@…:

Hello,

Can you attache your treated post file to this ticket ?

Tanks by advanced

Best regards

mparchet

I tried jsd_macports' Portfile but it didn't seem to work. Is there a way to echo something to the log so I can be sure port is picking up the correct Portfile?

myk

comment:11 in reply to: ↑ 10 Changed 10 months ago by jsd_macports@…

Replying to myk@…:

Is there a way to echo something to the log so I can be sure port is picking up the correct Portfile?

port file cdrtools

shows the full path of the port file that will be used for the cdrtools port. If that's the file you edited/replaced, and it's still failing, then it must be failing for another reason.

comment:12 in reply to: ↑ 10 ; follow-up: ↓ 13 Changed 10 months ago by ryandesign@…

  • Cc myk@… added

Replying to myk@…:

I tried jsd_macports' Portfile but it didn't seem to work. Is there a way to echo something to the log so I can be sure port is picking up the correct Portfile?

Are you on Mountain Lion? jsd_macports' portfile does not include a Mountain Lion-specific fix that was subsequently made to the port.

comment:13 in reply to: ↑ 12 Changed 10 months ago by myk@…

Replying to ryandesign@…:

Replying to myk@…:

I tried jsd_macports' Portfile but it didn't seem to work. Is there a way to echo something to the log so I can be sure port is picking up the correct Portfile?

Are you on Mountain Lion? jsd_macports' portfile does not include a Mountain Lion-specific fix that was subsequently made to the port.

No, I have two machines on Lion, both have the same problem.

myk

Note: See TracTickets for help on using tickets.